Main Question: I'm wondering why the IEEE standard 802.1ad, which specifies the TPID of a S-VLAN as 0x88a8, for double tagged vlans exists, when it's also possible to just use two 802.1Q tags with the TPID 0x8100. What is the advantage of using 0x88a8?
And is there a difference between QinQ and VLAN stacking? It feels like every vendor means something different when they talk about it.
Background: We're a service provider who is currently implementing an access network for customers using GPON. We've configured our OLT to add for each PON-Port (each ONU) a different S-VLAN tag to the customers traffic. The customer must send it's traffic inside of a VLAN. Untagged traffic from the customer is dropped.
So we're sending double tagged traffic on the OLTs uplink port. The C-VLAN from the customer and the S-VLAN added by the OLT.
When we look at a Wireshark capture we see that the OLT adds the S-VLAN with a TPID of 0x8100. So both VLANs have the same TPID. Everything seems to work fine.
However when you look at different literature they always state to use 0x88a8 for the S-VLAN. Why it that? Why was the standard 0x88a8 developed when everything works fine when using double tagged traffic with TPID 0x8100. I didn't find any answer in the IEEE specification why it even exists?
Another point I stumbled across during the configuration was "QinQ" and "VLAN stacking". In some literature they're used as a synonym. They're talking about QinQ and in the next sentence about VLAN Stacking. And some vendor documentation (like HUAWEI) seems to differentiate between QinQ and VLAN stacking. Where's the difference? Or does it depend on the hardware? Is QinQ always 801.ad?
I'm very confused about the possibilities.