All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] net: lan966x: Fix port police support using tc-matchall
@ 2023-02-28 20:47 Horatiu Vultur
  2023-03-01 10:34 ` Simon Horman
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Horatiu Vultur @ 2023-02-28 20:47 UTC (permalink / raw)
  To: netdev, linux-kernel
  Cc: davem, edumazet, kuba, pabeni, UNGLinuxDriver, Horatiu Vultur

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@microchip.com>
---
 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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH net] net: lan966x: Fix port police support using tc-matchall
  2023-02-28 20:47 [PATCH net] net: lan966x: Fix port police support using tc-matchall Horatiu Vultur
@ 2023-03-01 10:34 ` Simon Horman
  2023-03-01 12:27 ` Vladimir Oltean
  2023-03-01 17:30 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 5+ messages in thread
From: Simon Horman @ 2023-03-01 10:34 UTC (permalink / raw)
  To: Horatiu Vultur
  Cc: netdev, linux-kernel, davem, edumazet, kuba, pabeni, UNGLinuxDriver

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@microchip.com>

Reviewed-by: Simon Horman <simon.horman@corigine.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net] net: lan966x: Fix port police support using tc-matchall
  2023-02-28 20:47 [PATCH net] net: lan966x: Fix port police support using tc-matchall Horatiu Vultur
  2023-03-01 10:34 ` Simon Horman
@ 2023-03-01 12:27 ` Vladimir Oltean
  2023-03-01 19:49   ` Horatiu Vultur
  2023-03-01 17:30 ` patchwork-bot+netdevbpf
  2 siblings, 1 reply; 5+ messages in thread
From: Vladimir Oltean @ 2023-03-01 12:27 UTC (permalink / raw)
  To: Horatiu Vultur
  Cc: netdev, linux-kernel, davem, edumazet, kuba, pabeni, UNGLinuxDriver

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@microchip.com>
> ---
>  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@nxp.com>

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net] net: lan966x: Fix port police support using tc-matchall
  2023-02-28 20:47 [PATCH net] net: lan966x: Fix port police support using tc-matchall Horatiu Vultur
  2023-03-01 10:34 ` Simon Horman
  2023-03-01 12:27 ` Vladimir Oltean
@ 2023-03-01 17:30 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-03-01 17:30 UTC (permalink / raw)
  To: Horatiu Vultur
  Cc: netdev, linux-kernel, davem, edumazet, kuba, pabeni, UNGLinuxDriver

Hello:

This patch was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:

On Tue, 28 Feb 2023 21:47:42 +0100 you 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.
> 
> [...]

Here is the summary with links:
  - [net] net: lan966x: Fix port police support using tc-matchall
    https://git.kernel.org/netdev/net/c/81563d8548b0

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net] net: lan966x: Fix port police support using tc-matchall
  2023-03-01 12:27 ` Vladimir Oltean
@ 2023-03-01 19:49   ` Horatiu Vultur
  0 siblings, 0 replies; 5+ messages in thread
From: Horatiu Vultur @ 2023-03-01 19:49 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: netdev, linux-kernel, davem, edumazet, kuba, pabeni, UNGLinuxDriver

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@microchip.com>
> > ---
> >  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@nxp.com>

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-03-01 19:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-28 20:47 [PATCH net] net: lan966x: Fix port police support using tc-matchall Horatiu Vultur
2023-03-01 10:34 ` Simon Horman
2023-03-01 12:27 ` Vladimir Oltean
2023-03-01 19:49   ` Horatiu Vultur
2023-03-01 17:30 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.