Re: [PATCH] docs: networking: Remove VLAN_TAG_PRESENT from openvswitch doc
From: Ilya Maximets
Date: Sun Feb 02 2025 - 15:56:06 EST
On 1/29/25 17:06, Andreas Karis wrote:
> Since commit 0c4b2d370514cb4f3454dd3b18f031d2651fab73
> ("net: remove VLAN_TAG_PRESENT"), the kernel no longer sets the DEI/CFI
> bit in __vlan_hwaccel_put_tag to indicate the presence of a VLAN tag.
> Update the openvswitch documentation which still contained an outdated
> reference to this mechanism.
>
> Signed-off-by: Andreas Karis <ak.karis@xxxxxxxxx>
> ---
> Documentation/networking/openvswitch.rst | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/networking/openvswitch.rst b/Documentation/networking/openvswitch.rst
> index 1a8353dbf1b6..5699bbadea47 100644
> --- a/Documentation/networking/openvswitch.rst
> +++ b/Documentation/networking/openvswitch.rst
> @@ -230,11 +230,9 @@ an all-zero-bits vlan and an empty encap attribute, like this::
> eth(...), eth_type(0x8100), vlan(0), encap()
>
> Unlike a TCP packet with source and destination ports 0, an
> -all-zero-bits VLAN TCI is not that rare, so the CFI bit (aka
> -VLAN_TAG_PRESENT inside the kernel) is ordinarily set in a vlan
> -attribute expressly to allow this situation to be distinguished.
> -Thus, the flow key in this second example unambiguously indicates a
> -missing or malformed VLAN TCI.
> +all-zero-bits VLAN TCI is not that rare and the flow key in
> +this second example cannot indicate a missing or malformed
> +VLAN TCI.
Hi, Andreas. While mentioning of the VLAN_TAG_PRESENT bit is clearly
outdated, I don't think the other parts of the paragraph should be
changed. The openvswitch module is still using VLAN_CFI bit in the
flow key extracted from the packet as an indicator of the vlan presence.
See the parse_vlan() function in net/openvswitch/flow.c. And it's
still required for userspace to have this bit set on the flow key for
vlan packets to be correctly matched. So, while not directly set in
the skb, this bit is still set in the flow key and that's how the flow
key can still indicate a missing or malformed VLAN header.
So, while the VLAN_TAG_PRESENT remark inside the parenthesis can be
removed, the rest of the text should stay intact.
Best regards, Ilya Maximets.