[PATCH] realtek: Fix VLAN issues introduced by multicast patches
John Crispin
john at phrozen.org
Sat May 8 11:01:18 PDT 2021
@bmork, kindly confirm :-)
John
On 08.05.21 19:50, Birger Koblitz wrote:
> realtek: Fix VLAN issues introduced by multicast patches
>
> This adds the CPU port to the unknown multicast flooding port mask,
> which fixes the VLAN issues introduced by the multicast group patches
>
> Signed-off-by: Birger Koblitz <mail at birger-koblitz.de>
>
> ---
>
> diff --git
> a/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl838x.c
> b/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl838x.c
> index 8f66ae6f8f..7c0d55b67a 100644
> --- a/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl838x.c
> +++ b/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl838x.c
> @@ -501,7 +501,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)
> diff --git
> a/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl839x.c
> b/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl839x.c
> index 74472461a1..c62dc441c1 100644
> --- a/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl839x.c
> +++ b/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl839x.c
> @@ -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)
> diff --git
> a/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl930x.c
> b/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl930x.c
> index 820c78165a..7ff0001ec7 100644
> --- a/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl930x.c
> +++ b/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/rtl930x.c
> @@ -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 unknwon MC flooding portmask all
> ports, including the CPU-port
> + p[3] = 0x1fffffff; // IPv4 unknwon MC flooding portmask
> + p[4] = 0x1fffffff; // IPv6 unknwon MC flooding portmask
>
> sw_w32(p[0], RTL930X_VLAN_PROFILE_SET(profile));
> sw_w32(p[1], RTL930X_VLAN_PROFILE_SET(profile) + 4);
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list