Re: [PATCH net] net: lan966x: Fix port police support using tc-matchall

From: Vladimir Oltean
Date: Wed Mar 01 2023 - 07:27:20 EST


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>

but the extack message is also wrong; it says it failed to add the
policer, when the operation that failed was a deletion.