> On Fri, Feb 10, 2023 at 04:40:48PM +0530, Hariprasad Kelam wrote: > > From: Naveen Mamindlapalli <naveenm@xxxxxxxxxxx> > > > > The current implementation of HTB offload returns the EINVAL error for > > unsupported parameters like prio and quantum. This patch removes the > > error returning checks for 'prio' parameter and populates its value to > > tc_htb_qopt_offload structure such that driver can use the same. > > > > Add prio parameter check in mlx5 driver, as mlx5 devices are not > > capable of supporting the prio parameter when htb offload is used. > > Report error if prio parameter is set to a non-default value. > > > > Signed-off-by: Naveen Mamindlapalli <naveenm@xxxxxxxxxxx> > > Co-developed-by: Rahul Rameshbabu <rrameshbabu@xxxxxxxxxx> > > Signed-off-by: Rahul Rameshbabu <rrameshbabu@xxxxxxxxxx> > > Signed-off-by: Hariprasad Kelam <hkelam@xxxxxxxxxxx> > > Signed-off-by: Sunil Kovvuri Goutham <sgoutham@xxxxxxxxxxx> > > --- > > drivers/net/ethernet/mellanox/mlx5/core/en/qos.c | 7 ++++++- > > include/net/pkt_cls.h | 1 + > > net/sched/sch_htb.c | 7 +++---- > > 3 files changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c > > b/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c > > index 2842195ee548..b683dc787827 100644 > > --- a/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c > > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c > > @@ -379,6 +379,12 @@ int mlx5e_htb_setup_tc(struct mlx5e_priv *priv, > struct tc_htb_qopt_offload *htb_ > > if (!htb && htb_qopt->command != TC_HTB_CREATE) > > return -EINVAL; > > > > + if (htb_qopt->prio) { > > + NL_SET_ERR_MSG_MOD(htb_qopt->extack, > > + "prio parameter is not supported by device > with HTB offload enabled."); > > + return -EINVAL; > > I think returning -EOPNOTSUPP would be more appropriate here. ACK, will fix in next version. Thanks, Hariprasad k > > > + } > > + > > switch (htb_qopt->command) { > > case TC_HTB_CREATE: > > if (!mlx5_qos_is_supported(priv->mdev)) { @@ -515,4 > +521,3 @@ int > > mlx5e_mqprio_rl_get_node_hw_id(struct mlx5e_mqprio_rl *rl, int tc, u32 > *hw_i > > *hw_id = rl->leaves_id[tc]; > > return 0; > > } > > - > > nit: This is a good cleanup. But not strictly related to this patch. > > ...