[PATCH net-next 00/10] net: renesas: rswitch: R-Car S4 add HW offloading for layer 3 routing

Michael Dege posted 10 patches 1 month, 1 week ago
.../net/renesas,r8a779f0-ether-switch.yaml         |   3 +
.../boot/dts/renesas/r8a779f0-spider-ethernet.dtsi |   3 +
arch/arm64/boot/dts/renesas/r8a779f4-s4sk.dts      |   2 +
drivers/net/ethernet/renesas/Makefile              |   2 +-
drivers/net/ethernet/renesas/rswitch.h             | 230 ++++++-
drivers/net/ethernet/renesas/rswitch_l2.c          |   2 +-
drivers/net/ethernet/renesas/rswitch_l3.c          | 751 +++++++++++++++++++++
drivers/net/ethernet/renesas/rswitch_l3.h          |  24 +
drivers/net/ethernet/renesas/rswitch_main.c        | 156 ++++-
9 files changed, 1124 insertions(+), 49 deletions(-)
[PATCH net-next 00/10] net: renesas: rswitch: R-Car S4 add HW offloading for layer 3 routing
Posted by Michael Dege 1 month, 1 week ago
Hello!

The current R-Car S4 rswitch driver only supports port based fowarding
and L2 switching/bridgeing.
This patch set adds HW offloading for simple L3 routing.

1. Clean up MII settings.

2. enable Phy link status pin

3. renesas,r8a779f0-ether-switch.yaml: add optional property "link-pin"

4. r8a779f4-s4sk.dts add link-pin property

5. r8a779f0-spider-ethernet.dtsi add link-pin property

6. Add MAC address filtering.

7. Fix FWPCx register names in macros

8. Add bit access macros for forwarding engine.

9. Add the L3 driver extension in a separate file. The HW offloading
is automatically configured when a port is configured with an IP
address and set to up state.

10: Update error handling of probe function.

Usage example:
ip addr add 192.168.1.22/24 dev tsn0
ip addr add 192.168.10.22/24 dev tsn1
ip link set tsn0 up
ip link set tsn1 up
echo 1 > /proc/sys/net/ipv4/ip_forward

Layer 3 traffic is now routed by HW from port TSN0 to port TSN1.

Signed-off-by: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Michael Dege <michael.dege@renesas.com>
---
Christophe JAILLET (1):
      net: renesas: rswitch: update error handling of probe

Michael Dege (9):
      net: renesas: rswitch: cleanup MII settings
      net: renesas: rswitch: enable Phy link status pin
      dt-bindings: net: renesas,r8a779f0-ether-switch.yaml: add optional property link-pin
      arm64: dts: renesas: r8a779f4-s4sk.dts add link-pin property
      arm64: dts: renesas: r8a779f0-spider-ethernet.dtsi add link-pin property
      net: renesas: rswitch: add MAC address filtering
      net: renesas: rswitch: fix FWPCx register names
      net: renesas: rswitch: add bit access macros for forwarding engine
      net: renesas: rswitch: add simple l3 routing

 .../net/renesas,r8a779f0-ether-switch.yaml         |   3 +
 .../boot/dts/renesas/r8a779f0-spider-ethernet.dtsi |   3 +
 arch/arm64/boot/dts/renesas/r8a779f4-s4sk.dts      |   2 +
 drivers/net/ethernet/renesas/Makefile              |   2 +-
 drivers/net/ethernet/renesas/rswitch.h             | 230 ++++++-
 drivers/net/ethernet/renesas/rswitch_l2.c          |   2 +-
 drivers/net/ethernet/renesas/rswitch_l3.c          | 751 +++++++++++++++++++++
 drivers/net/ethernet/renesas/rswitch_l3.h          |  24 +
 drivers/net/ethernet/renesas/rswitch_main.c        | 156 ++++-
 9 files changed, 1124 insertions(+), 49 deletions(-)
---
base-commit: 575742822dceb5c57ef25f5cd715e7d0a7b39e9c
change-id: 20250925-add_l3_routing-3cd5c02a499e

Best regards,
-- 
Michael Dege <michael.dege@renesas.com>