When we configure a qinq tunneling, the port, which performs the encapsulation, has the next command-lines:

interface g0/10
  switchport mode dot1q-tunnel
  switchport access vlan xxx <-- s-vlan

So, on my job environment, if i want encapsulate another c-vlan (customer vlan) using a diferent s-vlan, I have to use another port and this option isn't scalable (one port for each s-vlan).

Do you know about a method to encapsulate many c-vlans using different s-vlans on the same port? I tried with vlan-mapping or vlan translation, but this method doesn't perform encapsulation, only replaces the original tag with the s-vlan tag.

Help me!


Sounds like you need "Selective Q-in-Q" documented here


interface GigabitEthernet1/23
 switchport mode trunk
 switchport vlan mapping 21 dot1q-tunnel 211
 switchport vlan mapping 31 dot1q-tunnel 311
  • Hello! Thank's for your answer, it opens my mind. Currently I'm using huawei devices, they have the "vlan stacking" solution, it works as a selective QinQ.
    – Frnndo
    Apr 4 '18 at 21:53

When you configure dot1q-tunnel, all customer traffic is encapsulated with s-vlan.

Your customer can encapsulate his own traffic, with a c-vlan. In that case, you receive in your switch 802.1q traffic, and you can carry multiple customer vlans with one s-vlan in your network.

But is no possible to use different s-vlans in the same port.

This scenario can be possible using different tecnologies, like MPLS or VXLAN.


The goal with q-in-q is to take all the customer c-vlans and switch them in a single s-vlan.

You configure q-in-q on the inbound interface from the customer, thus taking all his c-vlans and switching it through the internal network on s-vlan.

It is not a one to one, there is multiple c-vlans all inside a s-vlan.

Each client is handles in a single s-vlan.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.