diff options
-rw-r--r-- | target/linux/ramips/patches-4.4/0515-net-mediatek-fix-multicast-icmpv6-for-the-rt3050-eth.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-4.4/0515-net-mediatek-fix-multicast-icmpv6-for-the-rt3050-eth.patch b/target/linux/ramips/patches-4.4/0515-net-mediatek-fix-multicast-icmpv6-for-the-rt3050-eth.patch new file mode 100644 index 0000000..66b65d8 --- /dev/null +++ b/target/linux/ramips/patches-4.4/0515-net-mediatek-fix-multicast-icmpv6-for-the-rt3050-eth.patch @@ -0,0 +1,26 @@ +From: Vittorio Gambaletta <openwrt@vittgam.net> +Date: Mon, 02 May 2016 04:55:48 +0200 +Subject: [PATCH] net: mediatek: Fix multicast ICMPv6 for the rt3050 ethernet switch. + +The FCT2 esw register should be set to 0x2500C to have "unknown IPv6 +multicast" packets broadcasted to every port, instead of dropped. +The previous value only let those packets go through ports 1 and 3. + +"Unknown IPv6 multicast" packets include packets needed by ICMPv6 echo +requests addressed to well-known addresses, such as ff02::1 (MAC address +is 33:33:00:00:00:01 in this case). + +Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net> +--- + +--- a/drivers/net/ethernet/mediatek/esw_rt3050.c ++++ b/drivers/net/ethernet/mediatek/esw_rt3050.c +@@ -450,7 +450,7 @@ static void esw_hw_init(struct rt305x_es + (RT305X_ESW_PORTS_NOCPU << RT305X_ESW_POC2_UNTAG_EN_S)), + RT305X_ESW_REG_POC2); + +- esw_w32(esw, 0x00d6500c, RT305X_ESW_REG_FCT2); ++ esw_w32(esw, 0x0002500c, RT305X_ESW_REG_FCT2); + + /* 300s aging timer, max packet len 1536, broadcast storm prevention + * disabled, disable collision abort, mac xor48 hash, 10 packet back |