[dpdk-dev] [PATCH v1 1/2] net/iavf: remove redundant default RSS field for IP fragment packets

Wu, Wenjun1 wenjun1.wu at intel.com
Tue Aug 17 08:23:47 CEST 2021


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 at intel.com>
> Sent: Friday, August 13, 2021 7:59 PM
> To: Wu, Wenjun1 <wenjun1.wu at intel.com>; dev at dpdk.org; Wu, Jingjing
> <jingjing.wu at intel.com>; Xing, Beilei <beilei.xing at intel.com>; Zhang, Qi Z
> <qi.z.zhang at 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 at 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);
> >  	}
> >
> >



More information about the dev mailing list