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>
-
mentioned in commit 7e0afbdf
-
mentioned in commit d618b184
-
mentioned in commit eba49f06
-
mentioned in commit de25fb85
-
mentioned in commit efbdae03
-
mentioned in commit 69e9fd9d
-
mentioned in commit ac79b1d9
-
mentioned in commit dbdc5fef
-
mentioned in commit b3c91763
-
mentioned in commit 15da94e7
-
mentioned in commit d8a3f2ac
-
mentioned in commit 5ebb9947
-
mentioned in commit 737af131
-
mentioned in commit 8569d30b
-
mentioned in commit 95399773
-
mentioned in commit 1b55900f
-
mentioned in commit 23998038
-
mentioned in commit 1225bb45
-
mentioned in commit b9e71969
-
mentioned in commit 0974f5cb
-
mentioned in commit d234618d
-
mentioned in commit e97aea9f
-
mentioned in commit 878ffbe4
-
mentioned in commit 5d3daa28
-
mentioned in commit eedcf3fb
-
mentioned in commit b2d1b662
-
mentioned in commit 7e03b797
-
mentioned in commit 24404822
-
mentioned in commit dd6c5f89
-
mentioned in commit 0608664f
-
mentioned in commit cb31b27c
-
mentioned in commit 472970a3
-
mentioned in commit b9208492
-
mentioned in commit e3b3939f
-
mentioned in commit 2910bcb9
-
mentioned in commit 0bb88f3f
-
mentioned in commit 87cd1bbd
-
mentioned in commit 5f326fe2
-
mentioned in commit ec0a5b73
-
mentioned in commit 9035d591
-
mentioned in commit 4c814f55
-
mentioned in commit 2fc2a776
-
mentioned in commit 09fc7ffd
-
mentioned in commit f82f1e20
-
mentioned in commit 0ecc55fe
-
mentioned in commit 2832d624
-
mentioned in commit d88b43a8
-
mentioned in commit 440cee97
-
mentioned in commit 5a903090