From: Bjørn Mork Date: Fri, 22 Oct 2021 16:09:18 +0000 (+0200) Subject: realtek: re-enable IPv6 routing X-Git-Tag: v22.03.0-rc1~1424 X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=d990f805c0caa38ec06ad51b025b6d7b6015c232;p=openwrt%2Fstaging%2Fhauke.git realtek: re-enable IPv6 routing 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 systems 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 --- 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 9691b8b5c7..6d2996f0af 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;