From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yongseok Koh Subject: [PATCH v2] net/mlx5: fix GRE flow rule Date: Thu, 24 May 2018 10:56:48 -0700 Message-ID: <20180524175648.14255-1-yskoh@mellanox.com> References: <20180523015157.35716-1-yskoh@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Cc: dev@dpdk.org, shahafs@mellanox.com, Yongseok Koh , stable@dpdk.org To: adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Return-path: In-Reply-To: <20180523015157.35716-1-yskoh@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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@dpdk.org Signed-off-by: Yongseok Koh --- 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