aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2016-05-02 18:50:52 +0000
committerLuka Perkov <luka@openwrt.org>2016-06-19 19:19:20 +0200
commit63da243b1c2569a1183b4c6b15555023437ae473 (patch)
tree2149bee40ef6e6ede3b790beb32fa474714d7c28 /target
parent9b6296a968a29fd9e4434bbd2c416b3e18b4a9c2 (diff)
downloadmaster-187ad058-63da243b1c2569a1183b4c6b15555023437ae473.tar.gz
master-187ad058-63da243b1c2569a1183b4c6b15555023437ae473.tar.bz2
master-187ad058-63da243b1c2569a1183b4c6b15555023437ae473.zip
ramips: 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). Please note that by default ICMPv6 echo requests to ff02::1 are not replied to by the router because of ip6tables considering those packets to be invalid. But this is another bug/patch. ;) Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49287 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/ramips/patches-4.4/0515-net-mediatek-fix-multicast-icmpv6-for-the-rt3050-eth.patch26
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 0000000000..66b65d8e19
--- /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