Message ID | 20210219154330.93615-1-lmb@cloudflare.com (mailing list archive) |
---|---|
Headers | show |
Series | Expose network namespace cookies to user space | expand |
On Fri, Feb 19, 2021 at 03:43:26PM +0000, Lorenz Bauer wrote: > We're working on a user space control plane for the BPF sk_lookup > hook [1]. The hook attaches to a network namespace and allows > control over which socket receives a new connection / packet. We are developing a net stack latency tracing tool, which need net_cookie to distinguish different net namespace. Besides that, our container management system need to read net_cookie from userspace. In [0], you said you would give up this patch set. Could you reconsider continuing with these patches? Because we also need them. net_cookie could be an unified net namespace ID to replace netns inode, but there are lots of work to do. [0]: https://lkml.org/lkml/2021/3/10/254 Cheers, Tony Lu > > I'm proposing to add a new getsockopt and a netns ioctl to retrieve > netns cookies, which allows identifying which netns a socket belongs > to. > > 1: https://www.kernel.org/doc/html/latest/bpf/prog_sk_lookup.html > > Changes in v3: > - Use sock_net unconditionally > - Fix unused variable in nsfs ioctl > - Be strict about getsockopt value size > > Changes in v2: > - Rebase on top of Eric Dumazet's netns cookie simplification > > Lorenz Bauer (4): > net: add SO_NETNS_COOKIE socket option > nsfs: add an ioctl to discover the network namespace cookie > tools/testing: add test for NS_GET_COOKIE > tools/testing: add a selftest for SO_NETNS_COOKIE > > arch/alpha/include/uapi/asm/socket.h | 2 + > arch/mips/include/uapi/asm/socket.h | 2 + > arch/parisc/include/uapi/asm/socket.h | 2 + > arch/sparc/include/uapi/asm/socket.h | 2 + > fs/nsfs.c | 7 +++ > include/uapi/asm-generic/socket.h | 2 + > include/uapi/linux/nsfs.h | 2 + > net/core/sock.c | 7 +++ > tools/testing/selftests/net/.gitignore | 1 + > tools/testing/selftests/net/Makefile | 2 +- > tools/testing/selftests/net/config | 1 + > tools/testing/selftests/net/so_netns_cookie.c | 61 +++++++++++++++++++ > tools/testing/selftests/nsfs/.gitignore | 1 + > tools/testing/selftests/nsfs/Makefile | 2 +- > tools/testing/selftests/nsfs/config | 1 + > tools/testing/selftests/nsfs/netns.c | 57 +++++++++++++++++ > 16 files changed, 150 insertions(+), 2 deletions(-) > create mode 100644 tools/testing/selftests/net/so_netns_cookie.c > create mode 100644 tools/testing/selftests/nsfs/netns.c > > -- > 2.27.0