Читаю код в net/core/net_namespace.c который отвечает за присвоение netns уникального ID:
rtnl_net_newid()
-> nsid = nla_get_s32(tb[NETNSA_NSID]);
-> alloc_netid(net, peer, nsid);
-> idr_alloc(&net->netns_ids, peer, ...);
-> rtnl_net_notifyid(net, RTM_NEWNSID, err);
То есть этот код выполняется в ответ на:
$ ip netns add ns1
$ ip netns set ns1 789
Однако я не нашел в коде, где именно хранится аллоцированный ID, то есть нигде в 'struct net' nsid не сохраняют явным образом. В таком случае, где его хранят?