Hi, > -----Original Message----- > From: Viacheslav Ovsiienko <viachesl...@mellanox.com> > Sent: Thursday, November 14, 2019 10:57 AM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@mellanox.com>; Raslan Darawsheh > <rasl...@mellanox.com>; Ori Kam <or...@mellanox.com> > Subject: [PATCH] net/mlx5: fix vport id value in port id action > > The kernel driver (starting from OFED 4.7.3.1.3) uses the upper half > of metadata register C0 to provide VHCA and vport id's. The mlx5 PMD > should check the actual mask of register C0 and shift the vport id > value for port actions appropriately. > > Fixes: f07341e7aed3 ("net/mlx5: update source and destination vport > translations") > > Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> > --- > drivers/net/mlx5/mlx5_flow_dv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_flow_dv.c > b/drivers/net/mlx5/mlx5_flow_dv.c > index 2094e18..5a0cd09 100644 > --- a/drivers/net/mlx5/mlx5_flow_dv.c > +++ b/drivers/net/mlx5/mlx5_flow_dv.c > @@ -6532,7 +6532,8 @@ struct field_modify_info modify_tcp[] = { > NULL, > "No eswitch info was found for > port"); > if (priv->vport_meta_mask) > - *dst_port_id = priv->vport_meta_tag; > + *dst_port_id = priv->vport_meta_tag >> > + rte_bsf32(priv->vport_meta_mask); > else > *dst_port_id = priv->vport_id; > return 0; > -- > 1.8.3.1
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh