VSOCK: Introduce VM Sockets
VM Sockets allows communication between virtual machines and the hypervisor.
User level applications both in a virtual machine and on the host can use the
VM Sockets API, which facilitates fast and efficient communication between
guest virtual machines and their host. A socket address family, designed to be
compatible with UDP and TCP at the interface level, is provided.
Today, VM Sockets is used by various VMware Tools components inside the guest
for zero-config, network-less access to VMware host services. In addition to
this, VMware's users are using VM Sockets for various applications, where
network access of the virtual machine is restricted or non-existent. Examples
of this are VMs communicating with device proxies for proprietary hardware
running as host applications and automated testing of applications running
within virtual machines.
The VMware VM Sockets are similar to other socket types, like Berkeley UNIX
socket interface. The VM Sockets module supports both connection-oriented
stream sockets like TCP, and connectionless datagram sockets like UDP. The VM
Sockets protocol family is defined as "AF_VSOCK" and the socket operations
split for SOCK_DGRAM and SOCK_STREAM.
For additional information about the use of VM Sockets, please refer to the
VM Sockets Programming Guide available at:
https://www.vmware.com/support/developer/vmci-sdk/
Signed-off-by: George Zhang <georgezhang@vmware.com>
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Andy king <acking@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-02-06 22:23:56 +08:00
|
|
|
#
|
|
|
|
# Vsock protocol
|
|
|
|
#
|
|
|
|
|
|
|
|
config VSOCKETS
|
|
|
|
tristate "Virtual Socket protocol"
|
|
|
|
help
|
|
|
|
Virtual Socket Protocol is a socket protocol similar to TCP/IP
|
2013-09-29 19:54:15 +08:00
|
|
|
allowing communication between Virtual Machines and hypervisor
|
VSOCK: Introduce VM Sockets
VM Sockets allows communication between virtual machines and the hypervisor.
User level applications both in a virtual machine and on the host can use the
VM Sockets API, which facilitates fast and efficient communication between
guest virtual machines and their host. A socket address family, designed to be
compatible with UDP and TCP at the interface level, is provided.
Today, VM Sockets is used by various VMware Tools components inside the guest
for zero-config, network-less access to VMware host services. In addition to
this, VMware's users are using VM Sockets for various applications, where
network access of the virtual machine is restricted or non-existent. Examples
of this are VMs communicating with device proxies for proprietary hardware
running as host applications and automated testing of applications running
within virtual machines.
The VMware VM Sockets are similar to other socket types, like Berkeley UNIX
socket interface. The VM Sockets module supports both connection-oriented
stream sockets like TCP, and connectionless datagram sockets like UDP. The VM
Sockets protocol family is defined as "AF_VSOCK" and the socket operations
split for SOCK_DGRAM and SOCK_STREAM.
For additional information about the use of VM Sockets, please refer to the
VM Sockets Programming Guide available at:
https://www.vmware.com/support/developer/vmci-sdk/
Signed-off-by: George Zhang <georgezhang@vmware.com>
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Andy king <acking@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-02-06 22:23:56 +08:00
|
|
|
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.
|
|
|
|
|
2017-10-06 04:46:53 +08:00
|
|
|
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.
|
|
|
|
|
VSOCK: Introduce VM Sockets
VM Sockets allows communication between virtual machines and the hypervisor.
User level applications both in a virtual machine and on the host can use the
VM Sockets API, which facilitates fast and efficient communication between
guest virtual machines and their host. A socket address family, designed to be
compatible with UDP and TCP at the interface level, is provided.
Today, VM Sockets is used by various VMware Tools components inside the guest
for zero-config, network-less access to VMware host services. In addition to
this, VMware's users are using VM Sockets for various applications, where
network access of the virtual machine is restricted or non-existent. Examples
of this are VMs communicating with device proxies for proprietary hardware
running as host applications and automated testing of applications running
within virtual machines.
The VMware VM Sockets are similar to other socket types, like Berkeley UNIX
socket interface. The VM Sockets module supports both connection-oriented
stream sockets like TCP, and connectionless datagram sockets like UDP. The VM
Sockets protocol family is defined as "AF_VSOCK" and the socket operations
split for SOCK_DGRAM and SOCK_STREAM.
For additional information about the use of VM Sockets, please refer to the
VM Sockets Programming Guide available at:
https://www.vmware.com/support/developer/vmci-sdk/
Signed-off-by: George Zhang <georgezhang@vmware.com>
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Andy king <acking@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-02-06 22:23:56 +08:00
|
|
|
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.
|
2016-07-28 22:36:35 +08:00
|
|
|
|
|
|
|
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.
|
2017-08-26 12:52:43 +08:00
|
|
|
|
|
|
|
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.
|