aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/patches-4.4/0515-net-mediatek-fix-multicast-icmpv6-for-the-rt3050-eth.patch
blob: 66b65d8e194f65570c0c4954c47980e8825c0ced (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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