In modern enterprise and campus network infrastructures, network switches rely on Quality of Service (QoS) tagging and VLAN segmentation to segregate and prioritize network traffic. IEEE 802.1p Quality of Service priority tags allow voice, video, and mission-critical packets to bypass standard bulk data traffic, while IEEE 802.1Q VLAN tags direct frames into distinct isolated broadcast domains. In Windows 11, physical network interface cards (NICs) include a core hardware offload driver parameter: Packet Priority & VLAN. When properly configured via PowerShell, this feature ensures that the network hardware actively inserts, processes, and respects Layer 2 priority and VLAN encapsulation.
Understanding Packet Priority and VLAN Tagging Offloads
The Packet Priority & VLAN setting (standardized across Intel, Realtek, Broadcom, and Marvell drivers as *PriorityVLANTag) instructs the network adapter hardware whether to process Layer 2 headers directly on-chip:
- Packet Priority (IEEE 802.1p): Encodes a 3-bit Priority Code Point (PCP) inside the 802.1Q header, assigning traffic a priority level from 0 (Best Effort) to 7 (Network Control). This ensures low latency for real-time voice, video, and trading protocols.
- VLAN Tagging (IEEE 802.1Q): Encapsulates Ethernet frames with a 12-bit Virtual Local Area Network identifier (VLAN ID), enabling a single physical NIC port to communicate across tagged switch trunk ports.
The driver parameter supports four operational states:
Packet Priority & VLAN Enabled(Value:3): Full hardware support for both 802.1p priority headers and 802.1Q VLAN tags.Packet Priority Enabled(Value:1): Hardware handles 802.1p priority marking, but ignores VLAN tags.VLAN Enabled(Value:2): Hardware processes VLAN tags, but ignores 802.1p QoS markers.Packet Priority & VLAN Disabled(Value:0): The adapter strips all 802.1p/802.1Q tags, processing packets as standard untagged Ethernet frames.
Auditing Priority and VLAN Support in PowerShell
Launch PowerShell with elevated administrator privileges and identify your active physical network adapter:
Get-NetAdapter -Physical | Select-Object Name, InterfaceDescription, Status, LinkSpeed
Query the advanced properties to determine the current state of Packet Priority & VLAN:
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object { $_.DisplayName -match "Priority" -or $_.RegistryKeyword -match "PriorityVLANTag" } | Select-Object DisplayName, DisplayValue, RegistryKeyword, RegistryValue, ValidDisplayValues
For Intel Ethernet controllers (such as the I219, I225, or I226 series), the output will show:
- DisplayName: Packet Priority & VLAN
- RegistryKeyword: *PriorityVLANTag
- ValidDisplayValues: {Packet Priority & VLAN Disabled, Packet Priority Enabled, VLAN Enabled, Packet Priority & VLAN Enabled}
Configuring Packet Priority & VLAN via PowerShell
To enable or modify priority and VLAN handling, use the Set-NetAdapterAdvancedProperty cmdlet.
1. Enable Both Packet Priority and VLAN Tagging (Recommended)
To ensure full support for enterprise DSCP-to-802.1p mapping and switch trunk tagging:
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Packet Priority & VLAN" -DisplayValue "Packet Priority & VLAN Enabled"
Note: Applying this parameter triggers a momentary link reset as the NDIS driver re-binds packet filtering queues.
2. Enable Packet Priority Only (Without VLAN Tagging)
In environments where switch access ports are untagged, but network switches prioritize upstream 802.1p priority frames:
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Packet Priority & VLAN" -DisplayValue "Packet Priority Enabled"
3. Disable Priority and VLAN Tagging
If connecting to legacy consumer routers or home switches that discard frames containing 802.1Q headers:
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Packet Priority & VLAN" -DisplayValue "Packet Priority & VLAN Disabled"
Verifying QoS Priority Tagging with Windows Policy-Based QoS
Once Packet Priority & VLAN is enabled at the hardware level, verify that Windows QoS policies can actively tag outbound network traffic. You can inspect configured QoS policies using Get-NetQosPolicy:
Get-NetQosPolicy | Select-Object Name, PriorityValue8021Action, DSCPAction, IPProtocol
To create a sample policy prioritizing outbound VoIP or video conferencing traffic with an 802.1p priority tag of 5 (Voice / Low Latency):
New-NetQosPolicy -Name "VoIPPriority" -AppPathNameMatchCondition "Teams.exe" -PriorityValue8021Action 5 -DSCPAction 46
With hardware priority offload active on the network adapter, Windows 11 will automatically instruct the NIC hardware to inject 802.1p priority headers directly into outgoing frames.
Troubleshooting Tag Stripping on Ingress Packets
By default, many Windows desktop drivers strip 802.1Q tags from incoming frames before passing packets to Wireshark or capture filters. If you are diagnosing network issues and need raw tags preserved:
- Verify that your network switch port is explicitly configured as a Trunk or tagged access port matching the adapter’s configuration.
- Ensure that Windows Defender Firewall is not dropping tagged multicast or broadcast frames by reviewing active firewall profile logs.
Configuring Packet Priority & VLAN via PowerShell equips network administrators with full control over Layer 2 frame handling, ensuring predictable QoS delivery and robust VLAN segregation across enterprise Windows 11 endpoints.