summaryrefslogtreecommitdiff
path: root/content.tex
diff options
context:
space:
mode:
authorrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-02-26 03:21:53 +0000
committerrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-02-26 03:21:53 +0000
commitb3693e339fc9569beac8a452c91e3249a1a1ab28 (patch)
tree71363cf2aa04b8fd05c5debb49b09ad112a1c9f1 /content.tex
parent5421a41b6ee7e15683e47e65d73b3389b4f42953 (diff)
Feedback: Normative split for Basic Facilities of a Virtio Device / Virtqueues / Message Framing
Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@268 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
Diffstat (limited to 'content.tex')
-rw-r--r--content.tex14
1 files changed, 11 insertions, 3 deletions
diff --git a/content.tex b/content.tex
index 1c3867a..50f00dc 100644
--- a/content.tex
+++ b/content.tex
@@ -290,8 +290,7 @@ endian of the guest, not little-endian as specified by this standard.
It is assumed that the host is already aware of the guest endian.
\subsection{Message Framing}\label{sec:Basic Facilities of a Virtio Device / Virtqueues / Message Framing}
-The device MUST NOT make assumptions about the particular arrangement
-of descriptors: the message framing is
+The framing of messages with descriptors is
independent of the contents of the buffers. For example, a network
transmit buffer consists of a 12 byte header followed by the network
packet. This could be most simply placed in the descriptor table as a
@@ -300,13 +299,22 @@ but it could also consist of a single 1526 byte output descriptor in
the case where the header and packet are adjacent, or even three or
more descriptors (possibly with loss of efficiency in that case).
-Note that, some implementations may have large-but-reasonable
+Note that, some device implementations have large-but-reasonable
restrictions on total descriptor size (such as based on IOV_MAX in the
host OS). This has not been a problem in practice: little sympathy
will be given to drivers which create unreasonably-sized descriptors
such as by dividing a network packet into 1500 single-byte
descriptors!
+\devicenormative{Basic Facilities of a Virtio Device / Message Framing}
+The device MUST NOT make assumptions about the particular arrangement
+of descriptors. The device MAY have a reasonable limit of descriptors
+it will allow in a chain.
+
+\drivernormative{Basic Facilities of a Virtio Device / Message Framing}
+The driver SHOULD NOT use an excessive number of descriptors to
+describe a buffer.
+
\subsubsection{Legacy Interface: Message Framing}\label{sec:Basic Facilities of a Virtio Device / Virtqueues / Message Framing / Legacy Interface: Message Framing}
Regrettably, initial driver implementations used simple layouts, and