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