DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets
@ 2021-08-02  8:36 Wenjun Wu
  2021-08-13 11:58 ` Ferruh Yigit
  2021-08-17  6:53 ` [dpdk-dev] [PATCH v2 1/2] net/iavf: fix " Wenjun Wu
  0 siblings, 2 replies; 7+ messages in thread
From: Wenjun Wu @ 2021-08-02  8:36 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing, qi.z.zhang; +Cc: Wenjun Wu

This patch removes redundant default RSS field for IP fragment packets,
only src MAC address and dst MAC address are needed.

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/iavf/iavf_hash.c | 26 ++------------------------
 1 file changed, 2 insertions(+), 24 deletions(-)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index 2b03dad858..eba55ecea5 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -624,34 +624,12 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add)
 	}
 
 	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		struct virtchnl_proto_hdrs hdr = {
-			.tunnel_level = TUNNEL_LEVEL_OUTER,
-			.count = 3,
-			.proto_hdr = {
-				proto_hdr_eth,
-				proto_hdr_ipv4,
-				{
-					VIRTCHNL_PROTO_HDR_IPV4_FRAG,
-					FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID),
-					{BUFF_NOUSED},
-				},
-			},
-		};
-		rss_cfg.proto_hdrs = hdr;
+		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
 	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		struct virtchnl_proto_hdrs hdr = {
-			.tunnel_level = TUNNEL_LEVEL_OUTER,
-			.count = 3,
-			.proto_hdr = {
-				proto_hdr_eth,
-				proto_hdr_ipv6,
-				proto_hdr_ipv6_frag,
-			},
-		};
-		rss_cfg.proto_hdrs = hdr;
+		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
-- 
2.25.1


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

* Re: [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets
  2021-08-02  8:36 [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets Wenjun Wu
@ 2021-08-13 11:58 ` Ferruh Yigit
  2021-08-17  6:23   ` Wu, Wenjun1
  2021-08-17  6:53 ` [dpdk-dev] [PATCH v2 1/2] net/iavf: fix " Wenjun Wu
  1 sibling, 1 reply; 7+ messages in thread
From: Ferruh Yigit @ 2021-08-13 11:58 UTC (permalink / raw)
  To: Wenjun Wu, dev, jingjing.wu, beilei.xing, qi.z.zhang

On 8/2/2021 9:36 AM, Wenjun Wu wrote:
> This patch removes redundant default RSS field for IP fragment packets,
> only src MAC address and dst MAC address are needed.
> 

Hi Wenjun,

The impact is not clear, from the description I take this as code refactoring
without any impact but can you please clarify this in the commit log?

Also patch title it too long, can we update as following:
net/iavf: fix default RSS field for IP fragment packets

If so can you please put the Fixes tag? This way patch can be backported too.


> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> ---
>  drivers/net/iavf/iavf_hash.c | 26 ++------------------------
>  1 file changed, 2 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
> index 2b03dad858..eba55ecea5 100644
> --- a/drivers/net/iavf/iavf_hash.c
> +++ b/drivers/net/iavf/iavf_hash.c
> @@ -624,34 +624,12 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add)
>  	}
>  
>  	if (rss_hf & ETH_RSS_FRAG_IPV4) {
> -		struct virtchnl_proto_hdrs hdr = {
> -			.tunnel_level = TUNNEL_LEVEL_OUTER,
> -			.count = 3,
> -			.proto_hdr = {
> -				proto_hdr_eth,
> -				proto_hdr_ipv4,
> -				{
> -					VIRTCHNL_PROTO_HDR_IPV4_FRAG,
> -					FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID),
> -					{BUFF_NOUSED},
> -				},
> -			},
> -		};
> -		rss_cfg.proto_hdrs = hdr;
> +		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
>  		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
>  	}
>  
>  	if (rss_hf & ETH_RSS_FRAG_IPV6) {
> -		struct virtchnl_proto_hdrs hdr = {
> -			.tunnel_level = TUNNEL_LEVEL_OUTER,
> -			.count = 3,
> -			.proto_hdr = {
> -				proto_hdr_eth,
> -				proto_hdr_ipv6,
> -				proto_hdr_ipv6_frag,
> -			},
> -		};
> -		rss_cfg.proto_hdrs = hdr;
> +		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
>  		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
>  	}
>  
> 


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

* Re: [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets
  2021-08-13 11:58 ` Ferruh Yigit
@ 2021-08-17  6:23   ` Wu, Wenjun1
  0 siblings, 0 replies; 7+ messages in thread
From: Wu, Wenjun1 @ 2021-08-17  6:23 UTC (permalink / raw)
  To: Yigit, Ferruh, dev, Wu, Jingjing, Xing, Beilei, Zhang, Qi Z

Hi Ferruh,

This patch removes support of IPID for both IPv4 and IPv6 fragment packets, because it is not expected in default RSS. 
The impact is that IPID will not be used to calculate the hash value in default RSS for IP fragment packet.
I will rework commit log and send v2 patch later.

> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> Sent: Friday, August 13, 2021 7:59 PM
> To: Wu, Wenjun1 <wenjun1.wu@intel.com>; dev@dpdk.org; Wu, Jingjing
> <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default
> RSS field for IP fragment packets
> 
> On 8/2/2021 9:36 AM, Wenjun Wu wrote:
> > This patch removes redundant default RSS field for IP fragment
> > packets, only src MAC address and dst MAC address are needed.
> >
> 
> Hi Wenjun,
> 
> The impact is not clear, from the description I take this as code refactoring
> without any impact but can you please clarify this in the commit log?
> 
> Also patch title it too long, can we update as following:
> net/iavf: fix default RSS field for IP fragment packets
> 
> If so can you please put the Fixes tag? This way patch can be backported too.
> 
> 
> > Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> > ---
> >  drivers/net/iavf/iavf_hash.c | 26 ++------------------------
> >  1 file changed, 2 insertions(+), 24 deletions(-)
> >
> > diff --git a/drivers/net/iavf/iavf_hash.c
> > b/drivers/net/iavf/iavf_hash.c index 2b03dad858..eba55ecea5 100644
> > --- a/drivers/net/iavf/iavf_hash.c
> > +++ b/drivers/net/iavf/iavf_hash.c
> > @@ -624,34 +624,12 @@ iavf_rss_hash_set(struct iavf_adapter *ad,
> uint64_t rss_hf, bool add)
> >  	}
> >
> >  	if (rss_hf & ETH_RSS_FRAG_IPV4) {
> > -		struct virtchnl_proto_hdrs hdr = {
> > -			.tunnel_level = TUNNEL_LEVEL_OUTER,
> > -			.count = 3,
> > -			.proto_hdr = {
> > -				proto_hdr_eth,
> > -				proto_hdr_ipv4,
> > -				{
> > -					VIRTCHNL_PROTO_HDR_IPV4_FRAG,
> > -
> 	FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID),
> > -					{BUFF_NOUSED},
> > -				},
> > -			},
> > -		};
> > -		rss_cfg.proto_hdrs = hdr;
> > +		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
> >  		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
> >  	}
> >
> >  	if (rss_hf & ETH_RSS_FRAG_IPV6) {
> > -		struct virtchnl_proto_hdrs hdr = {
> > -			.tunnel_level = TUNNEL_LEVEL_OUTER,
> > -			.count = 3,
> > -			.proto_hdr = {
> > -				proto_hdr_eth,
> > -				proto_hdr_ipv6,
> > -				proto_hdr_ipv6_frag,
> > -			},
> > -		};
> > -		rss_cfg.proto_hdrs = hdr;
> > +		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
> >  		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
> >  	}
> >
> >


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

* [dpdk-dev] [PATCH v2 1/2] net/iavf: fix default RSS field for IP fragment packets
  2021-08-02  8:36 [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets Wenjun Wu
  2021-08-13 11:58 ` Ferruh Yigit
@ 2021-08-17  6:53 ` Wenjun Wu
  2021-08-17  8:43   ` [dpdk-dev] [PATCH v3 0/2] " Wenjun Wu
  2021-08-17  8:44   ` [dpdk-dev] [PATCH v3 1/2] net/iavf: " Wenjun Wu
  1 sibling, 2 replies; 7+ messages in thread
From: Wenjun Wu @ 2021-08-17  6:53 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing; +Cc: Wenjun Wu

Previously IP ID field is supported in default RSS for IP fragment
packets. Actually it is not expected.

This patch removes redundant default RSS field for IP fragment packets.
The default RSS only needs to support the src and dst IP fields.

Fixes: 9e29a278bc0c ("net/iavf: support default RSS for IP fragment")

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/iavf/iavf_hash.c | 26 ++------------------------
 1 file changed, 2 insertions(+), 24 deletions(-)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index 2b03dad858..eba55ecea5 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -624,34 +624,12 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add)
 	}
 
 	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		struct virtchnl_proto_hdrs hdr = {
-			.tunnel_level = TUNNEL_LEVEL_OUTER,
-			.count = 3,
-			.proto_hdr = {
-				proto_hdr_eth,
-				proto_hdr_ipv4,
-				{
-					VIRTCHNL_PROTO_HDR_IPV4_FRAG,
-					FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID),
-					{BUFF_NOUSED},
-				},
-			},
-		};
-		rss_cfg.proto_hdrs = hdr;
+		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
 	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		struct virtchnl_proto_hdrs hdr = {
-			.tunnel_level = TUNNEL_LEVEL_OUTER,
-			.count = 3,
-			.proto_hdr = {
-				proto_hdr_eth,
-				proto_hdr_ipv6,
-				proto_hdr_ipv6_frag,
-			},
-		};
-		rss_cfg.proto_hdrs = hdr;
+		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
-- 
2.25.1


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

* [dpdk-dev] [PATCH v3 0/2] fix default RSS field for IP fragment packets
  2021-08-17  6:53 ` [dpdk-dev] [PATCH v2 1/2] net/iavf: fix " Wenjun Wu
@ 2021-08-17  8:43   ` Wenjun Wu
  2021-08-29 11:45     ` Zhang, Qi Z
  2021-08-17  8:44   ` [dpdk-dev] [PATCH v3 1/2] net/iavf: " Wenjun Wu
  1 sibling, 1 reply; 7+ messages in thread
From: Wenjun Wu @ 2021-08-17  8:43 UTC (permalink / raw)
  To: dev, qi.z.zhang; +Cc: Wenjun Wu

This patch set removes redundant default RSS field for both IPv4 and
IPv6 fragment packets. Only src and dst address are needed.

v3:
* Rework commit log
v2:
* Rework commit log

Wenjun Wu (2):
  net/iavf: fix default RSS field for IP fragment packets
  net/ice: fix default RSS field for IP fragment packets

 drivers/net/iavf/iavf_hash.c | 26 ++------------------------
 drivers/net/ice/ice_ethdev.c |  4 ++--
 2 files changed, 4 insertions(+), 26 deletions(-)

-- 
2.25.1


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

* [dpdk-dev] [PATCH v3 1/2] net/iavf: fix default RSS field for IP fragment packets
  2021-08-17  6:53 ` [dpdk-dev] [PATCH v2 1/2] net/iavf: fix " Wenjun Wu
  2021-08-17  8:43   ` [dpdk-dev] [PATCH v3 0/2] " Wenjun Wu
@ 2021-08-17  8:44   ` Wenjun Wu
  1 sibling, 0 replies; 7+ messages in thread
From: Wenjun Wu @ 2021-08-17  8:44 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing; +Cc: Wenjun Wu

Previously, hash value is calculated by src IP address, dst IP address
and IP ID. However, default RSS field only needs src and dst IP address.

This patch removes IP ID from default RSS field for IP fragment packets to
improve default RSS configuration.

Fixes: 9e29a278bc0c ("net/iavf: support default RSS for IP fragment")

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/iavf/iavf_hash.c | 26 ++------------------------
 1 file changed, 2 insertions(+), 24 deletions(-)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index 2b03dad858..eba55ecea5 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -624,34 +624,12 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add)
 	}
 
 	if (rss_hf & ETH_RSS_FRAG_IPV4) {
-		struct virtchnl_proto_hdrs hdr = {
-			.tunnel_level = TUNNEL_LEVEL_OUTER,
-			.count = 3,
-			.proto_hdr = {
-				proto_hdr_eth,
-				proto_hdr_ipv4,
-				{
-					VIRTCHNL_PROTO_HDR_IPV4_FRAG,
-					FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID),
-					{BUFF_NOUSED},
-				},
-			},
-		};
-		rss_cfg.proto_hdrs = hdr;
+		rss_cfg.proto_hdrs = outer_ipv4_tmplt;
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
 	if (rss_hf & ETH_RSS_FRAG_IPV6) {
-		struct virtchnl_proto_hdrs hdr = {
-			.tunnel_level = TUNNEL_LEVEL_OUTER,
-			.count = 3,
-			.proto_hdr = {
-				proto_hdr_eth,
-				proto_hdr_ipv6,
-				proto_hdr_ipv6_frag,
-			},
-		};
-		rss_cfg.proto_hdrs = hdr;
+		rss_cfg.proto_hdrs = outer_ipv6_tmplt;
 		iavf_add_del_rss_cfg(ad, &rss_cfg, add);
 	}
 
-- 
2.25.1


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

* Re: [dpdk-dev] [PATCH v3 0/2] fix default RSS field for IP fragment packets
  2021-08-17  8:43   ` [dpdk-dev] [PATCH v3 0/2] " Wenjun Wu
@ 2021-08-29 11:45     ` Zhang, Qi Z
  0 siblings, 0 replies; 7+ messages in thread
From: Zhang, Qi Z @ 2021-08-29 11:45 UTC (permalink / raw)
  To: Wu, Wenjun1, dev



> -----Original Message-----
> From: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Sent: Tuesday, August 17, 2021 4:43 PM
> To: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [PATCH v3 0/2] fix default RSS field for IP fragment packets
> 
> This patch set removes redundant default RSS field for both IPv4 and
> IPv6 fragment packets. Only src and dst address are needed.
> 
> v3:
> * Rework commit log
> v2:
> * Rework commit log
> 
> Wenjun Wu (2):
>   net/iavf: fix default RSS field for IP fragment packets
>   net/ice: fix default RSS field for IP fragment packets
> 
>  drivers/net/iavf/iavf_hash.c | 26 ++------------------------
> drivers/net/ice/ice_ethdev.c |  4 ++--
>  2 files changed, 4 insertions(+), 26 deletions(-)
> 
> --
> 2.25.1

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

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

end of thread, other threads:[~2021-08-29 11:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-02  8:36 [dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets Wenjun Wu
2021-08-13 11:58 ` Ferruh Yigit
2021-08-17  6:23   ` Wu, Wenjun1
2021-08-17  6:53 ` [dpdk-dev] [PATCH v2 1/2] net/iavf: fix " Wenjun Wu
2021-08-17  8:43   ` [dpdk-dev] [PATCH v3 0/2] " Wenjun Wu
2021-08-29 11:45     ` Zhang, Qi Z
2021-08-17  8:44   ` [dpdk-dev] [PATCH v3 1/2] net/iavf: " Wenjun Wu

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