summaryrefslogtreecommitdiff
path: root/content.tex
diff options
context:
space:
mode:
authorrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-01-17 05:18:05 +0000
committerrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-01-17 05:18:05 +0000
commit1d94b5b23bf531557fb3b8014a3cf0fbd0ce1413 (patch)
tree6f0f2d9350fa5f81fe5ecb6107c2191d4657c236 /content.tex
parentc6ee6280596faa352004907941c44ff9ab308032 (diff)
net/multiqueue: tighten wording
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@185 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
Diffstat (limited to 'content.tex')
-rw-r--r--content.tex30
1 files changed, 15 insertions, 15 deletions
diff --git a/content.tex b/content.tex
index 7091bf4..803615d 100644
--- a/content.tex
+++ b/content.tex
@@ -2844,9 +2844,9 @@ Processing this notification involves:
\paragraph{Automatic receive steering in multiqueue mode}\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode}
If the driver negotiates the VIRTIO_NET_F_MQ feature bit (depends
-on VIRTIO_NET_F_CTRL_VQ), it can transmit outgoing packets on one
+on VIRTIO_NET_F_CTRL_VQ), it MAY transmit outgoing packets on one
of the multiple transmitq0..transmitqN and ask the device to
-queue incoming packets into one the multiple receiveq0..receiveqN
+queue incoming packets into one of the multiple receiveq0..receiveqN
depending on the packet flow.
\begin{lstlisting}
@@ -2860,28 +2860,28 @@ depending on the packet flow.
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000
\end{lstlisting}
-Multiqueue is disabled by default. Driver enables multiqueue by
+Multiqueue is disabled by default. The driver enables multiqueue by
executing the VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command, specifying
-the number of the transmit and receive queues that will be used;
-thus transmitq0..transmitqn and receiveq0..receiveqn where
-n=virtqueue_pairs-1 will be used. All these virtqueues must have
+the number of the transmit and receive queues to be used; subsequently,
+transmitq0..transmitqn and receiveq0..receiveqn where
+n=virtqueue_pairs-1 MAY be used. All these virtqueues MUST have
been pre-configured in advance. The range of legal values for the
virtqueue_pairs field is between 1 and max_virtqueue_pairs.
-When multiqueue is enabled, device uses automatic receive steering
-based on packet flow.Programming of the receive steering
-classificator is implicit. Transmitting a packet of a specific
-flow on transmitqX will cause incoming packets for this flow to
+When multiqueue is enabled, the device MUST use automatic receive steering
+based on packet flow. Programming of the receive steering
+classificator is implicit. After the driver transmitted a packet of a specific
+flow on transmitqX, the device MUST cause incoming packets for this flow to
be steered to receiveqX. For uni-directional protocols, or where
-no packets have been transmitted yet, device will steer a packet
+no packets have been transmitted yet, the device MAY steer a packet
to a random queue out of the specified receiveq0..receiveqn.
Multiqueue is disabled by setting virtqueue_pairs = 1 (this is
-the default). After the command is consumed by the device, the
-device will not steer new packets on virtqueues
-receveq1..receiveqN (i.e. other than receiveq0) nor read from
+the default). After the command has been consumed by the device, the
+device MUST NOT steer new packets to virtqueues
+receveq1..receiveqN (i.e. other than receiveq0) and MUST NOT read from
transmitq1..transmitqN (i.e. other than transmitq0); accordingly,
-driver should not transmit new packets on virtqueues other than
+the driver MUST NOT transmit new packets on virtqueues other than
transmitq0.
\paragraph{Offloads State Configuration}\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration}