mastodon.ie is one of the many independent Mastodon servers you can use to participate in the fediverse.
Irish Mastodon - run from Ireland, we welcome all who respect the community rules and members.

Administered by:

Server stats:

1.6K
active users

#switchdev

0 posts0 participants0 posts today
Continued thread

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.

Continued thread

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

Continued thread

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

Continued thread

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

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

Continued thread

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.

patchwork.ozlabs.org[0/6] realtek: fix management of mdb entries - Patchwork