From 68643843e79d2df54e8a6c148a29fd314a5e7897 Mon Sep 17 00:00:00 2001 From: Dapeng Yu Date: Tue, 26 Jan 2021 11:03:08 +0800 Subject: [PATCH] net/ixgbe: disable NFS filtering 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: stable@dpdk.org Signed-off-by: Dapeng Yu Acked-by: Jeff Guo --- 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 36e6ca9010..72d27f35ca 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.20.1