Re: [PATCH net] net: lan966x: Fix port police support using tc-matchall
From: Horatiu Vultur
Date: Wed Mar 01 2023 - 14:49:51 EST
The 03/01/2023 14:27, Vladimir Oltean wrote:
Hi Vladimir,
>
> On Tue, Feb 28, 2023 at 09:47:42PM +0100, Horatiu Vultur wrote:
> > When the police was removed from the port, then it was trying to
> > remove the police from the police id and not from the actual
> > police index.
> > The police id represents the id of the police and police index
> > represents the position in HW where the police is situated.
> > The port police id can be any number while the port police index
> > is a number based on the port chip port.
> > Fix this by deleting the police from HW that is situated at the
> > police index and not police id.
> >
> > Fixes: 5390334b59a3 ("net: lan966x: Add port police support using tc-matchall")
> > Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
> > ---
> > drivers/net/ethernet/microchip/lan966x/lan966x_police.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_police.c b/drivers/net/ethernet/microchip/lan966x/lan966x_police.c
> > index a9aec900d608d..7d66fe75cd3bf 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_police.c
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_police.c
> > @@ -194,7 +194,7 @@ int lan966x_police_port_del(struct lan966x_port *port,
> > return -EINVAL;
> > }
> >
> > - err = lan966x_police_del(port, port->tc.police_id);
> > + err = lan966x_police_del(port, POL_IDX_PORT + port->chip_port);
> > if (err) {
> > NL_SET_ERR_MSG_MOD(extack,
> > "Failed to add policer to port");
> > --
> > 2.38.0
> >
>
> Reviewed-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
Thanks for the review.
>
> but the extack message is also wrong; it says it failed to add the
> policer, when the operation that failed was a deletion.
Good catch, but this err path will never be hit as the function
lan966x_police_del always returns 0.
I am planning to send a patch when the net-next gets open to
actually change the return type of the function 'lan966x_police_del' and
then the extack message will be removed.
--
/Horatiu