From: Björn Töpel <bjorn.to...@intel.com> This series adds an AF_XDP sock_diag interface for querying sockets from user-space. Tools like iproute2 ss(8) can use this interface to list open AF_XDP sockets.
The diagnostic provides information about the Rx/Tx/fill/completetion rings, umem, memory usage and such. For a complete list, please refer to the xsk_diag.c file. The AF_XDP sock_diag interface is optional, and can be built as a module. A separate patch series, adding ss(8) iproute2 support, will follow. v1->v2: * Removed extra newline * Zero-out all user-space facing structures prior setting the members * Added explicit "pad" member in _msg struct * Removed unused variable "req" in xsk_diag_handler_dump() Thanks to Daniel for reviewing the series! Cheers, Björn Björn Töpel (3): net: xsk: track AF_XDP sockets on a per-netns list xsk: add id to umem xsk: add sock_diag interface for AF_XDP include/net/net_namespace.h | 4 + include/net/netns/xdp.h | 13 +++ include/net/xdp_sock.h | 1 + include/uapi/linux/xdp_diag.h | 72 +++++++++++++ net/xdp/Kconfig | 8 ++ net/xdp/Makefile | 1 + net/xdp/xdp_umem.c | 13 +++ net/xdp/xsk.c | 36 ++++++- net/xdp/xsk.h | 12 +++ net/xdp/xsk_diag.c | 191 ++++++++++++++++++++++++++++++++++ 10 files changed, 346 insertions(+), 5 deletions(-) create mode 100644 include/net/netns/xdp.h create mode 100644 include/uapi/linux/xdp_diag.h create mode 100644 net/xdp/xsk.h create mode 100644 net/xdp/xsk_diag.c -- 2.19.1