Feature #13340
closedOption to change QinQ ethertype to Service VLAN Tag
100%
Description
Currently, pfSense uses C-Tags (ethertype 0x8100) for QinQ interfaces. Ideally, it should keep C-Tags on existing configuration but default to and provide the option to use S-Tags (ethertype 0x88A8).
https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml
Files
Updated by Steve Wheeler about 3 years ago
In 23.01/2.7 the QinQ is handled by if_vlan directly and not netgraph. It now uses s-tags by default.
Since that's a change from the previous config it may fail for some setups making a setting there more important.
It is trivial to set at the command line though:
[23.01-DEVELOPMENT][admin@7100.stevew.lan]/root: ifconfig lagg0.4080 vlanproto 802.1Q
[23.01-DEVELOPMENT][admin@7100.stevew.lan]/root: ifconfig lagg0.4080
lagg0.4080: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>
ether 00:08:a2:0e:a5:93
inet6 fe80::208:a2ff:fe0e:a593%lagg0.4080 prefixlen 64 scopeid 0x17
groups: vlan
vlan: 4080 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0
media: Ethernet autoselect
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Updated by Yif Swery almost 2 years ago
Steve Wheeler wrote in #note-1:
In 23.01/2.7 the QinQ is handled by if_vlan directly and not netgraph. It now uses s-tags by default.
Since that's a change from the previous config it may fail for some setups making a setting there more important.
It is trivial to set at the command line though:
[...]
We faced this issue in our recent 2.6 -> 2.7 upgrade and thank you for posting this! Saved our butts. Whats the most elegant way to make this persistent across reboots and even better yet done in UI ?
Updated by Grant Emsley almost 2 years ago
We faced this issue in our recent 2.6 -> 2.7 upgrade and thank you for posting this! Saved our butts. Whats the most elegant way to make this persistent across reboots and even better yet done in UI ?
Well, this issue just bit me too. My provider doesn't support ethertype 0x88A8 on their QinQ service, so upgrading broke all of my QinQ connections.
The command line fix worked, for now. But now every reboot will break everything.
Installing the shellcmd package and adding that command to run on boot makes things work. Not an elegant solution but at least we're back up and running.
Updated by Marcos M about 2 months ago
- Status changed from New to In Progress
- Assignee set to Marcos M
- Target version set to 2.9.0
- Plus Target Version set to 25.11
Updated by Marcos M about 2 months ago
- Status changed from In Progress to Feedback
- % Done changed from 0 to 100
Applied in changeset 682b0eb2ee68bf207bbb40de92c383ff8ffcf2f6.
Updated by Alhusein Zawi about 1 month ago
VLAN Tag Type is added to QinQ Configuration

25.11.b.20251006.0600
Updated by Danilo Zrenjanin 28 days ago
- Status changed from Feedback to Resolved
Tested against:
26.03-DEVELOPMENT (amd64) built on Tue Oct 14 13:59:00 UTC 2025 FreeBSD 16.0-CURRENT
I can confirm it's been added.