Hi Wei,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Wednesday, June 13, 2018 4:12 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; sta...@dpdk.org; Zhao1, Wei
> <wei.zh...@intel.com>
> Subject: [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
> 
> Tunnel type format should be translated to ixgbe required format before
> register set in FDIR cloud mode, Ans also some register not useful in cloud
> mode but only useful in IP mode should be set to zero as datasheet request.
> 
> Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zh...@intel.com>
> ---
> 
> v2:
> -change register write function for FDIRIPSA and FDIRIPDA.
> 
> ---
>  drivers/net/ixgbe/ixgbe_fdir.c | 17 +++++++++++++----
> drivers/net/ixgbe/ixgbe_flow.c |  6 ++----
>  2 files changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
> index 67ab627..3feb815 100644
> --- a/drivers/net/ixgbe/ixgbe_fdir.c
> +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> @@ -771,8 +771,15 @@ ixgbe_fdir_filter_to_atr_input(const struct
> rte_eth_fdir_filter *fdir_filter,
>                       input->formatted.inner_mac,
>                       fdir_filter-
> >input.flow.tunnel_flow.mac_addr.addr_bytes,
>                       sizeof(input->formatted.inner_mac));
> -             input->formatted.tunnel_type =
> -                     fdir_filter->input.flow.tunnel_flow.tunnel_type;
> +             if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
> +                             RTE_FDIR_TUNNEL_TYPE_VXLAN)
> +                     input->formatted.tunnel_type = 0x8000;
> +             else if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
> +                             RTE_FDIR_TUNNEL_TYPE_NVGRE)
> +                     input->formatted.tunnel_type = 0;
Better use macros for 0x8000 and 0. And add comments why these values are used.

Reply via email to