Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
* [virtio-comment] [PATCH v4] virtio-network: Clarify VLAN filter table configuration
@ 2023-01-04  4:02 Parav Pandit
  2023-01-04  6:41 ` [virtio-comment] " Michael S. Tsirkin
  0 siblings, 1 reply; 5+ messages in thread
From: Parav Pandit @ 2023-01-04  4:02 UTC (permalink / raw)
  To: mst, virtio-dev; +Cc: virtio-comment, si-wei.liu, Parav Pandit

The filtering behavior of the VLAN filter commands is not very clear as
discussed in thread [1].

Hence, add the command description and device requirements for it.

[1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg912392.html
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/147
Suggested-by: Si-Wei Liu <si-wei.liu@oracle.com>
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
changelog:
v3->v4:
- added description for accepting vlan tagged packets when vlan
  filter is not negotiated
v2->v3:
- corrected grammar
- simplified description for untagged packets
v1->v2:
- adapt to new file path
v0->v1:
- added missing conformance section link
---
 .../virtio-network/device-conformance.tex     |  1 +
 device-types/virtio-network/device.tex        | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/device-types/virtio-network/device-conformance.tex b/device-types/virtio-network/device-conformance.tex
index c686377..54f6783 100644
--- a/device-types/virtio-network/device-conformance.tex
+++ b/device-types/virtio-network/device-conformance.tex
@@ -9,6 +9,7 @@
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / Processing of Incoming Packets}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / Control Virtqueue / Packet Receive Filtering}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / Control Virtqueue / Setting MAC Address Filtering}
+\item \ref{devicenormative:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / Control Virtqueue / Gratuitous Packet Sending}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / Control Virtqueue / Receive-side scaling (RSS) / RSS processing}
diff --git a/device-types/virtio-network/device.tex b/device-types/virtio-network/device.tex
index e7cdd6f..0e6d872 100644
--- a/device-types/virtio-network/device.tex
+++ b/device-types/virtio-network/device.tex
@@ -1210,6 +1210,28 @@ \subsubsection{Control Virtqueue}\label{sec:Device Types / Network Device / Devi
 Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL
 command take a little-endian 16-bit VLAN id as the command-specific-data.
 
+VIRTIO_NET_CTRL_VLAN_ADD command adds the specified VLAN to the VLAN
+filtering table.
+
+VIRTIO_NET_CTRL_VLAN_DEL command removes specified VLAN from the VLAN
+filtering table which was previously added using
+VIRTIO_NET_CTRL_VLAN_ADD command.
+
+\devicenormative{\subparagraph}{VLAN Filtering}{Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering}
+
+When VIRTIO_NET_F_CTRL_VLAN is not negotiated, the device accepts
+all VLAN tagged packets that matches the device's filter
+configuration.
+
+When VIRTIO_NET_F_CTRL_VLAN is negotiated, the device starts with
+an empty VLAN filtering table.
+
+When VIRTIO_NET_F_CTRL_VLAN is negotiated, the device accepts all
+VLAN tagged packets whose VLAN tag is found in the VLAN filtering
+table; the device should drop all VLAN tagged packets whose VLAN tag
+is not found in the VLAN filtering table. The VLAN filtering table
+applies only to the VLAN tagged packets.
+
 \subparagraph{Legacy Interface: VLAN Filtering}\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering / Legacy Interface: VLAN Filtering}
 When using the legacy interface, transitional devices and drivers
 MUST format the VLAN id
-- 
2.26.2


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-06 18:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-04  4:02 [virtio-comment] [PATCH v4] virtio-network: Clarify VLAN filter table configuration Parav Pandit
2023-01-04  6:41 ` [virtio-comment] " Michael S. Tsirkin
2023-01-04 13:28   ` [virtio-comment] " Parav Pandit
2023-01-04 13:38     ` [virtio-comment] " Michael S. Tsirkin
2023-01-06 18:22       ` [virtio-comment] " Parav Pandit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox