> -----Original Message----- > From: linux-rdma-owner@xxxxxxxxxxxxxxx <linux-rdma- > owner@xxxxxxxxxxxxxxx> On Behalf Of Saeed Mahameed > Sent: Tuesday, June 18, 2019 12:54 AM > To: Saeed Mahameed <saeedm@xxxxxxxxxxxx>; Leon Romanovsky > <leonro@xxxxxxxxxxxx> > Cc: netdev@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Jianbo Liu > <jianbol@xxxxxxxxxxxx>; Roi Dayan <roid@xxxxxxxxxxxx>; Mark Bloch > <markb@xxxxxxxxxxxx> > Subject: [PATCH mlx5-next 12/15] net/mlx5: E-Switch, Enable vport metadata > matching if firmware supports it > > From: Jianbo Liu <jianbol@xxxxxxxxxxxx> > > As the ingress ACL rules save vhca id and vport number to packet's metadata > REG_C_0, and the metadata matching for the rules in both fast path and slow > path are all added, enable this feature if supported. > > Signed-off-by: Jianbo Liu <jianbol@xxxxxxxxxxxx> > Reviewed-by: Roi Dayan <roid@xxxxxxxxxxxx> > Reviewed-by: Mark Bloch <markb@xxxxxxxxxxxx> > Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> > --- > .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c > b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c > index 363517e29d4c..5124219a31de 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c > @@ -1906,12 +1906,25 @@ static int > esw_vport_ingress_common_config(struct mlx5_eswitch *esw, > return err; > } > > +static int esw_check_vport_match_metadata_supported(struct mlx5_eswitch > +*esw) { > + return (MLX5_CAP_ESW_FLOWTABLE(esw->dev, > fdb_to_vport_reg_c_id) & > + MLX5_FDB_TO_VPORT_REG_C_0) && > + MLX5_CAP_ESW_FLOWTABLE(esw->dev, flow_source) && > + MLX5_CAP_ESW(esw->dev, esw_uplink_ingress_acl) && > + !mlx5_core_is_ecpf_esw_manager(esw->dev) && > + !mlx5_ecpf_vport_exists(esw->dev); > +} > + struct mlx5_eswitch* should be const. return type should be bool.