[dpdk-dev] [PATCH v2] net/mlx5: fix GRE flow rule
Yongseok Koh
yskoh at mellanox.com
Thu May 24 19:56:48 CEST 2018
Creating a flow having pattern from the middle of a packet is allowed. For
example,
testpmd> flow create 0 ingress pattern vxlan vni is 20 / end actions ...
Device can parse GRE protocol number in outer IP header but specifying from
GRE header can't differentiate it from VxLAN tunnel. As a result, the
following rule will be interpreted as a wildcard rule, which always matches
any packet.
testpmd> flow create 0 ingress pattern gre / end actions ...
Fixes: 96c6c65a10d2 ("net/mlx5: support GRE tunnel flow")
Fixes: 1f106da2bf7b ("net/mlx5: support MPLS-in-GRE and MPLS-in-UDP")
Cc: stable at dpdk.org
Signed-off-by: Yongseok Koh <yskoh at mellanox.com>
---
v2:
* amend commit message.
* remove GRE entry from the head item regardless of HW support.
drivers/net/mlx5/mlx5_flow.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 994be05be..adb995f0d 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -331,8 +331,7 @@ static const struct mlx5_flow_items mlx5_flow_items[] = {
[RTE_FLOW_ITEM_TYPE_END] = {
.items = ITEMS(RTE_FLOW_ITEM_TYPE_ETH,
RTE_FLOW_ITEM_TYPE_VXLAN,
- RTE_FLOW_ITEM_TYPE_VXLAN_GPE,
- RTE_FLOW_ITEM_TYPE_GRE),
+ RTE_FLOW_ITEM_TYPE_VXLAN_GPE),
},
[RTE_FLOW_ITEM_TYPE_ETH] = {
.items = ITEMS(RTE_FLOW_ITEM_TYPE_VLAN,
--
2.11.0
More information about the dev
mailing list