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 9d6ca4d8
-
mentioned in commit 189b48eb
-
mentioned in commit 94f94a2a
-
mentioned in commit 6aaee44d
-
mentioned in commit 48c2ee18
-
mentioned in commit 53476b65
-
mentioned in commit 0da2761b
-
mentioned in commit 9513a1a6
-
mentioned in commit fa74ea17
-
mentioned in commit c76e8416
-
mentioned in commit a0cedc52
-
mentioned in commit 4fe50186
-
mentioned in commit e7499da5
-
mentioned in commit f4eb07fe
-
mentioned in commit 58c5ec9d
-
mentioned in commit 170a3a76
-
mentioned in commit 57bfaa51
-
mentioned in commit bf495f58
-
mentioned in commit 7b5f9895
-
mentioned in commit 3cb68f6d
-
mentioned in commit ae8e3828
-
mentioned in commit 912ecfa1
-
mentioned in commit d9c9cc17
-
mentioned in commit 145e7a65
-
mentioned in commit d4a74955
-
mentioned in commit dfe3830d
-
mentioned in commit b33a860d
-
mentioned in commit 0162cb87
-
mentioned in commit d0ed0deb
-
mentioned in commit 3515af78
-
mentioned in commit 1af18e1d
-
mentioned in commit 3c035bf3
-
mentioned in commit 2d2f6b40
-
mentioned in commit e46a8dff
-
mentioned in commit ade21e10
-
mentioned in commit d9687c69
-
mentioned in commit 87038201
-
mentioned in commit b788051b
-
mentioned in commit 9a1583a0
-
mentioned in commit 8467da20
-
mentioned in commit 4066d362
-
mentioned in commit 32ef9e55
-
mentioned in commit 2d3ce146
-
mentioned in commit 09f1c007
-
mentioned in commit a6ff9f9f
-
mentioned in commit 5fe19d2f
-
mentioned in commit 6b2ee251
-
mentioned in commit fc4cca04
-
mentioned in commit eb1f2b4f
-
mentioned in commit 1373f1ba
-
mentioned in commit ad10d6a4
-
mentioned in commit c594dc56
-
mentioned in commit 29fa2cd7
-
mentioned in commit ff67fc1d
-
mentioned in commit b9e7e376
-
mentioned in commit 7eb10d8d
-
mentioned in commit b1a9368b
-
mentioned in commit 1ccd273c
-
mentioned in commit 388a89b2
-
mentioned in commit e9705159
-
mentioned in commit d8150689
-
mentioned in commit 2b859d54
-
mentioned in commit f9dc437b