413a4317ac
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>
70 lines
2.1 KiB
Text
70 lines
2.1 KiB
Text
#
|
|
# Vsock protocol
|
|
#
|
|
|
|
config VSOCKETS
|
|
tristate "Virtual Socket protocol"
|
|
help
|
|
Virtual Socket Protocol is a socket protocol similar to TCP/IP
|
|
allowing communication between Virtual Machines and hypervisor
|
|
or host.
|
|
|
|
You should also select one or more hypervisor-specific transports
|
|
below.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called vsock. If unsure, say N.
|
|
|
|
config VSOCKETS_DIAG
|
|
tristate "Virtual Sockets monitoring interface"
|
|
depends on VSOCKETS
|
|
default y
|
|
help
|
|
Support for PF_VSOCK sockets monitoring interface used by the ss tool.
|
|
If unsure, say Y.
|
|
|
|
Enable this module so userspace applications can query open sockets.
|
|
|
|
config VMWARE_VMCI_VSOCKETS
|
|
tristate "VMware VMCI transport for Virtual Sockets"
|
|
depends on VSOCKETS && VMWARE_VMCI
|
|
help
|
|
This module implements a VMCI transport for Virtual Sockets.
|
|
|
|
Enable this transport if your Virtual Machine runs on a VMware
|
|
hypervisor.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called vmw_vsock_vmci_transport. If unsure, say N.
|
|
|
|
config VIRTIO_VSOCKETS
|
|
tristate "virtio transport for Virtual Sockets"
|
|
depends on VSOCKETS && VIRTIO
|
|
select VIRTIO_VSOCKETS_COMMON
|
|
help
|
|
This module implements a virtio transport for Virtual Sockets.
|
|
|
|
Enable this transport if your Virtual Machine host supports Virtual
|
|
Sockets over virtio.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called vmw_vsock_virtio_transport. If unsure, say N.
|
|
|
|
config VIRTIO_VSOCKETS_COMMON
|
|
tristate
|
|
help
|
|
This option is selected by any driver which needs to access
|
|
the virtio_vsock. The module will be called
|
|
vmw_vsock_virtio_transport_common.
|
|
|
|
config HYPERV_VSOCKETS
|
|
tristate "Hyper-V transport for Virtual Sockets"
|
|
depends on VSOCKETS && HYPERV
|
|
help
|
|
This module implements a Hyper-V transport for Virtual Sockets.
|
|
|
|
Enable this transport if your Virtual Machine host supports Virtual
|
|
Sockets over Hyper-V VMBus.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called hv_sock. If unsure, say N.
|