This section provides information to configure VPLS services using the command line interface.
The following fields require specific input (there are no defaults) to configure a basic VPLS service:
The following is a sample configuration output of a local VPLS service on ALA-1.
The is a sample configuration output of a distributed VPLS service between ALA-1, ALA-2, and ALA-3.
This section provides a brief overview of the tasks that must be performed to configure both local VPLS services and provides the syntax commands.
For VPLS services:
Use the following syntax to create a VPLS service.
The following is a sample VPLS configuration output.
The mac-move feature is useful to protect against undetected loops in your VPLS topology as well as the presence of duplicate MACs in a VPLS service. For example, if two clients in the VPLS have the same MAC address, the VPLS will experience a high relearn rate for the MAC and will shut down the SAP when the threshold is exceeded.
Use the following syntax to configure mac-move parameters.
The following is a sample of mac-move information.
Modifying some of the Spanning Tree Protocol parameters allows the operator to balance STP between resiliency and speed of convergence extremes. Modifying particular parameters must be done in the constraints of the following two formulas:
2 x (Bridge_Forward_Delay - 1.0 seconds) >= Bridge_Max_Age
Bridge_Max_Age >= 2 x (Bridge_Hello0_Time + 1.0 seconds)
STP always uses the locally configured values for the first three parameters (Admin State, Mode and Priority).
For the parameters Max Age, Forward Delay, Hello Time and Hold Count, the locally configured values are only used when this bridge has been elected root bridge in the STP domain, otherwise the values received from the root bridge are used. The exception to this rule is: when STP is running in RSTP mode, the Hello Time is always taken from the locally configured parameter. The other parameters are only used when running mode MSTP.
The administrative state of STP at the VPLS level is controlled by the shutdown command.
When STP on the VPLS is administratively disabled, any BPDUs are forwarded transparently through the 7210 SAS. When STP on the VPLS is administratively enabled, but the administrative state of a SAP is down, BPDUs received on such a SAP are discarded.
To be compatible with the different iterations of the IEEE 802.1D standard, the 7210 SAS supports several variants of the Spanning Tree protocol:
See section Spanning Tree Operating Modes for details on these modes.
Default: rstp
The bridge-priority command is used to populate the priority portion of the bridge ID field within outbound BPDUs (the most significant 4 bits of the bridge ID). It is also used as part of the decision process when determining the best BPDU between messages received and sent.
All values will be truncated to multiples of 4096, conforming with IEEE 802.1t and 802.1D-2004.
Range: | 1 to 65535 |
Default: | 32768 |
Restore Default: | no priority |
The max-age command indicates how many hops a BPDU can traverse the network starting from the root bridge. The message age field in a BPDU transmitted by the root bridge is initialized to 0. Each other bridge will take the message_age value from BPDUs received on their root port and increment this value by 1. The message_age therefore reflects the distance from the root bridge. BPDUs with a message age exceeding max-age are ignored.
STP uses the max-age value configured in the root bridge. This value is propagated to the other bridges by the BPDUs.
The default value of max-age is 20. This parameter can be modified within a range of 6 to 40, limited by the standard STP parameter interaction formulas.
Range: | 6 to 40 seconds |
Default: | 20 seconds |
Restore Default: | no max-age |
RSTP, as defined in the IEEE 802.1D-2004 standards, will transition to the forwarding state by a handshaking mechanism (rapid transition), without any waiting times. If handshaking fails (e.g. on shared links), the system falls back to the timer-based mechanism defined in the original STP (802.1D-1998) standard.
A shared link is a link with more than two Ethernet bridges (for example, a shared 10/100BaseT segment). The port-type command is used to configure a link as point-to-point or shared (see section SAP Link Type).
For timer-based transitions, the 802.1D-2004 standard defines an internal variable forward-delay, which is used in calculating the default number of seconds that a SAP spends in the discarding and learning states when transitioning to the forwarding state. The value of the forward-delay variable depends on the STP operating mode of the VPLS instance:
Range: | 4 to 30 seconds |
Default: | 15 seconds |
Restore Default: | no forward-delay |
The hello-time command configures the Spanning Tree Protocol (STP) hello time for the Virtual Private LAN Service (VPLS) STP instance.
The seconds parameter defines the default timer value that controls the sending interval between BPDU configuration messages by this bridge, on ports where this bridge assumes the designated role.
The active hello time for the spanning tree is determined by the root bridge (except when the STP is running in RSTP mode, then the hello time is always taken from the locally configured parameter).
The configured hello-time value can also be used to calculate the bridge forward delay, see Forward Delay.
Range: | 1 to 10 seconds |
Default: | 2 seconds |
Restore Default: | no hello-time |
The hold-count command configures the peak number of BPDUs that can be transmitted in a period of one second.
Range: | 1 to 10 |
Default: | 6 |
Restore Default: | no hold-count |
You can create up to 15 MST-instances. They can range from 1 to 4094. By changing path-cost and priorities, you can make sure that each instance will form it's own tree within the region, therefore making sure different VLANs follow different paths.
You can assign non overlapping VLAN ranges to each instance. VLANs that are not assigned to an instance are implicitly assumed to be in instance 0, which is also called the CIST. This CIST cannot be deleted or created.
The parameter that can be defined per instance are mst-priority and vlan-range.
The mst-max-hops command defines the maximum number of hops the BPDU can traverse inside the region. Outside the region max-age is used.
The MST name defines the name that the operator gives to a region. Together with MST revision and the VLAN to MST-instance mapping, it forms the MST configuration identifier. Two bridges that have the same MST configuration identifier form a region if they exchange BPDUs.
The MST revision together with MST-name and VLAN to MST-instance mapping define the MST configuration identifier. Two bridges that have the same MST configuration identifier form a region if they exchange BPDUs.
A default QoS policy is applied to each ingress SAP. Additional QoS policies can be configured in the config>qos context. There are no default filter policies. Filter policies are configured in the config>filter context and must be explicitly applied to a SAP.
To configure a local VPLS service, enter the sap sap-id command twice with different port IDs in the same service configuration.
Note: Distributed VPLS is supported on all 7210 SAS platforms as described in this document, except those operating in access-uplink mode. |
To configure a distributed VPLS service, you must configure service entities on originating and far-end nodes. You must use the same service ID on all ends (for example, create a VPLS service ID 9000 on ALA-1, ALA-2, and ALA-3). A distributed VPLS consists of a SAP on each participating node and an SDP bound to each participating node.
For SDP configuration information, see Configuring an SDP. For SDP binding information, see Configuring SDP Bindings.
The following is a sample configuration output of VPLS SAPs configured for ALA-1, ALA-2, and ALA-3.
Note: Default QinQ SAPs are only supported on 7210 SAS platforms operating in access-uplink mode. |
The following is a sample VPLS SAP configuration output of Default QinQ SAPs.
When a VPLS has STP enabled, each SAP within the VPLS has STP enabled by default.
The administrative state of STP within a SAP controls how BPDUs are transmitted and handled when received. The allowable states are:
Note: The administratively down state allows a loop to form within the VPLS. |
Range: | shutdown or no shutdown |
Default: | no shutdown (SAP admin up) |
The virtual port number uniquely identifies a SAP within configuration BPDUs. The internal representation of a SAP is unique to a system and has a reference space much bigger than the 12 bits definable in a configuration BPDU. STP takes the internal representation value of a SAP and identifies it with it’s own virtual port number that is unique to every other SAP defined on the VPLS. The virtual port number is assigned at the time that the SAP is added to the VPLS.
Since the order in which SAPs are added to the VPLS is not preserved between reboots of the system, the virtual port number may change between restarts of the STP instance. To achieve consistency after a reboot, the virtual port number can be specified explicitly.
Range: | 1 — 2047 |
Default: | (automatically generated) |
Restore Default: | no port-num |
SAP priority allows a configurable “tie breaking” parameter to be associated with a SAP. When configuration BPDUs are being received, the configured SAP priority will be used in some circumstances to determine whether a SAP will be designated or blocked.
In traditional STP implementations (802.1D-1998), this field is called the port priority and has a value of 0 to 255. This field is coupled with the port number (0 to 255 also) to create a 16 bit value. In the latest STP standard (802.1D-2004) only the upper 4 bits of the port priority field are used to encode the SAP priority. The remaining 4 bits are used to extend the port ID field into a 12 bit virtual port number field. The virtual port number uniquely references a SAP within the STP instance. See SAP Virtual Port Number for details on the virtual port number.
STP computes the actual SAP priority by taking the configured priority value and masking out the lower four bits. The result is the value that is stored in the SAP priority parameter. For example, if a value of 0 was entered, masking out the lower 4 bits would result in a parameter value of 0. If a value of 255 was entered, the result would be 240.
The default value for SAP priority is 128. This parameter can be modified within a range of 0 to 255, 0 being the highest priority. Masking causes the values actually stored and displayed to be 0 to 240, in increments of 16.
Range: | 0 to 255 (240 largest value, in increments of 16) |
Default: | 128 |
Restore Default: | no priority |
The SAP path cost is used by STP to calculate the path cost to the root bridge. The path cost in BPDUs received on the root port is incremental with the configured path cost for that SAP. When BPDUs are sent out other egress SAPs, the newly calculated root path cost is used.
STP suggests that the path cost is defined as a function of the link bandwidth. Since SAPs are controlled by complex queuing dynamics, in the 7210 SAS the STP path cost is a purely static configuration.
The default value for SAP path cost is 10. This parameter can be modified within a range of 1 to 65535, 1 being the lowest cost.
Range: | 1 to 200000000 |
Default: | 10 |
Restore Default: | no path-cost |
The SAP edge-port command is used to reduce the time it takes a SAP to reach the forwarding state when the SAP is on the edge of the network, and therefore has no further STP bridge to handshake with.
The edge-port command is used to initialize the internal OPER_EDGE variable. At any time, when OPER_EDGE is false on a SAP, the normal mechanisms are used to transition to the forwarding state (see Forward Delay). When OPER_EDGE is true, STP assumes that the remote end agrees to transition to the forwarding state without actually receiving a BPDU with an agreement flag set.
The OPER_EDGE variable will dynamically be set to false if the SAP receives BPDUs (the configured edge-port value does not change). The OPER_EDGE variable will dynamically be set to true if auto-edge is enabled and STP concludes there is no bridge behind the SAP.
When STP on the SAP is administratively disabled and re-enabled, the OPER_EDGE is reinitialized to the value configured for edge-port.
Valid values for SAP edge-port are enabled and disabled with disabled being the default.
Default: no edge-port
The SAP edge-port command is used to instruct STP to dynamically decide whether the SAP is connected to another bridge.
If auto-edge is enabled, and STP concludes there is no bridge behind the SAP, the OPER_EDGE variable will dynamically be set to true. If auto-edge is enabled, and a BPDU is received, the OPER_EDGE variable will dynamically be set to true (see SAP Edge Port).
Valid values for SAP auto-edge are enabled and disabled with enabled being the default.
Default: auto-edge
The SAP link-type parameter instructs STP on the maximum number of bridges behind this SAP. If there is only a single bridge, transitioning to forwarding state will be based on handshaking (fast transitions). If more than two bridges are connected by a shared media, their SAPs should all be configured as shared, and timer-based transitions are used.
Valid values for SAP link-type are shared and pt-pt with pt-pt being the default.
Default: | link-type pt-pt |
Restore Default: | no link-type |
The SAP mst-instance command is used to create MST instances at the SAP level. MST instance at a SAP level can be created only if MST instances are defined at the service level.
The parameters that can be defined per instance are mst-path-cost and mst-port-priority.
The operational state of STP within a SAP controls how BPDUs are transmitted and handled when received.
Operationally disabled is the normal operational state for STP on a SAP in a VPLS that has any of the following conditions:
If the SAP enters the operationally up state with the STP administratively up and the SAP STP state is up, the SAP will transition to the STP SAP discarding state.
When, during normal operation, the router detects a downstream loop behind a SAP, BPDUs can be received at a very high rate. To recover from this situation, STP will transition the SAP to disabled state for the configured forward-delay duration.
A SAP in the discarding state only receives and sends BPDUs, building the local correct STP state for each SAP while not forwarding actual user traffic. The duration of the discarding state is explained in section Forward Delay.
Note: in previous versions of the STP standard, the discarding state was called a blocked state.
The learning state allows population of the MAC forwarding table before entering the forwarding state. In this state, no user traffic is forwarded.
Configuration BPDUs are sent out a SAP in the forwarding state. Layer 2 frames received on the SAP are source learned and destination forwarded according to the FIB. Layer 2 frames received on other forwarding interfaces and destined for the SAP are also forwarded.
IEEE 802.1d (referred as dot1d) and the Cisco per VLAN Spanning Tree (PVST) BPDU encapsulations are supported on a per SAP basis. The STP is associated with a VPLS service like PVST is per VLAN. The difference between the two encapsulations is in the Ethernet and LLC framing and a type-length-value (TLV) field trailing the BPDU.The encapsulation format cannot be configured by the user, the system automatically determines the encapsulation format based on the BPDUs received on the port.
Table 55 shows differences between Dot1d and PVST Ethernet BPDU encapsulations based on the interface encap-type field:
Field | dot1d encap-type null | dot1d encap-type dot1q | PVST encap-type null | PVST encap-type dot1q |
Destination MAC | 01:80:c2:00:00:00 | 01:80:c2:00:00:00 | N/A | 01:00:0c:cc:cc:cd |
Source MAC | Sending Port MAC | Sending Port MAC | N/A | Sending Port MAC |
EtherType | N/A | 0x81 00 | N/A | 0x81 00 |
Dot1p and CFI | N/A | 0xe | N/A | 0xe |
Dot1q | N/A | VPLS SAP ID | N/A | VPLS SAP encap value |
Length | LLC Length | LLC Length | N/A | LLC Length |
LLC DSAP SSAP | 0x4242 | 0x4242 | N/A | 0xaaaa (SNAP) |
LLC CNTL | 0x03 | 0x03 | N/A | 0x03 |
SNAP OUI | N/A | N/A | N/A | 00 00 0c (Cisco OUI) |
SNAP PID | N/A | N/A | N/A | 01 0b |
CONFIG | Standard 802.1d | Standard 802.1d | N/A | Standard 802.1d |
TLV: Type & Len | N/A | N/A | N/A | 58 00 00 00 02 |
TLV: VLAN | N/A | N/A | N/A | VPLS SAP encap value |
Padding | As Required | As Required | N/A | As Required |
Each SAP has a Read-Only operational state that shows which BPDU encapsulation is currently active on the SAP. The states are:
Dot1d is the initial and only SAP BPDU encapsulation state for SAPs defined on Ethernet interface with encapsulation type set to null.
Note: Per-service split horizon groups are supported on all 7210 SAS platforms as described in this document, except those operating in access-uplink mode. |
To configure a VPLS service with a split horizon group, add the split-horizon-group parameter when creating the SAP. Traffic arriving on a SAP within a split horizon group will not be copied to other SAPs in the same split horizon group.
The following is a sample VPLS configuration output with split horizon enabled.
Note: SDPs are supported on all 7210 SAS platforms as described in this document, except those operating in access-uplink mode. |
VPLS provides scaling and operational advantages. A hierarchical configuration eliminates the need for a full mesh of VCs between participating devices. Hierarchy is achieved by enhancing the base VPLS core mesh of VCs with access VCs (spoke) to form two tiers. Spoke-SDPs are generally created between Layer 2 switches and placed at the Multi-Tenant Unit (MTU). The PE routers are placed at the service provider's Point of Presence (POP). Signaling and replication overhead on all devices is considerably reduced.
A spoke-SDP is treated like the equivalent of a traditional bridge port where flooded traffic received on the spoke-SDP is replicated on all other “ports” (other spoke-SDPs or SAPs) and not transmitted on the port it was received (unless a split horizon group was defined on the spoke-SDP, see section Configuring VPLS Spoke-SDPs with Split Horizon).
A spoke-SDP connects a VPLS service between two sites and, in its simplest form, could be a single tunnel LSP. A set of ingress and egress VC labels are exchanged for each VPLS service instance to be transported over this LSP. The PE routers at each end treat this as a virtual spoke connection for the VPLS service in the same way as the PE-MTU connections. This architecture minimizes the signaling overhead and avoids a full mesh of VCs and LSPs between the two metro networks.
A VC-ID can be specified with the SDP-ID. The VC-ID is used instead of a label to identify a virtual circuit. The VC-ID is significant between peer SRs on the same hierarchical level. The value of a VC-ID is conceptually independent from the value of the label or any other datalink specific information of the VC.
Note: Split horizon groups are supported on all 7210 SAS platforms as described in this document, except those operating in access-uplink mode. |
To configure spoke-SDPs with a split horizon group, add the split-horizon-group parameter when creating the spoke-SDP. Traffic arriving on a SAP or spoke-SDP within a split horizon group will not be copied to other SAPs or spoke-SDPs in the same split horizon group.
The following is a sample VPLS configuration output with split horizon enabled.
This section describes the service management tasks.
This section provides a brief overview of the tasks that must be performed to configure a management VPLS for SAP protection and provides the CLI commands, see Figure 58. The following tasks should be performed on both nodes providing the protected VPLS service.
Before configuring a management VPLS, first read VPLS Redundancy for an introduction to the concept of management VPLS and SAP redundancy.
The following is a sample VPLS configuration output.
Note: SDPs are supported on all 7210 SAS platforms as described in this document, except those operating in access-uplink mode. For 7210 SAS platforms operating in access-uplink mode, management VPLS can be used for protection of QinQ uplinks. Refer to the following example for more information. |
This section provides a brief overview of the tasks that must be performed to configure a management VPLS for spoke-SDP protection and provides the CLI commands, see Figure 59. The following tasks should be performed on all four nodes providing the protected VPLS service.
Before configuring a management VPLS, please first read Configuring a VPLS SAP for an introduction to the concept of management VPLS and spoke-SDP redundancy.
As long as the user spoke-SDPs created in step 7 are in this same tunnel SDP with the management spoke-SDP created in step 6, the management VPLS will protect them.
Use the following syntax to create a management VPLS for spoke-SDP protection.
The following is a sample VPLS configuration output.
With the concept of management VPLS, it is possible to load balance the user VPLS services across the two protecting nodes. This is done by creating two management VPLS instances, where both instances have different active QinQ spokes (by changing the STP path-cost). When different user VPLS services are associated with either the two management VPLS services, the traffic will be split across the two QinQ spokes. Load balancing can be achieved in SAP protection scenarios.
Figure 60 shows an example of a configuration for load balancing with management VPLS.
Note: the STP path costs in each peer node should be reversed.
The following is a sample VPLS configuration output.
BGP-AD automatically creates SDP-bindings using a template to configure SDP-binding configuration parameters. Layer 2-auto-bind is a command used to initiate a template that is used by BGP-AD for PW instantiation under related VPLS instances.
The template may be referenced in the “service vpls bgp-ad” object and used subsequently to instantiate PWs to a remote PE and VSI instance advertised through BGP Auto-Discovery. Changes to these dynamically created objects cannot be performed directly through CLI or SNMP. There are two possible methods to initiate the change:
Changes are not automatically propagated to the instantiated objects and must be done through one of two tool commands:
This command forces evaluation of changes that were made in the Layer 2-auto-bind template indicated in the command. This command can be applied to an individual VPLS service or all VPLS services that reference the template if no service is specified.
The parameters are divided into three classes.
Class 1: Modified at create time only.
Class 2: Modified only when the object is administratively shutdown.
Class 3: No restrictions.
Parameters that fall into class 1 will destroy existing objects and recreate objects with the new values. Parameters in class 2 will momentarily shutdown the object, change the parameter, then re-enable the object. Class 3 can be changed without affecting the operational status of the objects of service.
For the Layer 2-auto-bind template, the parameters are treated as follows:
Class 1: Adding or removing a split-horizon-group, switching between a manual and auto SDP
Class 2: Changing the vc-type {ether | vlan}
Class 3: All other changes.
The keyword allow-service-impact enables service impacting changes. If this keyword is not configured, an error message is generated if the parameter changes are service impacting.
With the concept of management VPLS, it is possible to load balance the user VPLS services across the two protecting nodes. This is done by creating two management VPLS instances, where both instances have different active spokes (by changing the STP path-cost). When different user VPLS services are associated with either the two management VPLS services, the traffic will be split across the two spokes.
Load balancing can be achieved in both the SAP protection and spoke-SDP protection scenarios. Figure 61 shows an example with the following configuration.
Use the following syntax to create a load balancing across two management VPLS instances.
This following output shows example configurations for load balancing across two protected VPLS spoke-SDPs:
The following is a sample configuration output on ALA-A (SAS-M).
The following is a sample configuration output on ALA-B (7210), the top left node. It is configured such that it becomes the root bridge for MVPLS 100 and MVPLS 200.
The following is a sample configuration output on ALA-C (7210), the top right node.
Use the following syntax to enable selective MAC Flush in a VPLS.
Use the following syntax to disable selective MAC Flush in a VPLS.
With the concept of management VPLS, it is possible to load balance the user VPLS services across the two protecting nodes. This is done by creating two management VPLS instances, where both instances have different active QinQ spokes (by changing the STP path-cost). When different user VPLS services are associated with either the two management VPLS services, the traffic will be split across the two QinQ spokes. Load balancing can be achieved in SAP protection scenarios.
Figure 62 shows an example of a configuration for load balancing with management VPLS.
Note: The STP path costs in each peer node should be reversed. |
The following is a sample VPLS configuration output.
IGMPv3 snooping in RVPLS is supported only for IES (not for VPRNs).
Use the following syntax to configure IGMPv3 snooping in routed VPLS bound to an IES.
The following is a sample RVPLS configuration output that uses IGMPv3 snooping.
This section provides important information to describe the different configuration options used to populate the required BGP AD and generate the LDP generalized pseudowire-ID FEC fields. There are a large number of configuration options that are available with the this feature. Not all these configurations option are required to start using BGP AD. At the end of this section, it will be apparent that a very simple configuration will automatically generate the required values used by BGP and LDP. In most cases, deployments will provide full mesh connectivity between all nodes across a VPLS instance. However, capabilities are available to influence the topology and build hierarchies or hub and spoke models.
Using Figure 63, assume PE6 was previously configured with VPLS 100 as indicated by the configurations lines in the upper right. The BGP AD process will commence after PE134 is configured with the VPLS 100 instance as shown in the upper left. This shows a very basic and simple BGP AD configuration. The minimum requirement for enabling BGP AD on a VPLS instance is configuring the VPLS-ID and point to a pseudowire template.
In many cases, VPLS connectivity is based on a pseudowire mesh. To reduce the configuration requirement, the BGP values can be automatically generated using the VPLS-ID and the MPLS router-ID. By default, the lower six bytes of the VPLS-ID are used to generate the RD and the RT values. The VSI-ID value is generated from the MPLS router-ID. All of these parameters are configurable and can be coded to suit requirements and build different topologies
A helpful command displays the service information, the BGP parameters and the SDP bindings in use. When the discovery process is completed successfully each endpoint will have an entry for the service.
When only one of the endpoints has an entry for the service in the Layer 2-routing-table, it is most likely a problem with the RT values used for import and export. This would most likely happen when different import and export RT values are configured using a router policy or the route-target command.
Service specific commands continue to be available to display service specific information, including status.
BGP AD advertises the VPLS-ID in the extended community attribute, VSI-ID in the NLRI and the local PE ID in the BGP next hop. At the receiving PE, the VPLS-ID is compared against locally provisioned information to determine whether the two PEs share a common VPLS. If it is found that they do, the BGP information is used in the signaling phase.
In Figure 64, Pseudo-wire is configured on MTU. The following is a sample configuration output on the MTU.
This section describes the service management tasks.
You can change existing service parameters. The changes are applied immediately. To display a list of services, use the show service service-using vpls command. Enter the parameter such as description SAP and then enter the new information.
The following is a sample modified VPLS configuration output.
To modify the range of VLANs on an access port that is to be managed by an existing management VPLS, enter the new range first and then remove the old range. If the old range is removed before a new range is defined, all customer VPLS services in the old range will become unprotected and may be disabled.
As with normal VPLS service, a management VPLS cannot be deleted until SAPs and SDPs are unbound (deleted), interfaces are shutdown, and the service is shutdown on the service level.
Use the following syntax to delete a management VPLS service.
You can shut down a management VPLS without deleting the service parameters.
When a management VPLS is disabled, all associated user VPLS services are also disabled (to prevent loops). If this is not desired, first un-manage the user VPLS service by removing them from the managed-vlan-list or moving the spoke-SDPs on to another tunnel SDP.
A VPLS service cannot be deleted until SAPs and SDPs (not applicable for 7210 SAS-M and 7210 SAS-T devices configured in Access uplink mode) are unbound (deleted), interfaces are shutdown, and the service is shutdown on the service level.
Use the following syntax to delete a VPLS service.
Use the following syntax to shut down a VPLS service without deleting the service parameters.
Use the following syntax to re-enable a VPLS service that was shut down.