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>