summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/vmci.4 3.html
blob: f81c2ce8065ceb44946a39d6ffb7e58479c5e220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<table class="head">
  <tr>
    <td class="head-ltitle">VMCI(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">VMCI(4)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">vmci</code> &#x2014; <span class="Nd">VMware
    Virtual Machine Communication Interface</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into the kernel, place the following line
    in your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device vmci</code></div>
<p class="Pp">Alternatively, to load the driver as a module at boot time, place
    the following line in <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>if_vmci_load=&quot;YES&quot;</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">vmci</code> driver provides support for the
    VMware Virtual Machine Communication Interface (VMCI) in virtual machines by
    VMware.</p>
<p class="Pp">VMCI allows virtual machines to communicate with host kernel
    modules and the VMware hypervisors. User level applications in a virtual
    machine can use VMCI through vSockets (also known as VMCI Sockets and not
    included in this kernel module), a socket address family designed to be
    compatible with UDP and TCP at the interface level. Today, VMCI and vSockets
    are used by various VMware Tools components inside the guest for
    zero-config, network-less access to VMware host services. In addition to
    this, VMware's users are using vSockets for various applications, where
    network access of the virtual machine is restricted or non-existent.
    Examples of this are VMs communicating with device proxies for proprietary
    hardware running as host applications and automated testing of applications
    running within virtual machines.</p>
<p class="Pp">In a virtual machine, VMCI is exposed as a regular PCI device. The
    primary communication mechanisms supported are a point-to-point
    bidirectional transport based on a pair of memory-mapped queues, and
    asynchronous notifications in the form of datagrams and doorbells. These
    features are available to kernel level components such as vSockets through
    the VMCI kernel API. In addition to this, the VMCI kernel API provides
    support for receiving events related to the state of the VMCI communication
    channels, and the virtual machine itself.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr">socket(2)</a>, <a class="Xr">pci(9)</a></p>
<p class="Pp"><cite class="Rs"><span class="RsT">VMware vSockets
    Documentation</span>,
    <a class="RsU" href="https://www.vmware.com/support/developer/vmci-sdk/">https://www.vmware.com/support/developer/vmci-sdk/</a>.</cite></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">vmci</code> driver first appeared in
    <span class="Ux">FreeBSD 12.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">vmci</code> driver and man page were written
    by <span class="An">Vishnu Dasa</span>
    &lt;<a class="Mt" href="mailto:vdasahar@gmail.com">vdasahar@gmail.com</a>&gt;.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">February 10, 2018</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>