mbox series

[net-next,v3,0/5] net: sparx5: add support for port mirroring

Message ID 20240420-port-mirroring-v3-0-0fe3ac52006d@microchip.com (mailing list archive)
Headers show
Series net: sparx5: add support for port mirroring | expand

Message

Daniel Machon April 20, 2024, 7:29 p.m. UTC
This series adds support for port mirroring, and port mirroring stats,
through tc matchall action FLOW_ACTION_MIRRED.

The hardware has three independent mirroring probes. Each probe can be
configured with a separate set of filtering conditions that must be
fulfilled before traffic is mirrored.

A mirror probe can have up to 64 source ports and a single monitor port.
The direction of a mirror probe determines if rx or tx traffic is
mirrored from the source port to the monitor port.

To: David S. Miller <davem@davemloft.net>
To: Eric Dumazet <edumazet@google.com>
To: Jakub Kicinski <kuba@kernel.org>
To: Paolo Abeni <pabeni@redhat.com>
To: Lars Povlsen <lars.povlsen@microchip.com>
To: Steen Hegelund <Steen.Hegelund@microchip.com>
To: UNGLinuxDriver@microchip.com
To: Russell King <linux@armlinux.org.uk>
Cc: netdev@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
Cc: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Yue Haibing <yuehaibing@huawei.com>

Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
---
Changes in v3:
- Ditch do_div() (patch #3) to fix warning on hexagon arch, reported by intel bot
- Link to v2: https://lore.kernel.org/r/20240418-port-mirroring-v2-0-20642868b386@microchip.com

Changes in v2:
- Fix clang build warning about uninitialized variable 'err'
- Link to v1: https://lore.kernel.org/r/20240418-port-mirroring-v1-0-e05c35007c55@microchip.com

---
Daniel Machon (5):
      net: sparx5: add new register definitions
      net: sparx5: add bookkeeping code for matchall rules
      net: sparx5: add port mirroring implementation
      net: sparx5: add the tc glue to support port mirroring
      net: sparx5: add support for matchall mirror stats

 drivers/net/ethernet/microchip/sparx5/Makefile     |   3 +-
 .../net/ethernet/microchip/sparx5/sparx5_main.c    |   3 +
 .../net/ethernet/microchip/sparx5/sparx5_main.h    |  25 +++
 .../ethernet/microchip/sparx5/sparx5_main_regs.h   |  68 ++++++
 .../net/ethernet/microchip/sparx5/sparx5_mirror.c  | 235 +++++++++++++++++++++
 .../ethernet/microchip/sparx5/sparx5_tc_matchall.c | 125 ++++++++++-
 6 files changed, 449 insertions(+), 10 deletions(-)
---
base-commit: 1c25fe9a044d5334153a3585754b26553f8287b9
change-id: 20240402-port-mirroring-81735171ecfa

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org April 24, 2024, 12:10 p.m. UTC | #1
Hello:

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

On Sat, 20 Apr 2024 21:29:09 +0200 you wrote:
> This series adds support for port mirroring, and port mirroring stats,
> through tc matchall action FLOW_ACTION_MIRRED.
> 
> The hardware has three independent mirroring probes. Each probe can be
> configured with a separate set of filtering conditions that must be
> fulfilled before traffic is mirrored.
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/5] net: sparx5: add new register definitions
    https://git.kernel.org/netdev/net-next/c/8c82bfdd8499
  - [net-next,v3,2/5] net: sparx5: add bookkeeping code for matchall rules
    https://git.kernel.org/netdev/net-next/c/1ede4acf045c
  - [net-next,v3,3/5] net: sparx5: add port mirroring implementation
    https://git.kernel.org/netdev/net-next/c/4e50d72b3b95
  - [net-next,v3,4/5] net: sparx5: add the tc glue to support port mirroring
    https://git.kernel.org/netdev/net-next/c/2ac99ed9c3ef
  - [net-next,v3,5/5] net: sparx5: add support for matchall mirror stats
    https://git.kernel.org/netdev/net-next/c/5af946f4bb42

You are awesome, thank you!