[dpdk-dev] [PATCH] net/mlx5: fix MPLS item validation

Dekel Peled dekelp at mellanox.com
Mon Nov 12 10:20:08 CET 2018


Update the mlx5_flow_validate_item_mpls() function to allow
MPLS over UDP as well as MPLS over IP.

Fixes: 84c406e74524 ("net/mlx5: add flow translate function")
Cc: orika at mellanox.com

Signed-off-by: Dekel Peled <dekelp at 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 21d65f4..0db862b 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1626,7 +1626,9 @@ uint32_t mlx5_flow_adjust_priority(struct rte_eth_dev *dev, int32_t priority,
 	const struct rte_flow_item_mpls *mask = item->mask;
 	int ret;
 
-	if (target_protocol != 0xff && target_protocol != IPPROTO_MPLS)
+	/* MPLS over IP and MPLS over UDP is allowed */
+	if (target_protocol != 0xff && target_protocol != IPPROTO_MPLS &&
+	    target_protocol != IPPROTO_UDP)
 		return rte_flow_error_set(error, EINVAL,
 					  RTE_FLOW_ERROR_TYPE_ITEM, item,
 					  "protocol filtering not compatible"
-- 
1.8.3.1



More information about the dev mailing list