Acked-by: Jeff Guo <jia....@intel.com>

> -----Original Message-----
> From: dapengx...@intel.com <dapengx...@intel.com>
> Sent: Tuesday, January 26, 2021 11:03 AM
> To: Guo, Jia <jia....@intel.com>; Wang, Haiyue <haiyue.w...@intel.com>;
> Yang, Qiming <qiming.y...@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx...@intel.com>; sta...@dpdk.org
> Subject: [PATCH v3] net/ixgbe: disable NFS filtering
> 
> From: Dapeng Yu <dapengx...@intel.com>
> 
> Disable NFS header filtering whether NFS packets coalescing are required or
> not, in order to make RSS can work on NFS packets.
> 
> The code without the patch does follow datasheet, but not consistent with
> the ixgbe kernel driver. It causes NFS packets to be filtered and make them
> flow into queue 0, before RSS can work on them.
> 
> Fixes: b826efba6de4 ("net/ixgbe: align register setting when RSC is disabled")
> Fixes: 8eecb3295aed ("ixgbe: add LRO support")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Dapeng Yu <dapengx...@intel.com>
> ---
>  drivers/net/ixgbe/ixgbe_rxtx.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index cc8f70e6d..2efd054f7 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -4923,15 +4923,11 @@ ixgbe_set_rsc(struct rte_eth_dev *dev)
>       /* RFCTL configuration  */
>       rfctl = IXGBE_READ_REG(hw, IXGBE_RFCTL);
>       if ((rsc_capable) && (rx_conf->offloads &
> DEV_RX_OFFLOAD_TCP_LRO))
> -             /*
> -              * Since NFS packets coalescing is not supported - clear
> -              * RFCTL.NFSW_DIS and RFCTL.NFSR_DIS when RSC is
> -              * enabled.
> -              */
> -             rfctl &= ~(IXGBE_RFCTL_RSC_DIS | IXGBE_RFCTL_NFSW_DIS
> |
> -                        IXGBE_RFCTL_NFSR_DIS);
> +             rfctl &= ~IXGBE_RFCTL_RSC_DIS;
>       else
>               rfctl |= IXGBE_RFCTL_RSC_DIS;
> +     /* disable NFS filtering */
> +     rfctl |= IXGBE_RFCTL_NFSW_DIS | IXGBE_RFCTL_NFSR_DIS;
>       IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl);
> 
>       /* If LRO hasn't been requested - we are done here. */
> --
> 2.27.0

Reply via email to