I am working a project where I have to do some heavy vlan stacking (QinQ) but my requirements force me to go up to four tags deep; both building them up and tearing them down. We are a layer II provider and are encapsulating and tunneling traffic into different 'streams' and are aggregating and distributing different 'streams' through our MPLS c6500 core. I am currently using the QinQ tunneling feature to wrap tags on ingress traffic but I am having difficulty later breaking those tunnels down and tag swapping customer tags and wrapping it back up and send it back out on its way to the third party customer. I don't necessarily need the tunnel feature but I use it because it provides the ability to apply at least one 'S' tag around my traffic. It is very easy to perform these functions on my Ciena & Alcatel-Lucent equipment and I can easily tag on ingress up to four tags, rebuild the streams inside the box and retag yet again on egress. So I figure I must be able to do the same on my Cisco core but cant seem to determine how and feel I am missing something important.
So my questions is, how do I stack tags in Cisco world i.e. wrapping the customer provided 'C' tag and adding an 'S' tag preferably without using the âswitchport mode tunnelâ command? Then I want to wrap another tag around those two tags. Any code snip-bits, or reference docs would be appreciated. More importantly does this box have the ability to perform this function? In general, how is this done in the industry, what are the best practices?
One solution I was given was to use tunnel command and loop the traffic through multiple ports until I build up to the required number of tags deep that I need; but that just sounds like a waste of ports to me. There has got to be a way to do this inside the switch. I have also looked at PPPoE as a solution but have not found a good reference. Is there any feature of sub interfaces that may help me apply tags?