diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2021-06-22 00:45:21 +0200 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-06-22 23:23:00 +0200 |
commit | b7ee0786b56d1088c195fe7c1cdb1ad7d20c9245 (patch) | |
tree | 32db1b27e02bf87b229b0bd1bc4f7f3fcf1f3d0f | |
parent | 790561d5109ef81537fdb8ceb8eb183c0cab077c (diff) | |
download | upstream-b7ee0786b56d1088c195fe7c1cdb1ad7d20c9245.tar.gz upstream-b7ee0786b56d1088c195fe7c1cdb1ad7d20c9245.tar.bz2 upstream-b7ee0786b56d1088c195fe7c1cdb1ad7d20c9245.zip |
realtek: Fix failsafe mode
The RTL8380-RTL9300 switches only forward packets when VLAN ID 1 is
configured. Do not use the standard failsafe configuration for DSA
accessing the default port directly, but configure a switch on the lan1
interface instead.
This will add the VLAN ID 1 configuration to the switch:
$ bridge vlan show
port vlan-id
lan1 1 PVID Egress Untagged
switch 1 PVID Egress Untagged
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r-- | target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek | 13 | ||||
-rw-r--r-- | target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek | 6 |
2 files changed, 19 insertions, 0 deletions
diff --git a/target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek b/target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek new file mode 100644 index 0000000000..e2a7cf5a69 --- /dev/null +++ b/target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek @@ -0,0 +1,13 @@ +set_preinit_iface() { + + # Create a switch on lan1 to configure the VLAN 1. + # Without configuring VLAN ID 1 RTL8380 - RTL9300 will not + # forward packets. + ip link add name switch type bridge vlan_filtering 1 + ip link set dev lan1 master switch + ip link set lan1 up + + pi_ifname=switch +} + +boot_hook_add preinit_main set_preinit_iface diff --git a/target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek b/target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek new file mode 100644 index 0000000000..dc5fdb059b --- /dev/null +++ b/target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek @@ -0,0 +1,6 @@ +remove_switch() { + # delete switch created in 05_set_preinit_iface_realtek again + ip link del name switch +} + +boot_hook_add preinit_main remove_switch |