Jiri Benc <jb...@redhat.com> writes:
> On Mon, 16 Sep 2019 14:04:00 +0000, Petr Machata wrote: >> I was actually thinking about /var/run/netns being mounted elsewhere or >> some such, which would prevent "ip netns id" from working. The symbolic >> names seem to be accessible from other namespaces just fine --"ip netns >> exec foo ip netns exec bar bash" works-- but renaming /var/run breaks >> it. > > /var/run/netns is a convention introduced by iproute2 and respected by > many, but sadly not all, other net management systems. There is no > concept of netns names in the kernel. > > And it is a completely different thing than netnsids. The netns mounts > allow you to get a file descriptor referencing the target net name > space unambiguously. Such fd can be used for many operations, most > importantly to switch yourself into that net name space (see setns(2)). > You can obtain the fd by other means, too, for example by > opening /proc/<pid>/ns/net. > > netnsid is a different integer. It is valid only in the net name space > it was created in and references a target net name space. It can be > used only in netlink operations. It is completely managed by the kernel > and does not require the netns to be mounted nor /proc to be mounted. Thanks for clearing this up for me. I saw the netnsid thing in the man but didn't know what it was for. >> I don't have other ideas than this. I also think that having an easy to >> use way to access the interface outweighs the risks. > > I think proper documentation might help. Add a warning that this > doesn't work across net name spaces and ensure that the API is flexible > enough to allow a new field to be added in the future without breaking > backwards compatibility if we ever need to start communicating also a > netns identifier. So you want to change the current TLV? I guess that's reasonable, since it is essentially an internal API. _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel