3eeb751122
and VMware legal: - Add a dual BSD-2 Clause/GPLv2 LICENSE file in the VMCI directory - Remove the use of "All Rights Reserved" - Per best practice, remove copyright/license info from Makefile Reviewed by: imp, emaste, jhb, Vishnu Dasa <vdasa@vmware.com> Approved by: VMware legal via Mark Peek <markpeek@vmware.com> Differential Revision: https://reviews.freebsd.org/D14979
72 lines
2.3 KiB
Groff
72 lines
2.3 KiB
Groff
.\" Copyright (c) 2018 VMware, Inc.
|
|
.\"
|
|
.\" SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0)
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd February 10, 2018
|
|
.Dt VMCI 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm vmci
|
|
.Nd VMware Virtual Machine Communication Interface
|
|
.Sh SYNOPSIS
|
|
To compile this driver into the kernel,
|
|
place the following line in your
|
|
kernel configuration file:
|
|
.Bd -ragged -offset indent
|
|
.Cd "device vmci"
|
|
.Ed
|
|
.Pp
|
|
Alternatively, to load the driver as a
|
|
module at boot time, place the following line in
|
|
.Xr loader.conf 5 :
|
|
.Bd -literal -offset indent
|
|
if_vmci_load="YES"
|
|
.Ed
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver provides support for the VMware Virtual Machine Communication Interface
|
|
(VMCI) in virtual machines by VMware.
|
|
.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.
|
|
.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.
|
|
.Sh SEE ALSO
|
|
.Xr pci 9 ,
|
|
.Xr socket 2
|
|
.Rs
|
|
.%T "VMware vSockets Documentation"
|
|
.%U https://www.vmware.com/support/developer/vmci-sdk/
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
driver first appeared in
|
|
.Fx 12.0 .
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
driver and man page were written by
|
|
.An Vishnu Dasa Aq Mt vdasahar@gmail.com .
|