Commit 03e1d93e0779 ("realtek: add driver support for routing
offload") added routing offload for IPv4, but broke IPv6 routing
completely.  The routing table is empty and cannot be updated:

 root@gs1900-10hp:~# ip -6 route
 root@gs1900-10hp:~# ip -6 route add unreachable default
 RTNETLINK answers: Invalid argument

As a side effect, this breaks opkg on IPv4 only systemts too,
since uclient-fetch fails when there are no IPv6 routes:

 root@gs1900-10hp:~# uclient-fetch http://192.168.99.1
 Downloading 'http://192.168.99.1'
 Failed to send request: Operation not permitted

Fix by returning NOTIFY_DONE when offloading is unsupported, falling
back to default behaviour.

Fixes: 03e1d93e0779 ("realtek: add driver support for routing offload")
Signed-off-by: Bjørn Mork <[email protected]>
---
 .../linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c 
b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c
index 9691b8b5c7b4..6d2996f0afc1 100644
--- a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c
+++ b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c
@@ -1342,7 +1342,7 @@ static int rtl83xx_fib_event(struct notifier_block *this, 
unsigned long event, v
                        struct fib6_entry_notifier_info *fen6_info = ptr;
                        pr_warn("%s: FIB_RULE ADD/DELL for IPv6 not 
supported\n", __func__);
                        kfree(fib_work);
-                       return notifier_from_errno(-EINVAL);
+                       return NOTIFY_DONE;
                }
                break;
 
-- 
2.30.2


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to