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