Message ID | 20240420-port-mirroring-v3-0-0fe3ac52006d@microchip.com (mailing list archive) |
---|---|
Headers | show |
Series | net: sparx5: add support for port mirroring | expand |
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!
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,