vmsock - vmware kernel module
This is a Linux kernel device driver module that provides datagram and
stream socket interfaces to the underlying VMCI device. The module
implements a Linux socket family and one of the files in the module,
vmci_sockets.h, provides the various constants and functions necessary
to create and, in the case of streams, connect sockets.
When the module is loaded, /dev/vsock will be created with restricted
permissions. Access to /dev/vsock is required to use VMCI sockets, so
it's recommended that permissions be relaxed via a udev policy file.
For reference, the VMware Tools init script changes the permissions of
/dev/vsock to 666.
Normally, issuing a socket(2) system call will automatically load the
kernel module providing that socket family, but as the vsock module is
out-of-tree, there is no in-tree socket family reservation for VMCI
sockets. Before sockets are created, userspace applications must call
VMCISock_GetAFValue (defined in vmci_sockets.h) which will instruct the
vsock module to dynamically acquire a socket family reservation from
the kernel. This function is implemented via ioctl(2) into the vsock
module, so the vsock module must be manually loaded by the user
(perhaps using /etc/modules).
The vmci_sockets.h header should be installed in a system-wide
location. We recommend /usr/include/vmci.
The vsock module depends on symbols from the vmci module, and so the
vmci module must be loaded first.
vmsock has no options.
More information about vmsock and the Open VM Tools can be found at
Open VM Tools were written by VMware, Inc. <http://www.vmware.com/>.
This manual page was put together from homepage materials by Daniel
Baumann <firstname.lastname@example.org>, for the Debian project (but may be used by