#switchdev

2025-05-10

So, a bunch of #multicast fixes for #rtl83xx / #OpenWrt / Linux bridge / #switchdev / DSA patches are out now.

Fix 1: Already applied: github.com/openwrt/openwrt/pul
Fix 2: Pending: github.com/openwrt/openwrt/pul

And a slightly larger patchset here: github.com/openwrt/openwrt/pul

2025-03-26

Curse you, #Linux bridge (or #DSA or #switchdev) - why do you send this uncalled-for #VLAN deletion notification... (and do I dig deeper into this, maybe finding a bug?, or should I just go for the other approach I wanted to implement anyway, which wouldn't need to hook into the VLAN notifications in the first place...)

#multicast #rtl83xx #switch

2025-03-11

I really think #Linux kernel switch folks should make up their mind at some point if they think switch drivers should register handlers with #DSA or if they should implement a switch-case to check for various #switchdev events for the same stuff. One approach should be ditched.

2025-03-11

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...

2025-03-11

...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...

2025-03-11

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...

2025-03-11

Could it be that #switchdev vs. #DSA is a bit of a mess on #Linux? I have the feeling I'm starting to get a better hang of their code, while trying to implement something in there. For instance: The Linux bridge notifies MDB additions through switchdev events. Either your switch driver can listen/react to them directly. But also DSA listens to them and can call a port_mdb_add handler which your driver registered with DSA. Some drivers are some DSA / switchdev hybrid...

2025-02-23

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

2025-02-23

and Jan's reply on the #OpenWrt forum also lead me to this observation, that several #switchdev drivers seem to try to emulate a multicast router port by mirroring all known #multicast listener entries onto these mc router ports... patchwork.ozlabs.org/project/o
Which makes me scream, this is broken in so many scenarios... like when you use multiple #IGMP / #MLD snooping switches. Or if you don't have a listener for that group, only a sender, whose packets still need to go to multicast routers.

2025-01-26

Can anyone recommend any #switchdev capable switches? Doesn't have to be crazy fast, 1 Gbit/s ports would be fine. I'd mostly be interested in using it for #multicast, so that the #IGMP / #MLD snooping would be performed by the #Linux bridge. Is there anything that would be affordable for a #hackspace?

2024-09-07

Been looking for a #Marvell 88E6393X switch chipset equipped board to run our little NOS on. Older LinkStreet/SOHO variants are also of interest, but not too old. Newer Prestera based ones don’t have #linux #switchdev support so not interesting (unfortunately because the Ironman is quite impressive!)

So far I’ve only found MikroTik RB5009. Which is interesting but needs a bit of work to get going with, and is limited to their bootloader.

Any tips are interesting, please RT! 😊

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst