net/mlx5: fix L3 VXLAN RSS expansion
authorMatan Azrad <matan@mellanox.com>
Wed, 19 Feb 2020 08:29:36 +0000 (08:29 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 19 Feb 2020 17:09:28 +0000 (18:09 +0100)
commitcd04052475995caffc1d59a199260b86f32242cc
tree2f903f43cb97fb5f0f7254e992c7f2a95fcc7361
parentc288d7b5ebc645e45c0477e6f0263020c033abc2
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: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
drivers/net/mlx5/mlx5_flow.c