diff options
author | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-01-17 05:18:05 +0000 |
---|---|---|
committer | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2014-01-17 05:18:05 +0000 |
commit | 1d94b5b23bf531557fb3b8014a3cf0fbd0ce1413 (patch) | |
tree | 6f0f2d9350fa5f81fe5ecb6107c2191d4657c236 | |
parent | c6ee6280596faa352004907941c44ff9ab308032 (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
-rw-r--r-- | content.tex | 30 |
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} |