On Tue, Jun 18, 2019 at 10:24:49AM +0000, Parav Pandit wrote: > > > > -----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. It is also completely indigestible and should be break into peaces to make it readable. Thanks