Le 21/05/2026 à 18:01, Ilya Maximets a écrit : > On 5/21/26 4:25 PM, Nicolas Dichtel wrote: >> Le 21/05/2026 à 16:00, Jiri Benc a écrit : >>> On Thu, 21 May 2026 14:36:12 +0200, Nicolas Dichtel wrote: >>>> I still don't think that this is the right "fix". The app is broken. Even >>>> after >>>> this patch, the bug could be easily triggered again by a third party. >>>> There is nothing wrong with assigning a self-nsid. It would be a lot more >>>> robust >>>> for the app to assign itself a self-nsid when it starts. >>> >>> On the other hand, does the patch break anything in practice (as >>> opposed to in theory)? It makes live of several apps simpler, which is >>> not a bad goal. >> I'm not against the patch, it just look like a workaround. >> I'm trying to understand how NETLINK_LISTEN_ALL_NSID is used (in fact, why >> it is >> used if the app doesn't "understand" NSIDs). > > ovs-vswitchd works with NSIDs of remote ports. So it does understand them, it > just doesn't expect the self-referential ones for the local namespace. > > openvswitch module has a minimal support for cross-namespace operation. > Ports can > be added to the openvswitch datapath and then moved to a different namespace > (it's > a little weird use case, but that's beyond the point here). ovs-vswitchd > learns > new NSIDs of those ports from the openvswitch module and then it can perform a > limited set of cross-namespace operations on them and monitor their status > changes > through notifications on an all-nsid socket. It never learns the NSID of the > current local namespace, because all the local ports can be directly accessed > and > openvswitch module doesn't report an NSID for them, as it's not needed for > anything. > > In the end, ovs-vswitchd knows all the remote NSIDs it needs to know and can > recognize them in notifications. But it doesn't know the NSID of it's own > local > namespace, as the openvswitch module never reports that for local ports and > ovs-vswitchd doesn't explicitly check its own NSID. So, local notifications > with > NSID set get treatment of a notification from some remote namespace that we > do not > care about. > > We will be putting changes into ovs-vswitch to work around this issue, simply > because it will take time for the kernel patch to propagate to distros. But > this > code will not be useful for anything except for working around this one > specific > case and so it would be nice to get rid of it eventually. And it would be > nice > if future applications didn't need to care about this behavior as well. > Having > the fix in stable will speed up the process significantly. Ok, thanks for the details.
Regards, Nicolas

