mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-19 11:02:09 -05:00
L3 routing in Realtek switches is some magic voodoo. Especially the syslog messages are not helpful at all for error diagnosis. As a first step refactor rtldsa_fib4_add() and rtldsa_fib4_del() to get some idea what is going on. For this add a helper function rtldsa_fib4_check() for basic sanity checks and logging. Do not only increase verbosity but fix some coding as well. - Drop leftover checks for subnet 192.168.100.x - Better detection of broadcast routes - clearer MAC/VLAN formatting - sort variables descending - rename 1 char variable "r" to "route" - change log helpers from pr...() to dev_...() Before: [ 5.640463] rtl83xx_fib_event_work_do: FIB4 default rule failed [ 5.647164] rtl83xx_fib_event_work_do: FIB4 default rule failed [ 13.975386] rtl83xx_fib_event_work_do: FIB4 failed [ 13.981456] rtl83xx_fib_event_work_do: FIB4 failed [ 13.986906] rtl83xx_fib_event_work_do: FIB4 failed [ 18.455777] rtl83xx_fib4_del: no such gateway: 0.0.0.0 [ 18.470993] rtl83xx_fib4_del: no such gateway: 0.0.0.0 [ 18.476839] rtl83xx_fib4_del: no such gateway: 0.0.0.0 After: [ 13.812501] rtl83xx-switch switch@1b000000: add IPv4 route 192.168.1.1/32 (VLAN 0, MAC 80:00:37:74:80:00) [ 13.823501] rtl83xx-switch switch@1b000000: lower interface lan1 not found [ 13.831371] rtl83xx-switch switch@1b000000: fib_add() failed [ 13.848157] rtl83xx-switch switch@1b000000: add IPv4 route 192.168.1.255/32 (VLAN 0, MAC 80:00:37:74:80:00) [ 13.859264] rtl83xx-switch switch@1b000000: skip loopback/broadcast address [ 13.883086] rtl83xx-switch switch@1b000000: add IPv4 route 192.168.1.0/24 (VLAN 0, MAC 80:00:37:74:80:00) [ 13.894051] rtl83xx-switch switch@1b000000: lower interface lan1 not found [ 13.902009] rtl83xx-switch switch@1b000000: fib_add() failed [ 18.342938] rtl83xx-switch switch@1b000000: delete IPv4 route 192.168.1.0/24 (VLAN 0, MAC 80:00:37:74:80:00) [ 18.354162] rtl83xx-switch switch@1b000000: no such gateway: 0.0.0.0 [ 18.361483] rtl83xx-switch switch@1b000000: fib_del() failed [ 18.378327] rtl83xx-switch switch@1b000000: delete IPv4 route 192.168.1.255/32 (VLAN 0, MAC 80:00:37:74:80:00) [ 18.389736] rtl83xx-switch switch@1b000000: skip loopback/broadcast address [ 18.419856] rtl83xx-switch switch@1b000000: delete IPv4 route 192.168.1.1/32 (VLAN 0, MAC 80:00:37:74:80:00) [ 18.431160] rtl83xx-switch switch@1b000000: no such gateway: 0.0.0.0 [ 18.438452] rtl83xx-switch switch@1b000000: fib_del() failed [ 54.570217] rtl83xx-switch switch@1b000000: add IPv4 route 192.168.2.71/32 (VLAN 1, MAC d8:ec:5e:5b:7d:a1) [ 54.581329] rtl83xx-switch switch@1b000000: route hashtable extended for gw 0.0.0.0 [ 54.638792] rtl83xx-switch switch@1b000000: add IPv4 route 192.168.2.255/32 (VLAN 1, MAC d8:ec:5e:5b:7d:a1) [ 54.649913] rtl83xx-switch switch@1b000000: skip loopback/broadcast address [ 54.780897] rtl83xx-switch switch@1b000000: add IPv4 route 192.168.2.0/24 (VLAN 1, MAC d8:ec:5e:5b:7d:a1) [ 54.791883] rtl83xx-switch switch@1b000000: route hashtable extended for gw 0.0.0.0 Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/20029 Signed-off-by: Robert Marko <robimarko@gmail.com> |
||
|---|---|---|
| .. | ||
| common.c | ||
| debugfs.c | ||
| dsa.c | ||
| Kconfig | ||
| Makefile | ||
| qos.c | ||
| rtl83xx.h | ||
| rtl838x.c | ||
| rtl838x.h | ||
| rtl839x.c | ||
| rtl930x.c | ||
| rtl931x.c | ||
| tc.c | ||