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