vmsock(9) vmware kernel module


modprobe vmsock


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 <http://open-vm-tools.sourceforge.net/>.


Open VM Tools were written by VMware, Inc. <http://www.vmware.com/>.

This manual page was put together from homepage materials by Daniel Baumann <[email protected]>, for the Debian project (but may be used by others).