openwrt-6.x/target/linux/realtek
Linus Lüssing 64ad16993d realtek: fix flooding of unsnoopable multicast addresses
RFC4541, section 2.1.2 says:

  Packets with a destination IP (DIP) address in the 224.0.0.X range
  which are not IGMP must be forwarded on all ports.

And section 3 says:

  In IPv6, the data forwarding rules are more straight forward because
  MLD is mandated for addresses with scope 2 (link-scope) or greater.
  The only exception is the address FF02::1 which is the all hosts
  link-scope address for which MLD messages are never sent.  Packets
  with the all hosts link-scope address should be forwarded on all
  ports.

However, currently when a listener on FF12::1 or FF12:🔢0:1 for
example joins then not only packets to these addresses but also for
FF02::1 won't be flooded to all ports anymore, too. Which violates
RFC4541.

This happens because A): They all map to the same ethernet multicast
address, that is 33:33:00:00:00:01. And B) the VLAN profile L2
unknown MC flood setting will only apply flooding of 33:33:00:00:00:01
if there is no specific listener registered for it.

So to fix this, avoid registering an MDB entry in the switch for
33:33:00:00:00:01 at all.

The downside of this is that FF12::1, FF12:🔢0:1 etc.
will always be flooded, too. However fixing the handling of 224.0.0.X
and FF02::1 and adhering to RFC4541 must have priority to avoid
undesired packetloss, to avoid breaking IPv4/IPv6.

Tested-on: ZyXEL GS1900-24HP v1

Fixes: cde31976e3 ("realtek: Add support for Layer 2 Multicast")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/18769
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 19:01:22 +02:00
..
base-files realtek: Split Zyxel GS1900-8 into v1 and v2 2025-01-25 15:07:13 +01:00
dts realtek: fix cpu port link type 2025-05-06 10:56:58 +02:00
files/firmware/rtl838x_phy
files-6.6 realtek: fix flooding of unsnoopable multicast addresses 2025-05-15 19:01:22 +02:00
image realtek: add support for D-Link DGS-1210-26 2025-04-07 12:22:00 +02:00
patches-6.6 kernel: bump 6.6 to 6.6.88 2025-05-03 19:57:53 +02:00
profiles target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
rtl838x realtek: add missing symbol 2025-05-03 23:23:10 +03:00
rtl839x realtek: add missing symbol 2025-05-03 23:23:10 +03:00
rtl930x realtek: add missing symbol 2025-05-03 23:23:10 +03:00
rtl931x realtek rtl931x: mark subtarget as source-only 2025-05-09 16:38:19 +02:00
Makefile realtek: trim default package selection 2025-01-04 20:35:48 +01:00