> -----Original Message----- > From: Matan Azrad <ma...@mellanox.com> > Sent: Wednesday, February 19, 2020 10:30 > To: dev@dpdk.org > Cc: Slava Ovsiienko <viachesl...@mellanox.com>; sta...@dpdk.org > Subject: [PATCH] net/mlx5: fix L3 vxlan RSS expansion > > The RSS expansion feature was introduced to split RSS flows according to the > adjustment between the RSS types and the flow items. > > The expansion function gets an item tree for the above adjustment from the > caller which reflects the HW needs. > > The standard vxlan header next protocol is always ethernet while there are > some Mellanox customers who use their own method to allow L3 headers > after the vxlan tunnel header. > > The expansion tree of mlx5 PMD didn't expect to get L3 headers after the > vxlan header what caused a failure in flow creation when inner RSS is > requested on L3 after vxlan flow. > > Add IPV4 and IPV6 as optional headers after vxlan in the RSS expansion tree > to allow L3 tunnel support for vxlan. > > Fixes: f4f06e361516 ("net/mlx5: add flow VXLAN item") > Cc: sta...@dpdk.org > > Signed-off-by: Matan Azrad <ma...@mellanox.com> Acked-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
> --- > drivers/net/mlx5/mlx5_flow.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c > index 2548201..6544cc4 100644 > --- a/drivers/net/mlx5/mlx5_flow.c > +++ b/drivers/net/mlx5/mlx5_flow.c > @@ -167,7 +167,9 @@ enum mlx5_expansion { > .rss_types = ETH_RSS_NONFRAG_IPV6_TCP, > }, > [MLX5_EXPANSION_VXLAN] = { > - .next = > RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH), > + .next = > RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH, > + MLX5_EXPANSION_IPV4, > + MLX5_EXPANSION_IPV6), > .type = RTE_FLOW_ITEM_TYPE_VXLAN, > }, > [MLX5_EXPANSION_VXLAN_GPE] = { > -- > 1.8.3.1