VPLS services can be connected using pseudowires that can be provisioned statically or dynamically and are represented in the system as either a mesh or a spoke-SDP. The mesh and spoke-SDP can be configured to process zero, one, or two VLAN tags as traffic is transmitted and received. In the transmit direction, VLAN tags are added to the frame being sent, and in the received direction, VLAN tags are removed from the frame being received. This is analogous to the SAP operations on a null, dot1q, and QinQ SAP.
The system expects a symmetrical configuration with its peer; specifically, it expects to remove the same number of VLAN tags from received traffic as it adds to transmitted traffic. When removing VLAN tags from a mesh or spoke-SDP, the system attempts to remove the configured number of VLAN tags (see the following configuration information); if fewer tags are found, the system removes the VLAN tags found and forwards the resulting packet. As some of the related configuration parameters are local and not communicated in the signaling plane, an asymmetrical behavior cannot always be detected and so cannot be blocked. With an asymmetrical behavior, protocol extractions do not necessarily function as they would with a symmetrical configuration, resulting in an unexpected operation.
The VLAN tag processing is configured as follows on a mesh or spoke-SDP in a VPLS service:
zero VLAN tags processed
VPLS Service Pseudowire VLAN Tag Processing. This requires the configuration of vc-type ether under the mesh-SDP or spoke-SDP, or in the related PW template.
one VLAN tag processed
This requires one of the following configurations:
vc-type vlan under the mesh-SDP or spoke-SDP, or in the related PW template
vc-type ether and force-vlan-vc-forwarding under the mesh-SDP or spoke-SDP, or in the related PW template
two VLAN tags processed
This requires the configuration of force-qinq-vc-forwarding [c-tag-c-tag | s-tag-c-tag] under the mesh-SDP or spoke-SDP, or in the related PW template.
The PW template configuration provides support for BGP VPLS services and LDP VPLS services using BGP Auto-Discovery.
The following restrictions apply to VLAN tag processing:
The configuration of vc-type vlan and force-vlan-vc-forwarding is mutually exclusive.
BGP VPLS services operate in a mode equivalent to vc-type ether; consequently, the configuration of vc-type vlan in a PW template for a BGP VPLS service is ignored.
force-qinq-vc-forwarding [c-tag-c-tag | s-tag-c-tag] can be configured with the mesh-SDP or spoke-SDP signaled as either vc-type ether or vc-type vlan.
The following are not supported with force-qinq-vc-forwarding [c-tag-c-tag | s-tag-c-tag] configured under the mesh-SDP or spoke-SDP, or in the related PW template:
Routed, E-Tree, or PBB VPLS services (including B-VPLS and I-VPLS)
L2PT termination on QinQ mesh-SDP or spoke-SDPs
IGMP/MLD/PIM snooping within the VPLS service
force-vlan-vc-forwarding under the same spoke-SDP or PW template
Eth-CFM LM tests
Table: VPLS mesh and spoke-SDP VLAN tag processing: ingress and Table: VPLS mesh and spoke-SDP VLAN tag processing: egress describe the VLAN tag processing with respect to the zero, one, and two VLAN tag configuration described for the VLAN identifiers, Ethertype, ingress QoS classification (dot1p/DE), and QoS propagation to the egress (which can be used for egress classification and, or to set the QoS information in the innermost egress VLAN tag).
Ingress (received on mesh or spoke-SDP) | Zero VLAN tags | One VLAN tag | Two VLAN Tags (enabled by force-qinq-vc-forwarding [c-tag-c-tag | s-tag-c-tag] |
---|---|---|---|
VLAN identifiers |
— |
Ignored |
Both inner and outer ignored |
Ethertype (to determine the presence of a VLAN tag) |
— |
0x8100 or value configured under sdp vlan-vc-etype |
Both inner and outer VLAN tags: 0x8100, or outer VLAN tag value configured under sdp vlan-vc-etype (inner VLAN tag value must be 0x8100) |
Ingress QoS (dot1p/DE) classification |
— |
Ignored |
Both inner and outer ignored |
QoS (dot1p/DE) propagation to egress |
Dot1p/DE=0 |
Dot1p/DE taken from received VLAN tag |
Dot1p/DE taken as follows:
|
Egress (sent on mesh or spoke-SDP) | Zero VLAN tags | One VLAN tag | Two VLAN Tags (enabled by force-qinq-vc-forwarding [c-tag-c-tag | s-tag-c-tag] |
---|---|---|---|
VLAN identifiers (set in VLAN tags) |
— |
For one VLAN tag, one of the following applies:
|
The inner and outer VLAN tags are derived from one of the following:
|
|
|||
Ethertype (set in VLAN tags) |
— |
0x8100 or value configured under sdp vlan-vc-etype |
Both inner and outer VLAN tags: 0x8100, or outer VLAN tag value configured under sdp vlan-vc-etype (inner VLAN tag value is 0x8100) |
Egress QoS (dot1p/DE) (set in VLAN tags) |
— |
Taken from the innermost ingress service delimiting tag, one of the following applies:
|
Inner and outer dot1p/DE: If c-tag-c-tag is configured, the inner and outer dot1p/DE bits are both taken from the innermost ingress service delimiting tag. It can be one of the following:
|
Egress QoS (dot1p/DE) (set in VLAN tags) |
— |
0 if there is no service delimiting VLAN tag at the ingress SAP or mesh/spoke-SDP Note that neither the inner nor outer dot1p/DE values can be explicitly set. |
0 if there is no service delimiting VLAN tag at the ingress SAP or mesh/spoke-SDP If s-tag-c-tag is configured, the inner and outer dot1p/DE bits are taken from the inner and outer ingress service delimiting tag (respectively). They can be:
|
Any non-service delimiting VLAN tags are forwarded transparently through the VPLS service. SAP egress classification is possible on the outermost customer VLAN tag received on a mesh or spoke-SDP using the ethernet-ctag parameter in the associated SAP egress QoS policy.