DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
@ 2018-07-31 14:49 Cristian Dumitrescu
  2018-07-31 14:53 ` Zhang, Roy Fan
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Cristian Dumitrescu @ 2018-07-31 14:49 UTC (permalink / raw)
  To: dev

Fix for RSS issue triggered by latest changes in ethdev layer.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 examples/ip_pipeline/link.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c
index 2ccfea4..392a890 100644
--- a/examples/ip_pipeline/link.c
+++ b/examples/ip_pipeline/link.c
@@ -158,12 +158,9 @@ link_create(const char *name, struct link_params *params)
 	memcpy(&port_conf, &port_conf_default, sizeof(port_conf));
 	if (rss) {
 		port_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
-		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV4)
-			port_conf.rx_adv_conf.rss_conf.rss_hf |=
-				ETH_RSS_IPV4;
-		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV6)
-			port_conf.rx_adv_conf.rss_conf.rss_hf |=
-				ETH_RSS_IPV6;
+		port_conf.rx_adv_conf.rss_conf.rss_hf =
+			(ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP) &
+			port_info.flow_type_rss_offloads;
 	}
 
 	cpu_id = (uint32_t) rte_eth_dev_socket_id(port_id);
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
  2018-07-31 14:49 [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS Cristian Dumitrescu
@ 2018-07-31 14:53 ` Zhang, Roy Fan
  2018-07-31 14:53 ` Ananyev, Konstantin
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Zhang, Roy Fan @ 2018-07-31 14:53 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cristian Dumitrescu
> Sent: Tuesday, July 31, 2018 3:49 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
> 
> Fix for RSS issue triggered by latest changes in ethdev layer.
> 
> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
> ---
>  examples/ip_pipeline/link.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c index
> 2ccfea4..392a890 100644
> --- a/examples/ip_pipeline/link.c
> +++ b/examples/ip_pipeline/link.c
> @@ -158,12 +158,9 @@ link_create(const char *name, struct link_params
> *params)
>  	memcpy(&port_conf, &port_conf_default, sizeof(port_conf));
>  	if (rss) {
>  		port_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
> -		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV4)
> -			port_conf.rx_adv_conf.rss_conf.rss_hf |=
> -				ETH_RSS_IPV4;
> -		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV6)
> -			port_conf.rx_adv_conf.rss_conf.rss_hf |=
> -				ETH_RSS_IPV6;
> +		port_conf.rx_adv_conf.rss_conf.rss_hf =
> +			(ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP) &
> +			port_info.flow_type_rss_offloads;
>  	}
> 
>  	cpu_id = (uint32_t) rte_eth_dev_socket_id(port_id);
> --
> 2.7.4

Acked-by: Fan Zhang <roy.fan.zhang@intel.com>

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

* Re: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
  2018-07-31 14:49 [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS Cristian Dumitrescu
  2018-07-31 14:53 ` Zhang, Roy Fan
@ 2018-07-31 14:53 ` Ananyev, Konstantin
  2018-08-02  7:03 ` Peng, Yuan
  2018-08-05 20:08 ` Thomas Monjalon
  3 siblings, 0 replies; 5+ messages in thread
From: Ananyev, Konstantin @ 2018-07-31 14:53 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cristian Dumitrescu
> Sent: Tuesday, July 31, 2018 3:49 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
> 
> Fix for RSS issue triggered by latest changes in ethdev layer.
> 
> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
> ---
>  examples/ip_pipeline/link.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c
> index 2ccfea4..392a890 100644
> --- a/examples/ip_pipeline/link.c
> +++ b/examples/ip_pipeline/link.c
> @@ -158,12 +158,9 @@ link_create(const char *name, struct link_params *params)
>  	memcpy(&port_conf, &port_conf_default, sizeof(port_conf));
>  	if (rss) {
>  		port_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
> -		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV4)
> -			port_conf.rx_adv_conf.rss_conf.rss_hf |=
> -				ETH_RSS_IPV4;
> -		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV6)
> -			port_conf.rx_adv_conf.rss_conf.rss_hf |=
> -				ETH_RSS_IPV6;
> +		port_conf.rx_adv_conf.rss_conf.rss_hf =
> +			(ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP) &
> +			port_info.flow_type_rss_offloads;
>  	}
> 
>  	cpu_id = (uint32_t) rte_eth_dev_socket_id(port_id);
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.7.4

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

* Re: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
  2018-07-31 14:49 [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS Cristian Dumitrescu
  2018-07-31 14:53 ` Zhang, Roy Fan
  2018-07-31 14:53 ` Ananyev, Konstantin
@ 2018-08-02  7:03 ` Peng, Yuan
  2018-08-05 20:08 ` Thomas Monjalon
  3 siblings, 0 replies; 5+ messages in thread
From: Peng, Yuan @ 2018-08-02  7:03 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev; +Cc: Peng, Yuan

Tested-by: Peng, Yuan <yuan.peng@intel.com>

- Tested Commit: 23888166d99682b1491a917277e4ff0ff01639b2
- OS: 4.5.5-300.fc24.x86_64
- GCC: gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
- CPU: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
- NIC: Intel Corporation Device Fortville [8086:1583]
- Default x86_64-native-linuxapp-gcc configuration
I have verified the ip_pipeline rss case with 18.08-rc2 applied your patch 43469

*	./build/ip_pipeline -c 0x1F -n 4 -- -s ./examples/rss.cli
*	Start traffic on just one input port.
*	output traffic was seen (in equal amounts) for each of the 4x output ports

the bug is not represented.


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cristian Dumitrescu
Sent: Tuesday, July 31, 2018 10:49 PM
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS

Fix for RSS issue triggered by latest changes in ethdev layer.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 examples/ip_pipeline/link.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c index 2ccfea4..392a890 100644
--- a/examples/ip_pipeline/link.c
+++ b/examples/ip_pipeline/link.c
@@ -158,12 +158,9 @@ link_create(const char *name, struct link_params *params)
 	memcpy(&port_conf, &port_conf_default, sizeof(port_conf));
 	if (rss) {
 		port_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
-		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV4)
-			port_conf.rx_adv_conf.rss_conf.rss_hf |=
-				ETH_RSS_IPV4;
-		if (port_info.flow_type_rss_offloads & ETH_RSS_IPV6)
-			port_conf.rx_adv_conf.rss_conf.rss_hf |=
-				ETH_RSS_IPV6;
+		port_conf.rx_adv_conf.rss_conf.rss_hf =
+			(ETH_RSS_IP | ETH_RSS_TCP | ETH_RSS_UDP) &
+			port_info.flow_type_rss_offloads;
 	}
 
 	cpu_id = (uint32_t) rte_eth_dev_socket_id(port_id);
--
2.7.4

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

* Re: [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS
  2018-07-31 14:49 [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS Cristian Dumitrescu
                   ` (2 preceding siblings ...)
  2018-08-02  7:03 ` Peng, Yuan
@ 2018-08-05 20:08 ` Thomas Monjalon
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2018-08-05 20:08 UTC (permalink / raw)
  To: Cristian Dumitrescu; +Cc: dev, Fan Zhang, Konstantin Ananyev, Yuan Peng

31/07/2018 16:49, Cristian Dumitrescu:
> Fix for RSS issue triggered by latest changes in ethdev layer.
> 
> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

Collected agreements:
    Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
    Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
    Tested-by: Yuan Peng <yuan.peng@intel.com>

But 3 things are missing:
	- The issue is not described
	- The fix is not explained (you chose to mask unsupported RSS fields)
	- There is no Fixes line, I guess this one:
		Fixes: aa1a6d87f15d ("ethdev: force RSS offload rules again")

Please send a v2

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

end of thread, other threads:[~2018-08-05 20:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-31 14:49 [dpdk-dev] [PATCH] examples/ip_pipeline: fix RSS Cristian Dumitrescu
2018-07-31 14:53 ` Zhang, Roy Fan
2018-07-31 14:53 ` Ananyev, Konstantin
2018-08-02  7:03 ` Peng, Yuan
2018-08-05 20:08 ` Thomas Monjalon

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).