OSDN Git Service

VSOCK: add sock_diag interface
authorStefan Hajnoczi <stefanha@redhat.com>
Thu, 5 Oct 2017 20:46:53 +0000 (16:46 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Oct 2017 01:44:17 +0000 (18:44 -0700)
commit413a4317aca7d6367d57a5971b0c461f03851207
treecf1b8a4ac209b5ce6ef8aaf861f84bc8279cf4d8
parent3b4477d2dcf2709d0be89e2a8dced3d0f4a017f2
VSOCK: add sock_diag interface

This patch adds the sock_diag interface for querying sockets from
userspace.  Tools like ss(8) and netstat(8) can use this interface to
list open sockets.

The userspace ABI is defined in <linux/vm_sockets_diag.h> and includes
netlink request and response structs.  The request can query sockets
based on their sk_state (e.g. listening sockets only) and the response
contains socket information fields including the local/remote addresses,
inode number, etc.

This patch does not dump VMCI pending sockets because I have only tested
the virtio transport, which does not use pending sockets.  Support can
be added later by extending vsock_diag_dump() if needed by VMCI users.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
MAINTAINERS
include/uapi/linux/vm_sockets_diag.h [new file with mode: 0644]
net/vmw_vsock/Kconfig
net/vmw_vsock/Makefile
net/vmw_vsock/diag.c [new file with mode: 0644]