Re: [net-next Patch V4 1/4] sch_htb: Allow HTB priority parameter in offload mode

From: Hariprasad Kelam
Date: Sun Feb 12 2023 - 11:20:05 EST




> 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.
>
> ...