netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v4 00/16] Introduce flowtable hw offloading in airoha_eth driver
@ 2025-02-13 15:34 Lorenzo Bianconi
  2025-02-13 15:34 ` [PATCH net-next v4 01/16] net: airoha: Fix TSO support for header cloned skbs Lorenzo Bianconi
                   ` (15 more replies)
  0 siblings, 16 replies; 26+ messages in thread
From: Lorenzo Bianconi @ 2025-02-13 15:34 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Felix Fietkau, Sean Wang, Matthias Brugger,
	AngeloGioacchino Del Regno, Philipp Zabel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lorenzo Bianconi,
	Chester A. Unal, Daniel Golle, DENG Qingfang, Andrew Lunn,
	Vladimir Oltean
  Cc: netdev, linux-arm-kernel, linux-mediatek, devicetree, upstream,
	Mateusz Polchlopek, Christian Marangi, Krzysztof Kozlowski

Introduce netfilter flowtable integration in airoha_eth driver to
offload 5-tuple flower rules learned by the PPE module if the user
accelerates them using a nft configuration similar to the one reported
below:

table inet filter {
	flowtable ft {
		hook ingress priority filter
		devices = { lan1, lan2, lan3, lan4, eth1 }
		flags offload;
	}
	chain forward {
		type filter hook forward priority filter; policy accept;
		meta l4proto { tcp, udp } flow add @ft
	}
}

Packet Processor Engine (PPE) module available on EN7581 SoC populates
the PPE table with 5-tuples flower rules learned from traffic forwarded
between the GDM ports connected to the Packet Switch Engine (PSE) module.
airoha_eth driver configures and collects data from the PPE module via a
Network Processor Unit (NPU) RISC-V module available on the EN7581 SoC.
Move airoha_eth driver in a dedicated folder
(drivers/net/ethernet/airoha).

---
Changes in v4:
- Add dedicated driver for the Airoha NPU module
- Move airoha npu binding in net
- Link to v3: https://lore.kernel.org/r/20250209-airoha-en7581-flowtable-offload-v3-0-dba60e755563@kernel.org

Changes in v3:
- Fix TSO support for header cloned skbs
- Do not use skb_pull_rcsum() in airoha_get_dsa_tag()
- Fix head lean computation after running airoha_get_dsa_tag() in
  airoha_dev_xmit()
- Link to v2: https://lore.kernel.org/r/20250207-airoha-en7581-flowtable-offload-v2-0-3a2239692a67@kernel.org

Changes in v2:
- Add airoha-npu document binding
- Enable Rx SPTAG on MT7530 dsa switch for EN7581 SoC.
- Fix warnings in airoha_npu_run_firmware()
- Fix sparse warnings
- Link to v1: https://lore.kernel.org/r/20250205-airoha-en7581-flowtable-offload-v1-0-d362cfa97b01@kernel.org

---
Lorenzo Bianconi (16):
      net: airoha: Fix TSO support for header cloned skbs
      net: airoha: Move airoha_eth driver in a dedicated folder
      net: airoha: Move definitions in airoha_eth.h
      net: airoha: Move reg/write utility routines in airoha_eth.h
      net: airoha: Move register definitions in airoha_regs.h
      net: airoha: Move DSA tag in DMA descriptor
      net: dsa: mt7530: Enable Rx sptag for EN7581 SoC
      net: airoha: Enable support for multiple net_devices
      net: airoha: Move REG_GDM_FWD_CFG() initialization in airoha_dev_init()
      net: airoha: Rename airoha_set_gdm_port_fwd_cfg() in airoha_set_vip_for_gdm_port()
      dt-bindings: net: airoha: Add the NPU node for EN7581 SoC
      dt-bindings: net: airoha: Add airoha,npu phandle property
      net: airoha: Introduce Airoha NPU support
      net: airoha: Introduce flowtable offload support
      net: airoha: Add loopback support for GDM2
      net: airoha: Introduce PPE debugfs support

 .../devicetree/bindings/net/airoha,en7581-eth.yaml |   10 +
 .../devicetree/bindings/net/airoha,en7581-npu.yaml |   72 ++
 drivers/net/dsa/mt7530.c                           |    5 +
 drivers/net/dsa/mt7530.h                           |    4 +
 drivers/net/ethernet/Kconfig                       |    2 +
 drivers/net/ethernet/Makefile                      |    1 +
 drivers/net/ethernet/airoha/Kconfig                |   27 +
 drivers/net/ethernet/airoha/Makefile               |    9 +
 .../net/ethernet/{mediatek => airoha}/airoha_eth.c | 1281 +++++---------------
 drivers/net/ethernet/airoha/airoha_eth.h           |  553 +++++++++
 drivers/net/ethernet/airoha/airoha_npu.c           |  521 ++++++++
 drivers/net/ethernet/airoha/airoha_npu.h           |   28 +
 drivers/net/ethernet/airoha/airoha_ppe.c           |  894 ++++++++++++++
 drivers/net/ethernet/airoha/airoha_ppe_debugfs.c   |  175 +++
 drivers/net/ethernet/airoha/airoha_regs.h          |  798 ++++++++++++
 drivers/net/ethernet/mediatek/Kconfig              |    8 -
 drivers/net/ethernet/mediatek/Makefile             |    1 -
 17 files changed, 3385 insertions(+), 1004 deletions(-)
---
base-commit: c3a97ccaed80986fc3c0581661bf9170847d23ba
change-id: 20250205-airoha-en7581-flowtable-offload-e3a11b3b34ad

Best regards,
-- 
Lorenzo Bianconi <lorenzo@kernel.org>


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

end of thread, other threads:[~2025-02-18 13:45 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-13 15:34 [PATCH net-next v4 00/16] Introduce flowtable hw offloading in airoha_eth driver Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 01/16] net: airoha: Fix TSO support for header cloned skbs Lorenzo Bianconi
2025-02-14 21:35   ` Jakub Kicinski
2025-02-13 15:34 ` [PATCH net-next v4 02/16] net: airoha: Move airoha_eth driver in a dedicated folder Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 03/16] net: airoha: Move definitions in airoha_eth.h Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 04/16] net: airoha: Move reg/write utility routines " Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 05/16] net: airoha: Move register definitions in airoha_regs.h Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 06/16] net: airoha: Move DSA tag in DMA descriptor Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 07/16] net: dsa: mt7530: Enable Rx sptag for EN7581 SoC Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 08/16] net: airoha: Enable support for multiple net_devices Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 09/16] net: airoha: Move REG_GDM_FWD_CFG() initialization in airoha_dev_init() Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 10/16] net: airoha: Rename airoha_set_gdm_port_fwd_cfg() in airoha_set_vip_for_gdm_port() Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 11/16] dt-bindings: net: airoha: Add the NPU node for EN7581 SoC Lorenzo Bianconi
2025-02-14  8:03   ` Krzysztof Kozlowski
2025-02-13 15:34 ` [PATCH net-next v4 12/16] dt-bindings: net: airoha: Add airoha,npu phandle property Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 13/16] net: airoha: Introduce Airoha NPU support Lorenzo Bianconi
2025-02-17 18:38   ` Simon Horman
2025-02-17 19:23     ` Lorenzo Bianconi
2025-02-18 13:27       ` Simon Horman
2025-02-18 13:45         ` Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 14/16] net: airoha: Introduce flowtable offload support Lorenzo Bianconi
2025-02-14 14:06   ` kernel test robot
2025-02-13 15:34 ` [PATCH net-next v4 15/16] net: airoha: Add loopback support for GDM2 Lorenzo Bianconi
2025-02-13 15:34 ` [PATCH net-next v4 16/16] net: airoha: Introduce PPE debugfs support Lorenzo Bianconi
2025-02-17 18:44   ` Simon Horman
2025-02-17 21:43     ` Lorenzo Bianconi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).