BPDU Tunneling over Selective Q-in-Q

BPDU tunneling over selective Q-in-Q enables a service provider to provide Layer 2 VPN connectivity between different customer sites. The service provider can give the customers an infrastructure to run various Layer 2 protocols and connect to all geographically-separated sites.

In Q-in-Q BPDU tunneling, a customer packet transferred through the service provider network is tagged twice (except for untagged customer traffic which has only one outer tag). Apart from the customer’s IEEE 802.1Q VLAN tags (CVLAN), a service VLAN tag (SVLAN) is also added on all the frames. By adding different VLAN tags for each customer, traffic (control/protocol/bpdu for which tunneling is enabled) from different customers can be segregated and transferred throughout the service provider network without any VLAN conflict. Also, the service provider network is transparent to the customer and can run STP (PVST, RSTP, MSTP), LACP, CDP, and LLDP seamlessly using the Layer 2 tunneling.

How Q-in-Q BPDU Tunneling Works

When Q-in-Q BPDU tunneling is enabled, the service provider (ingress) edge device receives the BPDU packets and delivers the packets to the CPU along with CVLAN and SVLAN information. Upon ingress to the service provider network, the protocol or BPDU MAC address is replaced with a tunnel MAC address and is sent across the service provider network. Intermediate devices on the service provider network forward the frame as an unknown multicast packet. Upon egress from the service provider network to the customer network, the tunnel MAC packets are decapsulated and delivered to the customer edge device. For Layer 2 protocols such as LACP and STP to converge properly, point-to-point connections must be emulated for each port using a unique customer-to-service VLAN.

In the following topology, Customer X site A and Customer X site B are connected in the service provider network through Q-in-Q BPDU tunneling. Both data and control packets coming from the customer site with customer VLAN (CVLAN) are double-tagged with a Service VLAN (SVLAN).

Topology Example: BPDU over Q-in-Q

Note: When Layer 2 protocol tunneling is enabled on a customer-connected interface of the service provider device, all the received tunnel protocol packets will be tunneled to the service provider network. To prevent any locally generated protocol packets (for example, STP or LLDP) on the service provider network from switching to the customer side, the corresponding protocols must be disabled on the device.

The Protocol or BPDU packet format at various stages is shown in the following topology.

Various Stages of Protocol or BPDU Packet Format

Q-in-Q BPDU tunneling does not affect any Class of Service (CoS) values that are configured on the CVLAN. Ingress priority and CoS settings from the CVLAN are copied to the SVLAN. CoS values do not change in the reverse direction (SVLAN to CVLAN).

Scaling Considerations for BPDU-Tunneling over Selective Q-in-Q

BPDU-tunneling is used to tunnel layer2 BPDUs between customer sites over the service provider network. All the incoming BDPUs are forwarded in the slow path or CPU. Even though the total number of tunneled CVLANs is increased to 8000 per stack unit, the number of BPDUs that can be tunneled is limited, resulting in CPU load.

BPDU tunneling is now supported over selective Q-in-Q. But BPDU tunneling cannot be achieved without Q-in-Q tunnel. Disabling selective Q-in-Q tunnel removes the BPDU tunneling configurations from the interface.

If Bridge Protocol Data Unit (BPDU) tunneling feature is configured on the selective Q-in-Q enabled port, then BPDU tunneling is applicable only for the mapped CVLANs. BPDUs received on the unmapped CVLANs is processed in the regular manner.

Note: The CPU usage is expected around 10 to 18%, but the actual CPU usage may vary depending on other configuration and traffic on the system. Hence, the BPDU rate can be a combination of STP, PVST, LACP and LLDP protocol PDUs.