Networks with enabled vlan_transparency can be any of any type available in Neutron (vxlan, vlan, flat in case of Linuxbridge, etc.). In most cases it is fine when packets in such case have ethertype 0x8100 (802.1q). The same ethertype is configured always for vlan network with vlan_transparent=True. But in such case as we have 2 vlans already (S-Tag and C-Tag) it is really QinQ. Neutron still configures ethertype to be 0x8100 in such case and it works for most of the cases. But in case of some hardware it needs to be 0x8a88 (802.1ad) which is real QinQ type. So I think that it would be good to add operators possibility to configure what ethertype will be used in such case. It could be simple config option and all vlan networks with enabled vlan transparency would use it. Default value of that option would be 0x8100 to be compatible with what we have now.
*** This bug has been marked as a duplicate of bug 1925375 ***