The #rtl9300 datasheets also read as if they had planned to provide some easy, built-in trapping options for #IGMP / #MLD reports, as they had for #rtl83xx, based on their new ACL / packet inspection engine. But that they had scraped that and postponed that to their bigger #rtl9310 chips.
#multicast
For the #Realtek #rtl9300 (excluding #rtl9310) switch chips for #OpenWrt further datasheet readings and bit fumbling brought me to the conclusion (for now) that it seems that there is no easy way for #IGMP / #MLD report trapping anymore. Hence #multicast snooping support for #rtl9300 on OpenWrt will be more tricky...
For #rtl93xx they introduced a new, powerful ACL / packet inspection system. And trapping has been changed quite a bit compared to #rtl83xx.
Also finally found some combination of register setups and diffs for this #Xikestor #Realtek #rtl9300 based chip which correctly traps #MLD packets to the CPU / Linux kernel/bridge, which is necessary to fix #multicast snooping with it.
The combination doesn't fully make sense to me yet though, will need to play around a little more to hopefully get a better understanding. But at least that seems like some progress. Will also need to check #IGMP later.

Как я победил «замирающее» IPTV на MikroTik с двумя провайдерами (MultiWan) и DoH

История одной диагностики, которая затянулась, но закончилась хеппи-эндом Если у вас MikroTik, два провайдера, настроена балансировка (PCC), вы включили DNS-over-HTTPS (DoH) для безопасности, а IPTV на Android-приставке работает с перебоями или замирает при включении второго WAN канала — эта статья для вас. Я прошёл этот путь от начала до конца и хочу поделиться готовым решением. Проблема: IPTV на Android-приставке работало стабильно только при отключённом одном из провайдеров. При двух активных каналах видео начинало "замирать" через некоторое время после переключения каналов.

https://habr.com/ru/articles/1002988/

#mikrotik #multiwan #doh #dns #ip_tv #udp #igmpproxy #igmp

Как я победил «замирающее» IPTV на MikroTik с двумя провайдерами (MultiWan) и DoH

История одной диагностики, которая затянулась, но закончилась хеппи-эндом Если у вас MikroTik, два провайдера, настроена балансировка (PCC), вы включили DNS-over-HTTPS (DoH) для безопасности, а IPTV...

Хабр
In the classic, non-DSA #Linux bridge the philosophy so far is: No matter in what combination you enable/disable multicast_snooping+ multicast_querier: The bridge ensures you don't break any network protocol, it detects per protocol family if #multicast snooping is applicable. That together with #RFC4541 I think is the only way to regain trust for #IGMP / #MLD snooping imo.
And now things like #DSA or #switchdev come along with non-foolproof solutions, diverging between each driver...
...and even this mrouter exists #switchdev event is a quite incomplete approach. What if you multicast router somehow #IGMP / #MLD querying disabled -> would break any #IPv6, even if you're not using multicast routing. What if you only have an IGMP querier? Would notify an mrouter-exists, but there's no MLD querier, so again IPv6 would be broken...
Neither #switchdev nor #DSA really check if an IGMP/MLD querier exists. So if you enable #multicast snooping on these you currently also need to make sure to have an #IGMP / #MLD querier somewhere. Which is different to a classic Linux bridge, which will stop snooping optimizations if there is none, to avoid packet loss. Only for Marvell Prestera I found some mrouter-exists check via an according switchdev event. Which no other driver uses. And...
Had found an issue with the #DSA #rtl83xx #IGMP / #MLD snooping code in #OpenWrt, it would always flood snoopable IP #multicast payload with no MDB entry, instead of dropping. Finally got some clue how this chip gets configured, it's a bit confusing with all these tables and how they point to each other :D. And these magic shifting numbers, instead abstracting them... Also found one bug in one shift value, I think.
And could get things to drop! Now need to drop more selectively.
Next PoE capable switch arrived from kleinanzeigen.de. This one hopefully supports #OpenWrt and #DSA out-of-the-box and has some progress towards #IGMP / #MLD snooping support. Hoping that it might be the pick to get #multicast running in our hackspace at the #Nobreakspace. There's still work on multicast router ports needed though.
But before I get started on this one, need to document+upload my previous progress on getting #OpenWrt running on the #Dlink DGS-1210-10P **B1** to the OpenWrt wiki.
for the former case it is broken when you have devices/listeners with #IGMP v1/v2 or #MLD v1, instead of IGMPv3 / MLDv2. The issue you'll then potentially run into is IGMP / MLD report suppression. The big thing which #RFC4541 specifies an ugly workaround for... this whole report suppression has lead to so many hard to debug, subtle breakages for decades and now seems to continue with #Linux #DSA / #switchdev...
#multicast #igmpsnooping #mldsnooping