On Mon, 21-07-12, 08:05, Raslan Darawsheh wrote: Hey, > Hi, > > > -----Original Message----- > > From: dev <dev-boun...@dpdk.org> On Behalf Of Xiaoyu Min > > Sent: Wednesday, July 7, 2021 5:33 AM > > To: Matan Azrad <ma...@nvidia.com>; Shahaf Shuler > > <shah...@nvidia.com>; Slava Ovsiienko <viachesl...@nvidia.com>; Dekel > > Peled <dek...@nvidia.com>; Ori Kam <or...@nvidia.com> > > Cc: dev@dpdk.org; sta...@dpdk.org > > Subject: [dpdk-dev] [PATCH 2/2] net/mlx5: fix missing RSS expansion of IPv6 > > frag > > > > IPV6_FRAG_EXT item is missed for RSS expansion which causes flows like > > [1] are wrongly expanded. > > > > Different from other items, IPV6_FRAG_EXT hasn't next field because HW > > only support to do hash of UDP/TCP for non-fragment. > > > > This MLX5_EXPANSION_IPV6_FRAG_EXT node in RSS expansion graph only > > helps > > RSS expansion function to locate right node in graph from which start > > to expand. > > > > Fixes: 0e5a0d8f7556 ("net/mlx5: support match on IPv6 fragment > > extension") > > Cc: sta...@dpdk.org > > > > [1]: > > flow create 0 ingress pattern eth / ipv6 / udp dst is 250 / vxlan-gpe / > > ipv6 / ipv6_frag_ext / end actions rss level 2 types ip end / end > > > > Signed-off-by: Xiaoyu Min <jack...@nvidia.com> > > --- > > drivers/net/mlx5/mlx5_flow.c | 8 +++++++- > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c > > index 1b682ac8ed..90b8cf6692 100644 > > --- a/drivers/net/mlx5/mlx5_flow.c > > +++ b/drivers/net/mlx5/mlx5_flow.c > > @@ -134,6 +134,7 @@ mlx5_flow_is_rss_expandable_item(const struct > > rte_flow_item *item) > > case RTE_FLOW_ITEM_TYPE_MPLS: > > case RTE_FLOW_ITEM_TYPE_VXLAN_GPE: > > case RTE_FLOW_ITEM_TYPE_GRE_KEY: > > + case RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT: > > Adding IPV6_FRAG_EXT to the list of expandable is not accurate, > Assuming HW support matching on L4 info after frag - which I think it doesn't. > It will lead that the first frag will get different hash than other frags > since it the only one which contain info of L4 header > This will lead to different RSS spreading and that's not correct.
No, it will not expand to any items because the .next field is empty of entry MLX5_EXPANSION_IPV6_FRAG_EXT in mlx5_support_expansion[]. -Jack > > Kindest regards, > Raslan Darawsheh