On Wed, Mar 10, 2021 at 09:22:34AM +0000, Lorenz Bauer wrote: > On Tue, 9 Mar 2021 at 20:12, Eric Dumazet <eric.duma...@gmail.com> wrote: > > > > On 3/9/21 5:43 AM, Tony Lu wrote: > > > There are lots of net namespaces on the host runs containers like k8s. > > > It is very common to see the same interface names among different net > > > namespaces, such as eth0. It is not possible to distinguish them without > > > net namespace inode. > > > > > > This adds net namespace inode for all net_dev events, help us > > > distinguish between different net devices. > > > > > > Output: > > > <idle>-0 [006] ..s. 133.306989: net_dev_xmit: > > > net_inum=4026531992 dev=eth0 skbaddr=0000000011a87c68 len=54 rc=0 > > > > > > Signed-off-by: Tony Lu <ton...@linux.alibaba.com> > > > --- > > > > > > > There was a proposal from Lorenz to use netns cookies (SO_NETNS_COOKIE) > > instead. > > > > They have a guarantee of being not reused. > > > > After 3d368ab87cf6681f9 ("net: initialize net->net_cookie at netns setup") > > net->net_cookie is directly available. > > The patch set is at > https://lore.kernel.org/bpf/20210219154330.93615-1-...@cloudflare.com/ > but I decided to abandon it. I can work around my issue by comparing > the netns inode of two processes, which is "good enough" for now.
Without the patch set, it is impossible to get net_cookie from userspace, except bpf prog. AFAIK, netns inode has been widely used to distinguish different netns, it is easy to use for docker (/proc/${container_pid}/ns/net). It would be better to provide a unified approach to do so. Cheers, Tony Lu > > -- > Lorenz Bauer | Systems Engineer > 6th Floor, County Hall/The Riverside Building, SE1 7PB, UK > > www.cloudflare.com