Hi, > -----Original Message----- > From: Raslan Darawsheh <rasl...@mellanox.com> > Sent: Wednesday, May 6, 2020 9:58 AM > To: Slava Ovsiienko <viachesl...@mellanox.com>; Matan Azrad > <ma...@mellanox.com> > Cc: dev@dpdk.org; Ori Kam <or...@mellanox.com>; sta...@dpdk.org > Subject: [PATCH v4] net/mlx5: fix matching for UDP tunnels with verbs > > When creating flow rule with zero specs it will cause > matching all UDP packets like following: > eth / ipv4 / udp / vxlan / end > Such rule will match all udp packets. > > This change the behavior to match the dv flow engine > which will automatically set the match on relative > outer UDP port if the user didn't specify any. > > Fixes: 84c406e74524 ("net/mlx5: add flow translate function") > Cc: sta...@dpdk.org > > Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com> > Acked-by: Matan Azrad <ma...@mellanox.com> > --- > v2: fixed checkpatch issues > v3: handled ITEM_VOID after udp item. > v4: removed extra unnecessary check for NULL > --- > > drivers/net/mlx5/mlx5_flow_verbs.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c > b/drivers/net/mlx5/mlx5_flow_verbs.c > index 7efd97f54..24d4a7203 100644 > --- a/drivers/net/mlx5/mlx5_flow_verbs.c > +++ b/drivers/net/mlx5/mlx5_flow_verbs.c > @@ -680,6 +680,28 @@ flow_verbs_translate_item_udp(struct mlx5_flow > *dev_flow, > udp.val.src_port &= udp.mask.src_port; > udp.val.dst_port &= udp.mask.dst_port; > } > + item++; > + while (item->type == RTE_FLOW_ITEM_TYPE_VOID) > + item++; > + if (!(udp.val.dst_port & udp.mask.dst_port)) { > + switch ((item)->type) { > + case RTE_FLOW_ITEM_TYPE_VXLAN: > + udp.val.dst_port = htons(MLX5_UDP_PORT_VXLAN); > + udp.mask.dst_port = 0xffff; > + break; > + case RTE_FLOW_ITEM_TYPE_VXLAN_GPE: > + udp.val.dst_port = > htons(MLX5_UDP_PORT_VXLAN_GPE); > + udp.mask.dst_port = 0xffff; > + break; > + case RTE_FLOW_ITEM_TYPE_MPLS: > + udp.val.dst_port = htons(MLX5_UDP_PORT_MPLS); > + udp.mask.dst_port = 0xffff; > + break; > + default: > + break; > + } > + } > + > flow_verbs_spec_add(&dev_flow->verbs, &udp, size); > } > > -- > 2.26.0
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh