DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/ixgbe: disable NFS filtering
@ 2021-01-20  9:27 dapengx.yu
  2021-01-22  5:33 ` Guo, Jia
  2021-01-25  3:10 ` [dpdk-dev] [PATCH v2] " dapengx.yu
  0 siblings, 2 replies; 9+ messages in thread
From: dapengx.yu @ 2021-01-20  9:27 UTC (permalink / raw)
  To: jia.guo, haiyue.wang, qiming.yang; +Cc: dev, Dapeng Yu, stable

From: Dapeng Yu <dapengx.yu@intel.com>

Disable NFS header filtering whether NFS packets coalescing are
required or not.

This behavior is aligned with ixgbe kernel driver.

Fixes: b826efba6de4 ("net/ixgbe: align register setting when RSC is disabled")
Cc: stable@dpdk.org

Signed-off-by: Dapeng Yu <dapengx.yu@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..3fb55c675 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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH] net/ixgbe: disable NFS filtering
  2021-01-20  9:27 [dpdk-dev] [PATCH] net/ixgbe: disable NFS filtering dapengx.yu
@ 2021-01-22  5:33 ` Guo, Jia
  2021-01-22  7:06   ` Yu, DapengX
  2021-01-25  3:10 ` [dpdk-dev] [PATCH v2] " dapengx.yu
  1 sibling, 1 reply; 9+ messages in thread
From: Guo, Jia @ 2021-01-22  5:33 UTC (permalink / raw)
  To: Yu, DapengX, Wang, Haiyue, Yang, Qiming; +Cc: dev, Yu, DapengX, stable

Hi, dapeng

> -----Original Message-----
> From: dapengx.yu@intel.com <dapengx.yu@intel.com>
> Sent: Wednesday, January 20, 2021 5:27 PM
> To: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> Subject: [PATCH] net/ixgbe: disable NFS filtering
> 
> From: Dapeng Yu <dapengx.yu@intel.com>
> 
> Disable NFS header filtering whether NFS packets coalescing are required or
> not.
> 
> This behavior is aligned with ixgbe kernel driver.
> 
> Fixes: b826efba6de4 ("net/ixgbe: align register setting when RSC is disabled")

I suggest to add one more fix line which related with the patch, since below patch is what you most change the behaviors.
the Fixes: 8eecb3295aed ("ixgbe: add LRO support ")

And I saw prior fixed patch are also said it would flow the datasheet, could you explain why you bring this change? Is it anything change about that in kernel driver prior with currently?

> Cc: stable@dpdk.org
> 
> Signed-off-by: Dapeng Yu <dapengx.yu@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..3fb55c675 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);

I thinks the "()" is no need, right?

>  	IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl);
> 
>  	/* If LRO hasn't been requested - we are done here. */
> --
> 2.27.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH] net/ixgbe: disable NFS filtering
  2021-01-22  5:33 ` Guo, Jia
@ 2021-01-22  7:06   ` Yu, DapengX
  0 siblings, 0 replies; 9+ messages in thread
From: Yu, DapengX @ 2021-01-22  7:06 UTC (permalink / raw)
  To: Guo, Jia, Wang, Haiyue, Yang, Qiming; +Cc: dev, stable

Hi Jia,

The change in commit:b826efba6de4 does follow the x540 datasheet, but is not consistent with the latest ixgbe kernel driver(v5.10.2). 

In ixgbe_main.c(kernel driver), there are the following code, without any precondition. I think the author think NFS packet shall not be filtered in any condition.
/**
 * ixgbe_configure_rx - Configure 8259x Receive Unit after Reset
 * @adapter: board private structure
 *
 * Configure the Rx unit of the MAC after a reset.
 **/
static void ixgbe_configure_rx(struct ixgbe_adapter *adapter)
{
	...
	/* RSC Setup */
	rfctl = IXGBE_READ_REG(hw, IXGBE_RFCTL);
	rfctl &= ~IXGBE_RFCTL_RSC_DIS;
	if (!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED))
		rfctl |= IXGBE_RFCTL_RSC_DIS;

	/* disable NFS filtering */
	rfctl |= (IXGBE_RFCTL_NFSW_DIS | IXGBE_RFCTL_NFSR_DIS);
	IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl);
	...
}
I cannot find the complete modification history of these code lines in kernel driver. But these line is introduced in ixgbe 4.5.4(2016-12-13), and never changed later. 

I bring this change because NFS packet will be filtered without it, the result is that all NFS packets flow into queue0, before RSS can work on it.

Thanks for your suggestions on this patch, I will submit patch v2 to include them.

-----Original Message-----
From: Guo, Jia 
Sent: Friday, January 22, 2021 1:34 PM
To: Yu, DapengX <dapengx.yu@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
Subject: RE: [PATCH] net/ixgbe: disable NFS filtering

Hi, dapeng

> -----Original Message-----
> From: dapengx.yu@intel.com <dapengx.yu@intel.com>
> Sent: Wednesday, January 20, 2021 5:27 PM
> To: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue 
> <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> Subject: [PATCH] net/ixgbe: disable NFS filtering
> 
> From: Dapeng Yu <dapengx.yu@intel.com>
> 
> Disable NFS header filtering whether NFS packets coalescing are 
> required or not.
> 
> This behavior is aligned with ixgbe kernel driver.
> 
> Fixes: b826efba6de4 ("net/ixgbe: align register setting when RSC is 
> disabled")

I suggest to add one more fix line which related with the patch, since below patch is what you most change the behaviors.
the Fixes: 8eecb3295aed ("ixgbe: add LRO support ")

And I saw prior fixed patch are also said it would flow the datasheet, could you explain why you bring this change? Is it anything change about that in kernel driver prior with currently?

> Cc: stable@dpdk.org
> 
> Signed-off-by: Dapeng Yu <dapengx.yu@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..3fb55c675 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);

I thinks the "()" is no need, right?

>  	IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl);
> 
>  	/* If LRO hasn't been requested - we are done here. */
> --
> 2.27.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH v2] net/ixgbe: disable NFS filtering
  2021-01-20  9:27 [dpdk-dev] [PATCH] net/ixgbe: disable NFS filtering dapengx.yu
  2021-01-22  5:33 ` Guo, Jia
@ 2021-01-25  3:10 ` dapengx.yu
  2021-01-26  2:11   ` Guo, Jia
  2021-01-26  3:03   ` [dpdk-dev] [PATCH v3] " dapengx.yu
  1 sibling, 2 replies; 9+ messages in thread
From: dapengx.yu @ 2021-01-25  3:10 UTC (permalink / raw)
  To: jia.guo, haiyue.wang, qiming.yang; +Cc: dev, Dapeng Yu, stable

From: Dapeng Yu <dapengx.yu@intel.com>

Disable NFS header filtering whether NFS packets coalescing are
required or not.

This behavior is aligned with ixgbe kernel driver.

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 <dapengx.yu@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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: disable NFS filtering
  2021-01-25  3:10 ` [dpdk-dev] [PATCH v2] " dapengx.yu
@ 2021-01-26  2:11   ` Guo, Jia
  2021-01-26  2:19     ` Yu, DapengX
  2021-01-26  3:03   ` [dpdk-dev] [PATCH v3] " dapengx.yu
  1 sibling, 1 reply; 9+ messages in thread
From: Guo, Jia @ 2021-01-26  2:11 UTC (permalink / raw)
  To: Yu, DapengX, Wang, Haiyue, Yang, Qiming; +Cc: dev, Yu, DapengX, stable

Hi, dapeng

> -----Original Message-----
> From: dapengx.yu@intel.com <dapengx.yu@intel.com>
> Sent: Monday, January 25, 2021 11:11 AM
> To: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] net/ixgbe: disable NFS filtering
> 
> From: Dapeng Yu <dapengx.yu@intel.com>
> 
> Disable NFS header filtering whether NFS packets coalescing are required or
> not.
> 
> This behavior is aligned with ixgbe kernel driver.
> 

I saw your comments about the reason in another email, so could you briefly add the reason in the commit log?
You just said what you do with this patch, but why or say without this patch what is the problem, it it better be mentioned if this is a fixing patch.
Other is LGTM.

> 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 <dapengx.yu@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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: disable NFS filtering
  2021-01-26  2:11   ` Guo, Jia
@ 2021-01-26  2:19     ` Yu, DapengX
  0 siblings, 0 replies; 9+ messages in thread
From: Yu, DapengX @ 2021-01-26  2:19 UTC (permalink / raw)
  To: Guo, Jia, Wang, Haiyue, Yang, Qiming; +Cc: dev, stable

Hi Jia,
Thanks for the remind, I will submit patch v3 to include the reason to fix.

-----Original Message-----
From: Guo, Jia 
Sent: Tuesday, January 26, 2021 10:11 AM
To: Yu, DapengX <dapengx.yu@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
Subject: RE: [PATCH v2] net/ixgbe: disable NFS filtering

Hi, dapeng

> -----Original Message-----
> From: dapengx.yu@intel.com <dapengx.yu@intel.com>
> Sent: Monday, January 25, 2021 11:11 AM
> To: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue 
> <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] net/ixgbe: disable NFS filtering
> 
> From: Dapeng Yu <dapengx.yu@intel.com>
> 
> Disable NFS header filtering whether NFS packets coalescing are 
> required or not.
> 
> This behavior is aligned with ixgbe kernel driver.
> 

I saw your comments about the reason in another email, so could you briefly add the reason in the commit log?
You just said what you do with this patch, but why or say without this patch what is the problem, it it better be mentioned if this is a fixing patch.
Other is LGTM.

> 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 <dapengx.yu@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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [dpdk-dev] [PATCH v3] net/ixgbe: disable NFS filtering
  2021-01-25  3:10 ` [dpdk-dev] [PATCH v2] " dapengx.yu
  2021-01-26  2:11   ` Guo, Jia
@ 2021-01-26  3:03   ` dapengx.yu
  2021-01-26  3:36     ` Guo, Jia
  1 sibling, 1 reply; 9+ messages in thread
From: dapengx.yu @ 2021-01-26  3:03 UTC (permalink / raw)
  To: jia.guo, haiyue.wang, qiming.yang; +Cc: dev, Dapeng Yu, stable

From: Dapeng Yu <dapengx.yu@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: stable@dpdk.org

Signed-off-by: Dapeng Yu <dapengx.yu@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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH v3] net/ixgbe: disable NFS filtering
  2021-01-26  3:03   ` [dpdk-dev] [PATCH v3] " dapengx.yu
@ 2021-01-26  3:36     ` Guo, Jia
  2021-01-26  4:36       ` Zhang, Qi Z
  0 siblings, 1 reply; 9+ messages in thread
From: Guo, Jia @ 2021-01-26  3:36 UTC (permalink / raw)
  To: Yu, DapengX, Wang, Haiyue, Yang, Qiming; +Cc: dev, Yu, DapengX, stable

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

> -----Original Message-----
> From: dapengx.yu@intel.com <dapengx.yu@intel.com>
> Sent: Tuesday, January 26, 2021 11:03 AM
> To: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> Subject: [PATCH v3] net/ixgbe: disable NFS filtering
> 
> From: Dapeng Yu <dapengx.yu@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: stable@dpdk.org
> 
> Signed-off-by: Dapeng Yu <dapengx.yu@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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] [PATCH v3] net/ixgbe: disable NFS filtering
  2021-01-26  3:36     ` Guo, Jia
@ 2021-01-26  4:36       ` Zhang, Qi Z
  0 siblings, 0 replies; 9+ messages in thread
From: Zhang, Qi Z @ 2021-01-26  4:36 UTC (permalink / raw)
  To: Guo, Jia, Yu, DapengX, Wang, Haiyue, Yang, Qiming
  Cc: dev, Yu, DapengX, stable



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Guo, Jia
> Sent: Tuesday, January 26, 2021 11:36 AM
> To: Yu, DapengX <dapengx.yu@intel.com>; Wang, Haiyue
> <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3] net/ixgbe: disable NFS filtering
> 
> Acked-by: Jeff Guo <jia.guo@intel.com>
> 
> > -----Original Message-----
> > From: dapengx.yu@intel.com <dapengx.yu@intel.com>
> > Sent: Tuesday, January 26, 2021 11:03 AM
> > To: Guo, Jia <jia.guo@intel.com>; Wang, Haiyue
> > <haiyue.wang@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> > Cc: dev@dpdk.org; Yu, DapengX <dapengx.yu@intel.com>; stable@dpdk.org
> > Subject: [PATCH v3] net/ixgbe: disable NFS filtering
> >
> > From: Dapeng Yu <dapengx.yu@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: stable@dpdk.org
> >
> > Signed-off-by: Dapeng Yu <dapengx.yu@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-01-26  4:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-20  9:27 [dpdk-dev] [PATCH] net/ixgbe: disable NFS filtering dapengx.yu
2021-01-22  5:33 ` Guo, Jia
2021-01-22  7:06   ` Yu, DapengX
2021-01-25  3:10 ` [dpdk-dev] [PATCH v2] " dapengx.yu
2021-01-26  2:11   ` Guo, Jia
2021-01-26  2:19     ` Yu, DapengX
2021-01-26  3:03   ` [dpdk-dev] [PATCH v3] " dapengx.yu
2021-01-26  3:36     ` Guo, Jia
2021-01-26  4:36       ` Zhang, Qi Z

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).