diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2018-11-29 18:16:59 +0000 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2018-12-12 17:21:29 -0500 |
commit | 66631dae1cceabd82d3fec3c0a99dacbfa3668ca (patch) | |
tree | 4ae345a29f4c989b14884ee43c7725e8ef29fedc /conformance.tex | |
parent | 9e57474ba39e33b9177cf9648f13bcc6258d21fa (diff) | |
download | virtio-spec-66631dae1cceabd82d3fec3c0a99dacbfa3668ca.tar.gz |
vsock: add vsock device
The virtio vsock device is a zero-configuration socket communications
device. It is designed as a guest<->host management channel suitable
for communicating with guest agents.
vsock is designed with the sockets API in mind and the driver is
typically implemented as an address family (at the same level as
AF_INET). Applications written for the sockets API can be ported with
minimal changes (similar amount of effort as adding IPv6 support to an
IPv4 application).
Unlike the existing console device, which is also used for guest<->host
communication, multiple clients can connect to a server at the same time
over vsock. This limitation requires console-based users to arbitrate
access through a single client. In vsock they can connect directly and
do not have to synchronize with each other.
Unlike network devices, no configuration is necessary because the device
comes with its address in the configuration space.
The vsock device was prototyped by Gerd Hoffmann and Asias He. I picked
the code and design up from them.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/27
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'conformance.tex')
-rw-r--r-- | conformance.tex | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/conformance.tex b/conformance.tex index c0f8193..ad7e82e 100644 --- a/conformance.tex +++ b/conformance.tex @@ -15,13 +15,13 @@ Conformance targets: \begin{itemize} \item Clause \ref{sec:Conformance / Driver Conformance}, \item One of clauses \ref{sec:Conformance / Driver Conformance / PCI Driver Conformance}, \ref{sec:Conformance / Driver Conformance / MMIO Driver Conformance} or \ref{sec:Conformance / Driver Conformance / Channel I/O Driver Conformance}. - \item One of clauses \ref{sec:Conformance / Driver Conformance / Network Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Block Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Console Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Entropy Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Traditional Memory Balloon Driver Conformance} or \ref{sec:Conformance / Driver Conformance / SCSI Host Driver Conformance}. + \item One of clauses \ref{sec:Conformance / Driver Conformance / Network Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Block Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Console Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Entropy Driver Conformance}, \ref{sec:Conformance / Driver Conformance / Traditional Memory Balloon Driver Conformance}, \ref{sec:Conformance / Driver Conformance / SCSI Host Driver Conformance}, or \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance}. \end{itemize} \item[Device] A device MUST conform to three conformance clauses: \begin{itemize} \item Clause \ref{sec:Conformance / Device Conformance}, \item One of clauses \ref{sec:Conformance / Device Conformance / PCI Device Conformance}, \ref{sec:Conformance / Device Conformance / MMIO Device Conformance} or \ref{sec:Conformance / Device Conformance / Channel I/O Device Conformance}. - \item One of clauses \ref{sec:Conformance / Device Conformance / Network Device Conformance}, \ref{sec:Conformance / Device Conformance / Block Device Conformance}, \ref{sec:Conformance / Device Conformance / Console Device Conformance}, \ref{sec:Conformance / Device Conformance / Entropy Device Conformance}, \ref{sec:Conformance / Device Conformance / Traditional Memory Balloon Device Conformance} or \ref{sec:Conformance / Device Conformance / SCSI Host Device Conformance}. + \item One of clauses \ref{sec:Conformance / Device Conformance / Network Device Conformance}, \ref{sec:Conformance / Device Conformance / Block Device Conformance}, \ref{sec:Conformance / Device Conformance / Console Device Conformance}, \ref{sec:Conformance / Device Conformance / Entropy Device Conformance}, \ref{sec:Conformance / Device Conformance / Traditional Memory Balloon Device Conformance}, \ref{sec:Conformance / Device Conformance / SCSI Host Device Conformance}, or \ref{sec:Conformance / Device Conformance / Socket Device Conformance}. \end{itemize} \end{description} @@ -171,6 +171,16 @@ A Crypto driver MUST conform to the following normative statements: \item \ref{drivernormative:Device Types / Crypto Device / Device Operation / AEAD Service Operation} \end{itemize} +\subsection{Socket Driver Conformance}\label{sec:Conformance / Driver Conformance / Socket Driver Conformance} + +A socket driver MUST conform to the following normative statements: + +\begin{itemize} +\item \ref{drivernormative:Device Types / Socket Device / Device Operation / Buffer Space Management} +\item \ref{drivernormative:Device Types / Socket Device / Device Operation / Receive and Transmit} +\item \ref{drivernormative:Device Types / Socket Device / Device Operation / Device Events} +\end{itemize} + \section{Device Conformance}\label{sec:Conformance / Device Conformance} A device MUST conform to the following normative statements: @@ -315,6 +325,15 @@ A Crypto device MUST conform to the following normative statements: \item \ref{devicenormative:Device Types / Crypto Device / Device Operation / AEAD Service Operation} \end{itemize} +\subsection{Socket Device Conformance}\label{sec:Conformance / Device Conformance / Socket Device Conformance} + +A socket device MUST conform to the following normative statements: + +\begin{itemize} +\item \ref{devicenormative:Device Types / Socket Device / Device Operation / Buffer Space Management} +\item \ref{devicenormative:Device Types / Socket Device / Device Operation / Receive and Transmit} +\end{itemize} + \section{Legacy Interface: Transitional Device and Transitional Driver Conformance}\label{sec:Conformance / Legacy Interface: Transitional Device and |