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