Page MenuHomeFreeBSD

e1000: fix VLAN 0
ClosedPublic

Authored by kp on May 10 2023, 4:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 26, 12:17 PM
Unknown Object (File)
Fri, Apr 26, 12:29 AM
Unknown Object (File)
Sun, Apr 21, 12:37 AM
Unknown Object (File)
Jan 1 2024, 5:46 AM
Unknown Object (File)
Jan 1 2024, 5:45 AM
Unknown Object (File)
Jan 1 2024, 5:44 AM
Unknown Object (File)
Dec 28 2023, 10:52 PM
Unknown Object (File)
Dec 20 2023, 6:53 AM

Details

Reviewers
kbowling
Group Reviewers
pfsense
network
Restricted Owners Package(Owns No Changed Paths)
Commits
rGeaa16e7edba1: e1000: fix VLAN 0
rG5cb5b368829d: e1000: fix VLAN 0
rG0229fab2fe0e: e1000: fix VLAN 0
Summary

On igb/em interfaces we did not receive packets with VLAN tag 0 unless
vlanhwfilter was disabled.

This can be fixed by explicitly listing VLAN 0 in the hardware VLAN
filter (VFTA). Do this from em_setup_vlan_hw_support(), where we already
(re-)write the VFTA.

Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a reviewer: Restricted Owners Package.May 10 2023, 4:34 PM
kp requested review of this revision.May 10 2023, 4:34 PM

I think it's probably fine but can you elaborate situations where vlan 0 is "tagged"

VLAN 0 Priority Tagging feature enables 802.1Q Ethernet frames to be transmitted with the VLAN ID set to zero.

Some people need VLAN 0 because their ISP wants to see it (PPPoE links, some AT&T U-Verse see: https://github.com/MonkWho/pfatt)

See also: 802.1Q-2005 page 76 Section 9.6, Table 9-2.

VID value (hexadecimal)
Meaning/Use
0
The null VLAN ID. Indicates that the tag header contains only priority information; no VLAN identifier is present in the frame. This VID value shall not be configured as a PVID or a member of a VID Set, or configured in any Filtering Database entry, or used in any Management operation.

1
The default PVID value used for classifying frames on ingress through a Bridge Port. The PVID value of a Port can be changed by management.

FFF
Reserved for implementation use. This VID value shall not be configured as a PVID or a member of a VID Set, or transmitted in a tag header. This VID value may be used to indicate a wildcard match for the VID in management operations or Filtering Database entries.

This revision was not accepted when it landed; it landed in state Needs Review.May 11 2023, 7:49 AM
Closed by commit rG0229fab2fe0e: e1000: fix VLAN 0 (authored by kp). · Explain Why
This revision was automatically updated to reflect the committed changes.