Skip to content

Commit

Permalink
realtek: Fix VLAN issues introduced by multicast patches
Browse files Browse the repository at this point in the history
This adds the CPU port to the unknown multicast flooding port mask,
which fixes the VLAN issues introduced by the multicast group patches

Tested-by: Russell Senior <russell@personaltelco.net> [Netgear GS108Tv3]
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no> [whitespace fix]
Signed-off-by: Petr Štetiar <ynezz@true.cz> [unknwon typo fix]
  • Loading branch information
logicog authored and ynezz committed May 9, 2021
1 parent f35dbef commit 204956a
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
Expand Up @@ -398,7 +398,7 @@ static void rtl838x_vlan_profile_setup(int profile)
* On RTL93XX, the portmask is directly set in the profile,
* see e.g. rtl9300_vlan_profile_setup
*/
rtl838x_write_mcast_pmask(UNKNOWN_MC_PMASK, 0xfffffff);
rtl838x_write_mcast_pmask(UNKNOWN_MC_PMASK, 0x1fffffff);
}

static inline int rtl838x_vlan_port_egr_filter(int port)
Expand Down
Expand Up @@ -411,7 +411,7 @@ static void rtl839x_vlan_profile_setup(int profile)
sw_w32(p[0], RTL839X_VLAN_PROFILE(profile));
sw_w32(p[1], RTL839X_VLAN_PROFILE(profile) + 4);

rtl839x_write_mcast_pmask(UNKNOWN_MC_PMASK, 0x000fffffffffffff);
rtl839x_write_mcast_pmask(UNKNOWN_MC_PMASK, 0x001fffffffffffff);
}

static inline int rtl839x_vlan_port_egr_filter(int port)
Expand Down
Expand Up @@ -153,9 +153,9 @@ static void rtl930x_vlan_profile_setup(int profile)

// Enable routing of Ipv4/6 Unicast and IPv4/6 Multicast traffic
p[0] |= BIT(17) | BIT(16) | BIT(13) | BIT(12);
p[2] = 0x0fffffff; // L2 unknwon MC flooding portmask: all but the CPU-port
p[3] = 0x0fffffff; // IPv4 unknwon MC flooding portmask
p[4] = 0x0fffffff; // IPv6 unknwon MC flooding portmask
p[2] = 0x1fffffff; // L2 unknown MC flooding portmask all ports, including the CPU-port
p[3] = 0x1fffffff; // IPv4 unknown MC flooding portmask
p[4] = 0x1fffffff; // IPv6 unknown MC flooding portmask

sw_w32(p[0], RTL930X_VLAN_PROFILE_SET(profile));
sw_w32(p[1], RTL930X_VLAN_PROFILE_SET(profile) + 4);
Expand Down

0 comments on commit 204956a

Please sign in to comment.