1.\" Copyright (c) 2018 VMware, Inc. 2.\" 3.\" SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0) 4.Dd February 10, 2018 5.Dt VMCI 4 6.Os 7.Sh NAME 8.Nm vmci 9.Nd VMware Virtual Machine Communication Interface 10.Sh SYNOPSIS 11To compile this driver into the kernel, 12place the following line in your 13kernel configuration file: 14.Bd -ragged -offset indent 15.Cd "device vmci" 16.Ed 17.Pp 18Alternatively, to load the driver as a 19module at boot time, place the following line in 20.Xr loader.conf 5 : 21.Bd -literal -offset indent 22if_vmci_load="YES" 23.Ed 24.Sh DESCRIPTION 25The 26.Nm 27driver provides support for the VMware Virtual Machine Communication Interface 28(VMCI) in virtual machines by VMware. 29.Pp 30VMCI allows virtual machines to communicate with host kernel modules and the 31VMware hypervisors. 32User level applications in a virtual machine can use VMCI through vSockets 33(also known as VMCI Sockets and not included in this kernel module), a socket 34address family designed to be compatible with UDP and TCP at the interface 35level. 36Today, VMCI and vSockets are used by various VMware Tools components inside 37the guest for zero-config, network-less access to VMware host services. 38In addition to this, VMware's users are using vSockets for various 39applications, where network access of the virtual machine is restricted 40or non-existent. 41Examples of this are VMs communicating with device proxies for proprietary 42hardware running as host applications and automated testing of applications 43running within virtual machines. 44.Pp 45In a virtual machine, VMCI is exposed as a regular PCI device. 46The primary communication mechanisms supported are a point-to-point 47bidirectional transport based on a pair of memory-mapped queues, and 48asynchronous notifications in the form of datagrams and doorbells. 49These features are available to kernel level components such as vSockets 50through the VMCI kernel API. 51In addition to this, the VMCI kernel API provides support for receiving 52events related to the state of the VMCI communication channels, and the 53virtual machine itself. 54.Sh SEE ALSO 55.Xr socket 2 , 56.Xr pci 9 57.Rs 58.%T "VMware vSockets Documentation" 59.%U https://www.vmware.com/support/developer/vmci-sdk/ 60.Re 61.Sh HISTORY 62The 63.Nm 64driver first appeared in 65.Fx 12.0 . 66.Sh AUTHORS 67The 68.Nm 69driver and man page were written by 70.An Vishnu Dasa Aq Mt vdasahar@gmail.com . 71