---
name: "vmsock"
section: "9"
platform: "linux"
package: "open-vm-tools"
version: "2:8.8.0+2012.05.21-724730-1+nmu2+deb7u1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/vmsock"
---

# vmsock(9)

vmware kernel module

## NAME

vmsock - vmware kernel module

## SYNOPSIS

modprobe vmsock

## DESCRIPTION

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)](/socket/2.md) 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)](/ioctl/2.md) 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.

## OPTIONS

vmsock has no options.

## SEE ALSO

[*vmware-checkvm*(1)](/vmware-checkvm/1.md)\
 [*vmware-hgfsclient*(1)](/vmware-hgfsclient/1.md)\
 [*vmware-toolbox*(1)](/vmware-toolbox/1.md)\
 [*vmware-toolbox-cmd*(1)](/vmware-toolbox-cmd/1.md)\
 [*vmware-user*(1)](/vmware-user/1.md)\
 [*vmware-xferlogs*(1)](/vmware-xferlogs/1.md)\
 [*libguestlib*(3)](/libguestlib/3.md)\
 [*libvmtools*(3)](/libvmtools/3.md)\
 [*vmware-guestd*(8)](/vmware-guestd/8.md)\
 [*vmware-hgfsmounter*(8)](/vmware-hgfsmounter/8.md)\
 [*vmware-user-suid-wrapper*(8)](/vmware-user-suid-wrapper/8.md)\
 [*vmblock*(9)](/vmblock/9.md)\
 [*vmci*(9)](/vmci/9.md)\
 [*vmhgfs*(9)](/vmhgfs/9.md)\
 [*vmmemctl*(9)](/vmmemctl/9.md)\
 [*vmsock*(9)](/vmsock/9.md)\
 [*vmxnet*(9)](/vmxnet/9.md)\
 [*vmxnet3*(9)](/vmxnet3/9.md)

## HOMEPAGE

More information about vmsock and the Open VM Tools can be found at \<*http://open-vm-tools.sourceforge.net/*\>.

## AUTHOR

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

This manual page was put together from homepage materials by Daniel Baumann \<*daniel.baumann@progress-technologies.net*\>, for the Debian project (but may be used by others).
