Cisco ASR 9000 Series Aggregation Services Router L2VPN and Ethernet Services Configuration Guide
Implementing Multiple Spanning Tree Protocol
Downloads: This chapterpdf (PDF - 544.0KB) The complete bookPDF (PDF - 6.37MB) | Feedback

Implementing Multiple Spanning Tree Protocol

Table Of Contents

Implementing Multiple Spanning Tree Protocol

Contents

Prerequisites for Implementing Multiple Spanning Tree Protocol

Information About Implementing Multiple Spanning Tree Protocol

Spanning Tree Protocol Overview

Root Guard Feature

Multiple Spanning Tree Protocol Overview

Bridge Protocol Data Units

MSTP-Supported Features

Multiple VLAN Registration Protocol Lite

Restrictions for Configuring MSTP

Multiple Spanning Tree Access Gateway

How to Implement Multiple Spanning Tree Protocol

Configuring MSTP

Enabling MSTP

Configuring MSTP Parameters

Verifying the Multiple Spanning Tree Protocol

Configuring Multiple VLAN Registration Protocol Lite

Configuring MSTAG

Configuration Examples for Implementing MSTP

Configuring MSTP: Example

Configuring MVRP Lite: Example

Configuring MSTAG: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance


Implementing Multiple Spanning Tree Protocol


This module provides conceptual and configuration information for Multiple Spanning Tree Protocol on Cisco ASR 9000 Series Routers. Multiple Spanning Tree Protocol (MSTP) is a spanning-tree protocol used to prevent loops in bridge configurations. Unlike other types of STPs, MSTP can block ports selectively by VLAN.

Feature History for Implementing Multiple Spanning Tree Protocol

Release
Modification

Release 3.7.3

This feature was introduced on Cisco ASR 9000 Series Routers.

Release 3.9.0

No modification.

Release 3.9.1

Support for MSTP over Bundles feature was added.


Contents

Prerequisites for Implementing Multiple Spanning Tree Protocol

Information About Implementing Multiple Spanning Tree Protocol

How to Implement Multiple Spanning Tree Protocol

Configuration Examples for Implementing MSTP

Additional References

Prerequisites for Implementing Multiple Spanning Tree Protocol

The following prerequisite applies to implementing access lists and prefix lists:

You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command.

If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

Information About Implementing Multiple Spanning Tree Protocol

To implement Ethernet services access lists, you must understand the following concepts:

Spanning Tree Protocol Overview

Multiple Spanning Tree Protocol Overview

MSTP-Supported Features

Multiple VLAN Registration Protocol Lite

Restrictions for Configuring MSTP

Multiple Spanning Tree Access Gateway

Spanning Tree Protocol Overview

Ethernet is no longer just a link-layer technology used to interconnect network vehicles and hosts. Its low cost and wide spectrum of bandwidth capabilities coupled with a simple plug-and-play provisioning philosophy have transformed Ethernet into a legitimate technique for building networks, in particular to the access and aggregation regions of service provider networks.

Ethernet networks, lacking a TTL field in the L2 header and encouraging multicast traffic network-wide, are susceptible to broadcast storms, if loops are introduced. However, loops are a desirable property as they provide redundant paths. The spanning tree protocols are used to maintain a loop-free topology within Ethernet networks, allowing redundancy within the network to deal with link failures.

Spanning Tree Protocol (STP) is a Layer 2 link-management protocol that provides path redundancy while preventing undesirable loops in the network. For a Layer 2 Ethernet network to function properly, only one active path can exist between any two stations. STP operation is transparent to end stations, which cannot detect whether they are connected to a single LAN segment or a switched LAN of multiple segments.

Cisco ASR 9000 Series Routerss use STP (the IEEE 802.1D bridge protocol) on all VLANs. When STP is enabled, each instance can control multiple VLANs and VLAN ranges.

When you create fault-tolerant internetworks, you must have a loop-free path between all nodes in a network. The STP algorithm calculates the best loop-free path throughout a switched Layer 2 network. Layer 2 LAN ports send and receive STP frames at regular intervals. Network devices do not forward these frames, but use the frames to construct a loop-free path.

Multiple active paths between end stations cause loops in the network. If a loop exists in the network, end stations might receive duplicate messages and network devices might learn end station MAC addresses on multiple Layer 2 LAN ports. These conditions result in an unstable network.

STP defines a tree with a root bridge and a loop-free path from the root to all network devices in the Layer 2 network. STP forces redundant data paths into a standby (blocked) state. If a network segment in the spanning tree fails and a redundant path exists, the STP algorithm recalculates the spanning tree topology and activates the standby path.

When two Layer 2 LAN ports on a network device are part of a loop, the STP port priority and port path cost setting determine which port is put in the forwarding state and which port is put in the blocking state. The STP port priority value represents the location of a port in the network topology and how efficiently that location allows the port to pass traffic. The STP port path cost value represents media speed.

Root Guard Feature

The standard STP (Spanning Tree Protocol) does not provide any means for the network administrator to securely enforce the topology of the switched Layer 2 (L2) network. A means to enforce topology can be especially important in networks with shared administrative control, where different administrative entities or companies control one switched network.

The forwarding topology of the switched network is calculated. The calculation is based on the root bridge position, among other parameters. Any switch can be the root bridge in a network. But a more optimal forwarding topology places the root bridge at a specific predetermined location. With the standard STP, any bridge in the network with a lower bridge ID takes the role of the root bridge. The administrator cannot enforce the position of the root bridge.


Note The administrator can set the root bridge priority to 0 in an effort to secure the root bridge position. But there is no guarantee against a bridge with a priority of 0 and a lower MAC address.


The root guard feature provides a way to enforce the root bridge placement in the network.

The root guard ensures that the port on which root guard is enabled is the designated port. Normally, root bridge ports are all designated ports, unless two or more ports of the root bridge are connected together. If the bridge receives superior STP Bridge Protocol Data Units (BPDUs) on a root guard-enabled port, root guard moves this port to a root-inconsistent STP state. This root-inconsistent state is effectively equal to a listening state. No traffic is forwarded across this port. In this way, the root guard enforces the position of the root bridge.

Multiple Spanning Tree Protocol Overview

Multiple Spanning Tree (MST) lets you build multiple spanning trees over trunks. You can group and associate virtual local area networks (VLANs) to spanning tree instances. Each instance can have a topology independent of other spanning tree instances. MST establishes and maintains additional spanning trees within each MST region.

MSTP on a network-facing provider edge (PE) device, which is a gateway between the MPLS core and the customer domain, is supported. This function provides protection for native Ethernet rings on the User-Network Interface (UNI) side to support MSTP.

A PE router uses the following functions:

Runs MSTP with or without the VPLS core.

Runs more than one MST instances (MSTI) simultaneously.

The following rules are listed for the association among MSTI, bridge domain, and interfaces (for example, bridge ports):

A bridge domain belongs to only one MSTI.

All interfaces are associated with a bridge domain and are controlled by one MST.

The MSTI controls more than one bridge domain.

The MSTP control plane uses the L2VPN/VPLS infrastructure to ensure that the rules are enforced. When the L2VPN/VPLS infrastructure detects a violation of the rules, any interfaces that are in conflict within a bridge domain are brought down.

In addition, the MSTP control plane uses the L2VPN/VPLS infrastructure to update the port state that is based on the MSTP calculation.

The MSTP permits mapping of multiple VLANs to one spanning tree instance, to reduce the spanning tree scaling problem. MSTP introduces the concept of regions, a region is a group of bridges under the same administrative control and having similar configurations.

All bridges in an MST region have the same configuration attributes (name, revision, and VLAN-to-instance mapping). A digest of the VLAN map is embedded in the bridge protocol data units (BPDUs) sent by the bridges. The digest is used by receiving bridges to verify the region membership.

Figure 13 shows the interaction of MST regions when bridges running MSTP get connected to bridges running standard spanning tree protocol (STP) or rapid spanning tree protocol (RSTP). Here, switches SW1, SW2, SW3, and SW4 support MSTP. Switches SW5 and SW6 do not support MSTP.

Figure 13 MST Interaction with Non-MST Regions

To connect MST regions with non-MST aware networks, an internal spanning tree (IST) instance is used. In case of MSTP, the whole MST region is represented as a single switch to non-MST aware bridges. The logical IST topology for this case is shown in Figure 14.

Figure 14 Logical Topology in MST Region Interacting with Non-MST Bridges

Bridge Protocol Data Units

Bridge protocol data units (BPDUs) are transmitted in one direction from the root bridge. Each network device sends configuration BPDUs to communicate and compute the spanning tree topology. Each configuration BPDU contains the following minimal information:

Unique bridge ID of the network device that the transmitting network device believes to be the root bridge

STP path cost to the root

Bridge ID of the transmitting bridge

Message age

Identifier of the transmitting port

Values for the hello, forward delay, and max-age protocol timers

When a network device transmits a BPDU frame, all network devices connected to the LAN on which the frame is transmitted receive the BPDU. When a network device receives a BPDU, it does not forward the frame but instead uses the information in the frame to calculate a BPDU, and, if the topology changes, to initiate a BPDU transmission.

The following conditions result in a BPDU exchange:

One network device is elected as the root bridge.

The shortest distance to the root bridge is calculated for each network device based on the path cost.

A designated bridge for each LAN segment is selected. This is the network device closest to the root bridge through which frames are forwarded to the root.

A root port is selected. This is the port providing the best path from the bridge to the root bridge.

Ports included in the spanning tree are selected.

Restricted Topology Change Notification

A Topology Change Notification is a simple Bridge Protocol Data Unit (BPDU) that a bridge sends out to its root port to signal a topology change. Restricted TCN can be toggled between True and False. If set to True, this stops the port from propagating received topology change notifications and topology changes to other ports. The default is False.

MSTP-Supported Features

Support for the following features is added to MSTP on theCisco ASR 9000 Series Routers:

PortFast—Allows a port to be marked as an edge port that does not participate in the spanning tree.

BPDUGuard—Protects PortFast ports from misconfigurations by error-disabling them if they receive a BPDU.

RootGuard—Prevents a port from becoming the RootPort.

RestrictedTCN—A restricted topology change notification (TCN) is a simple bridge protocol data unit (BPDU) that a bridge sends out to its root port to signal a topology change. Restricted TCN can be toggled between True and False. If set to True, this stops the port from propagating received topology change notifications and topology changes to other ports. The default is False.

MSTAG support on physical Ethernet interfaces.

MSTP over bundles (LAG)—Multiple Spanning Tree Protocol (MSTP) IEEE 802.1q enables load balancing across multiple paths by allowing multiple spanning tree instances to exist within an Ethernet network. Different VLANs are mapped to different spanning trees providing redundancy and load balancing which enables support over bundles (LAG). MSTP uses RSTP, thus allowing rapid convergence after a topology change.

Multiple VLAN Registration Protocol Lite

Multiple Registration Protocol (MRP) allows an application to propagate attribute declarations through a network of participating ports in the same active topology. In MVRP, the attributes are VLAN IDs, and declarations indicate ports that are meant to receive traffic for the VLAN IDs. MVRP enacts registrations by only transmitting traffic on registered VLAN IDs out of ports that are MVRP-enabled.

An MVRP application can be implemented on the following nodes:

static

dynamic

mixed

Static nodes send declarations for attributes that are determined from configurations. These nodes process incoming declarations, but they do not propagate registrations, even if multiple ports on the same node, within the same active topology, are running the same application.

Dynamic nodes process incoming declarations, propagate them to other participants, and transmit declarations for the attributes. No declarations are derived statically from configuration.

Similar to dynamic nodes, the mixed nodes run the protocol fully. In addition, certain ports (usually UNIs) inject static declarations, which are propagated to all dynamic participants and transmitted as declarations to other hosts.

MVRP Lite is a limited MVRP implementation that operates only on static nodes.

Restrictions for Configuring MSTP

The following restrictions apply when you configure the MSTP feature:

Only "simple" Ethernet flow points (EFPs) can have MSTP enabled on them.
EFPs that match any of the following criteria, qualify as "simple":

Single-tagged 802.1Q frames.

Double-tagged Q-in-Q frames (only the outermost tag is examined).

802.1ad frames (either UNI or NNI. The former acts as an EdgePort as far as STP is concerned, and incoming STP frames are simply tunneled. For NNIs, only the outer tag is reused.)

Ranges or lists of tags (any of the above).

If any one EFP in a bridge domain is in an MSTI, then all EFPs in that bridge domain should be in the same MSTI.

If any one EFP on a port is STP enabled, then all EFPs on that port should be STP enabled.

No hair-pinning; only one EFP per port (physical or bundle) can be in each MSTI, unless all of those EFPs are part of a split-horizon group.

All EFPs that share the same tag (either the single 802.1Q VID, or the outmost on multiple tagged packets) on the box and have MSTP enabled should be in the same MSTI.

Backup EFPs should be configured on every redundant path for all EVCs that are mapped to the same MSTI, to avoid inadvertent loss of connectivity due to STP blocking of a port.

Default EFP is not supported on ports that are STP enabled.


Caution An EFP with untagged encapsulation leads to an MSTP state machine failure. Similarly, an EFP with default encapsulation leads to an MSTP state machine failure.

Multiple Spanning Tree Access Gateway

The Cisco ASR 9000 Series Routers serves as a nPE device terminating uPE access rings and providing connectivity to the aggregation network. Because these access rings have redundant connections, they are required to run some variant of STP in order to maintain loop-free connectivity. A basic solution to this problem is to tunnel the BPDUs between the legs of the access ring. This solution results in loop-free topologies, but it has following limitations for deployment in a service provider network:

Because no direct connections are made between the legs of the access ring, the only way that the access ring can recover from a failure is to wait for a time-out, even if RSTP or MSTP is being used. This implies traffic loss for at least 6 seconds.

If the active leg of the access ring changes, MSTP issues a topology change message. As the BPDUs are tunneled, it correctly flushes MAC tables within the access ring, but does not cause the appropriate LDP MAC withdrawals to be sent from the nPE devices. This leads to traffic loss on the order of the MAC learning time-out.

The MSTAG topology control is designed to address the BPDUs sent by the nPEs, which do not take the connectivity of the nPE into account when advertising their status. However, it is possible that the failed bridge recovers to the point where it is able to resend BPDUs before the virtual private LAN service (VPLS) and Internet group management protocol (IGMP) states have been fully restored, at which point the access ring traffic is redirected to the failed bridge.

The above mentioned problem is solved by allowing the user to exercise some measure of control over the timing of topology changes and by configuring initial BPDUs to be sent for some period, while the system stabilizes after a bridge or LC reloads. On each bridge in the pair, these initial BPDUs are configured with a priority lower than that for the standard BPDUs sent by the opposite member of the pair (but still higher than any other bridge in the ring). Sending these in place of standard BPDUs while the system stabilizes ensures that traffic is not prematurely directed to a bridge, giving it time to recover.


Note There is no automatic detection of BDPU configuration errors. MSTAG does not provide any recovery mechanisms from BDPU configuration errors. Users must configure the BDPU data for each port correctly.


How to Implement Multiple Spanning Tree Protocol

This section contains the following procedures:

Configuring MSTP

Verifying the Multiple Spanning Tree Protocol

Configuring MSTAG

Configuration Examples for Implementing MSTP

Configuring MSTP

This section describes the procedure for configuring MSTP.

Enabling MSTP

By default, STP is disabled on all ports. MSTP should be explicitly configured on the physical port. When a port has STP configured on it, all EFPs configured on that port automatically become STP enabled.

Configuring MSTP Parameters

The MSTP specification defines a number of configurable parameters. The global parameters are:

Bringup delay

Bridge Priority

Bridge Forward Delay

Transmit Hold Count

Migrate Time

Bridge Max Age

Max Hops

The parameters that are configurable on a per-port basis are:

Port Hello Time

Admin Edge Port

Port Priority

External Port Path Cost

Internal Port Path Cost

Per-port configuration takes place in an interface submode within the MST configuration submode.

SUMMARY STEPS

1. configure

2. spanning-tree mst protocol instance identifier

3. bringup delay for interval {minutes | seconds}

4. flush containment disable

5. name name

6. revision revision-number

7. forward-delay seconds

8. maximum {age seconds | hops hops}

9. transmit hold-count count

10. provider-bridge

11. instance id

12. priority priority

13. vlan-id vlan-range [,vlan-range][,vlan-range][,vlan-range]

14. interface {Bundle-Ether | GigabitEthernet | TenGigE | FastEthernet} instance

15. instance id port-priority priority

16. instance id cost cost

17. external-cost cost

18. link-type {point-to-point | multipoint}

19. hello-time seconds

20. portfast [bpdu-guard]

21. guard root

22. guard topology-change

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

RP/0/RSP0/CPU0:router# config

Thu Jun 4 07:50:02.660 PST

RP/0/RSP0/CPU0:router(config)#

Enters global configuration mode.

Step 2 

spanning-tree mst protocol instance identifier

Example:

RP/0/RSP0/CPU0:router(config)# spanning-tree mst a

RP/0/RSP0/CPU0:router(config-mstp)#

Enters the MSTP configuration submode.

Step 3 

bringup delay for interval {minutes | seconds}

Example:

RP/0/RSP0/CPU0:router(config-mstp)#

bringup delay for 10 minutes

Configures the time interval to delay bringup for.

Step 4 

flush containment disable

Example:

RP/0/RSP0/CPU0:router(config-mstp)#

flush containment disable

Disable flush containment.

This command performs MAC flush on all instances regardless of the their state.

Step 5 

name name

Example:

RP/0/RSP0/CPU0:router(config-mstp)# name m1

Sets the name of the MSTP region.

The default value is the MAC address of the switch, formatted as a text string by means of the hexadecimal representation specified in IEEE Std 802.

Step 6 

revision revision-number

Example:

RP/0/RSP0/CPU0:router(config-mstp)# revision 10

Sets the revision level of the MSTP region.

Allowed values are from 0 through 65535.

Step 7 

forward-delay seconds

Example:

RP/0/RSP0/CPU0:router(config-mstp)# forward-delay 20

Sets the forward-delay parameter for the bridge.

Allowed values for bridge forward-delay time in seconds are from 4 through 30.

Step 8 

maximum {age seconds | hops hops}

Example:

RP/0/RSP0/CPU0:router(config-mstp)# max age 40

RP/0/RSP0/CPU0:router(config-mstp)# max hops 30

Sets the maximum age and maximum hops performance parameters for the bridge.

Allowed values for maximum age time for the bridge in seconds are from 6 through 40.

Allowed values for maximum number of hops for the bridge in seconds are from 6 through 40.

Step 9 

transmit hold-count count

Example:

RP/0/RSP0/CPU0:router(config-mstp)# transmit hold-count 8

Sets the transmit hold count performance parameter.

Allowed values are from 1 through 10.

Step 10 

provider-bridge
Example:

RP/0/RSP0/CPU0:router(config-mstp)# provider-bridge

Places the current instance of the protocol in 802.1ad mode.

Step 11 

instance id

Example:

RP/0/RSP0/CPU0:router(config-mstp)# instance 101

RP/0/RSP0/CPU0:router(config-mstp-inst)#

Enters the MSTI configuration submode.

Allowed values for the MSTI ID are from 0 through 4094.

Step 12 

priority priority

Example:

RP/0/RSP0/CPU0:router(config-mstp-inst)# priority 8192

Sets the bridge priority for the current MSTI.

Allowed values are from 0 through 61440 in multiples of 4096.

Step 13 

vlan-id vlan-range [,vlan-range][,vlan-range][,vlan-range]

Example:

RP/0/RSP0/CPU0:router(config-mstp-inst)# vlan-id 2-1005

Associates a set of VLAN IDs with the current MSTI.

List of VLAN ranges in the form a-b, c, d, e-f, g, and so on.

Step 14 

interface {Bundle-Ether | GigabitEthernet | TenGigE | FastEthernet} instance

Example:

RP/0/RSP0/CPU0:router(config-mstp)# interface FastEthernet 0/0/0/1

RP/0/RSP0/CPU0:router(config-mstp-if)#

Enters the MSTP interface configuration submode, and enables STP for the specified port.

Forward interface in Rack/Slot/Instance/Port format.

Step 15 

instance id port-priority priority

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# instance 101 port-priority 160

Sets the port priority performance parameter for the MSTI.

Allowed values for the MSTI ID are from 0 through 4094.

Allowed values for port priority are from 0 through 240 in multiples of 16.

Step 16 

instance id cost cost

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# instance 101 cost 10000

Sets the internal path cost for a given instance on the current port.

Allowed values for the MSTI ID are from 0 through 4094.

Allowed values for port cost are from 1 through 200000000.

Step 17 

external-cost cost

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# external-cost 10000

Sets the external path cost on the current port.

Allowed values for port cost are from 1 through 200000000.

Step 18 

link-type {point-to-point | multipoint}

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# link-type point-to-point

Sets the link type of the port to point-to-point or multipoint.

Step 19 

hello-time seconds

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# hello-time 1

Sets the port hello time in seconds.

Allowed values are 1 and 2.

Step 20 

portfast [bpdu-guard]

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# portfast

RP/0/RSP0/CPU0:router(config-mstp-if)# portfast bpduguard

Enables PortFast on the port, and optionally enables BPDU guard.

Step 21 

guard root

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# guard root

Enables RootGuard on the port.

Step 22 

guard topology-change

Example:

RP/0/RSP0/CPU0:router(config-mstp-if)# guard topology-change

Enables TopologyChangeGuard on the port.

Verifying the Multiple Spanning Tree Protocol

The following show commands allow you to verify the Multiple Spanning Tree Protocol (MSTP):

show spanning-tree mst mst-name

show spanning-tree mst mst-name blocked-ports

show spanning-tree mst mst-name brief

show spanning-tree mst mst-name configuration

show spanning-tree mst mst-name errors

show spanning-tree mst mst-name instance instance-number

show spanning-tree mst mst-name interface type interface-path-id

show spanning-tree mst mst-name internal

show spanning-tree mst mst-name topology-change flushes latest instance instance-number

sh spanning-tree mst mst-name topology-change flushes interface type interface-path-id instance instance-number

Configuring Multiple VLAN Registration Protocol Lite

Perform this task to configure multiple VLAN registration protocol (MVRP).

SUMMARY STEPS

1. configure

2. spanning-tree mst protocol instance identifier

3. mvrp static

4. periodic transmit interval interval

5. join-time interval

6. leaveall-time interval

7. leave-time interval

8. end
or
commit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

RP/0/RSP0/CPU0:router# config

Enters global configuration mode.

Step 2 

spanning-tree mst protocol instance identifier

Example:

RP/0/RSP0/CPU0:router(config)# spanning-tree mst a

Enters the MSTP configuration submode.

Step 3 

mvrp static

Example:

RP/0/RSP0/CPU0:router(config-mvrp)# mvrp static

Enables MVRP in static mode and enters MVRP configuration submode.

Step 4 

periodic transmit interval interval

Example:

RP/0/RSP0/CPU0:router(config-mvrp)# periodic transmit interval 5

Enables periodic multiple VLAN registration protocol data units (MVRPDUs). The range is from 2 to 10 seconds. The default value is 3 seconds.

Step 5 

join-time interval

Example:

RP/0/RSP0/CPU0:router(config-mvrp)# join-time 100

Sets the join time for all active ports. The range is from 100 to 1000 milliseconds. The default value is 200 milliseconds.

Step 6 

leaveall-time interval

Example:

RP/0/RSP0/CPU0:router(config)# leaveall-time 10

Sets the LeaveAllTime for all active ports. The range is from 5 to 30 seconds. The default value is 10 seconds.

Step 7 

leave-time interval

Example:

RP/0/RSP0/CPU0:router(config)# leave-time 30

Sets the LeaveTime for all active ports. The range is from 1 to 90 seconds. The default value is 30 seconds.

Step 8 

end

or

commit

Example:

RP/0/RSP0/CPU0:router(config-es-acl)# end

or

RP/0/RSP0/CPU0:router(config-es-acl)# commit

Saves configuration changes.

When you issue the end command, the system prompts you to commit changes:

Uncommitted changes found, commit them before 
exiting(yes/no/cancel)? 
[cancel]:
 
        

Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.

Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.

Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.

Configuring MSTAG

Two aspects of the configuration required for MSTP on nPE. First, the standard L2VPN configuration required to forward the appropriate BPDUs to all appropriate egress ports. Second, the configuration required in order to enable MSTAG on the appropriate ports.

The following items are configurable on per-port basis:

Hello time

Name

Revision

Provider bridge mode

MSTI information (VLAN mapping, bridge priority, port priority, and cost)

Priority vector information (bridge ID, port ID, root bridge ID, and so on), including startup values for topology control. The full list is in the CLI section below.

SUMMARY STEPS

1. configure

2. spanning-tree mstag protocol instance identifier

3. preempt delay for interval {seconds | minutes | hours}

4. interface {Bundle-Ether | GigabitEthernet | TenGigE | FastEthernet} instance.subinterface

5. name name

6. revision revision-number

7. max age seconds

8. provider-bridge

9. bridge-id id

10. port-id id

11. external-cost cost

12. hello-time seconds

13. instance id

14. vlan-id vlan-range [,vlan-range][,vlan-range][,vlan-range]

15. priority priority

16. port-priority priority

17. cost cost

18. root-bridge id

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

RP/0/RSP0/CPU0:router# config

Thu Jun 4 07:50:02.660 PST

RP/0/RSP0/CPU0:router(config)#

Enters global configuration mode.

Step 2 

spanning-tree mstag protocol instance identifier

Example:

RP/0/RSP0/CPU0:router(config)# spanning-tree mstag a

RP/0/RSP0/CPU0:router(config-mstag)#

Enters the MSTAG configuration submode.

Step 3 

preempt delay for interval {seconds | minutes | hours}

Example:

RP/0/RSP0/CPU0:router(config-mstag)#
preempt delay for 10 seconds

Specifies the delay period during which startup BPDUs should be sent, before preempting.

Step 4 

interface {Bundle-Ether | GigabitEthernet | TenGigE | FastEthernet} instance.subinterface

Example:

RP/0/RSP0/CPU0:router(config-mstag)# interface GigabitEthernet0/2/0/30.1

RP/0/RSP0/CPU0:router(config-mstag-if)#

Enters the MSTAG interface configuration submode, and enables MSTAG for the specified port.

Step 5 

name name

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# name leo

Sets the name of the MSTP region.

The default value is the MAC address of the switch, formatted as a text string using the hexadecimal representation specified in IEEE Standard 802.

Step 6 

revision revision-number

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# revision 1

Sets the revision level of the MSTP region.

Allowed values are from 0 through 65535.

Step 7 

max age seconds

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# max age 20

Sets the maximum age performance parameters for the bridge.

Allowed values for the maximum age time for the bridge in seconds are from 6 through 40.

Step 8 

provider-bridge
Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# provider-bridge

Places the current instance of the protocol in 802.1ad mode.

Step 9 

bridge-id id

Example:
RP/0/RSP0/CPU0:router(config-mstag-if)# 
bridge-id 001c.0000.0011

Sets the bridge ID for the current switch.

Step 10 

port-id id

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# port-id 111

Sets the port ID for the current switch.

Step 11 

external-cost cost

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# external-cost 10000

Sets the external path cost on the current port.

Allowed values for port cost are from 1 through 200000000.

Step 12 

hello-time seconds

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# hello-time 1

Sets the port hello time in seconds.

Allowed values are from 1 through 2.

Step 13 

instance id

Example:

RP/0/RSP0/CPU0:router(config-mstag-if)# instance 1

Enters the MSTI configuration submode.

Allowed values for the MSTI ID are from 0 through 4094.

Step 14 

vlan-id vlan-range [,vlan-range][,vlan-range][,vlan-range]

Example:

RP/0/RSP0/CPU0:router(config-mstag-if-ins t)# vlan-id 2-1005

Associates a set of VLAN IDs with the current MSTI.

List of VLAN ranges in the form a-b, c, d, e-f, g, and so on.

Step 15 

priority priority

Example:

RP/0/RSP0/CPU0:router(config-mstag-if-ins t)# priority 4096

Sets the bridge priority for the current MSTI.

Allowed values are from 0 through 61440 in multiples of 4096.

Step 16 

port-priority priority

Example:

RP/0/RSP0/CPU0:router(config-mstag-if-ins t)# port-priority 160

Sets the port priority performance parameter for the MSTI.

Allowed values for port priority are from 0 through 240 in multiples of 16.

Step 17 

cost cost

Example:

RP/0/RSP0/CPU0:router(config-mstag-if-ins t)# cost 10000

Sets the internal path cost for a given instance on the current port.

Allowed values for port cost are from 1 through 200000000.

Step 18 

root-bridge id

Example:

RP/0/RSP0/CPU0:router(config-mstag-if-ins t)# root-id 001c.0000.0011

Sets the root bridge ID for the BPDUs sent from the current port.

Configuration Examples for Implementing MSTP

This section provides the following configuration examples:

Configuring MSTP: Example

Configuring MVRP Lite: Example

Configuring MSTAG: Example

Configuring MSTP: Example

The following example shows how to configure MSTP:

config
 spanning-tree mst a
  name m1
   revision 10
   forward-delay 20
   max age 40
  transmit hold-count 8
   provider-bridge
   instance 101
   priority 8192
  vlan-id 2-1005
  interface FastEthernet 0/0/0/1
   instance 101 port-priority 160
   instance 101 cost 10000
   external-cost 10000
   link-type point-to-point
   hello-time 1
   portfast
   guard root
   guard topology-change
  !
 !

The following example shows the output of the show spanning-tree command:

#sh spanning-tree mst M interface Te0/0/0/1 instance 1
TenGigE0/0/0/1
Configured External Cost: 2000
link-type: point-to-point
Configured hello-time: 2
Designated hello-time: 2
Portfast: yes
BPDU Guard: yes
Guard root: no
Guard topology change: no
BPDUs sent 471520, received 402
 
   
MST 1:
Edge port: yes
Boundary: internal
designated, forwarding
Vlans mapped to MST 1: 10-11
Port info port id 128.1 cost 2000
Designated root address 0026.9801.769e priority 16384 cost 0
Designated bridge address 0026.9801.769e priority 16384 port id 128.1
Timers: message expires in 0 sec, forward delay 0
Transitions to reach this state: 8
Topology Changes: 10 total, last at 04:16:05 Mar 16 2010  

The following examples shows the output of the show spanning-tree command when flush containment is active:

Example 1:

#sh spanning-tree mst M topology-change flushes interface gi 0/0/0/8 instace 1
 
   
 
   
MSTI 1:
 
Interface     Last TC               Reason                           Count
------------  --------------------  -------------------------------- -----
Gi0/0/0/8   ------------------  Flush Containment active    ----- 

Example 2:

#sh spanning-tree mst M interface gi0/0/0/8
GigabitEthernet0/0/0/8
Configured External Cost: 20000
link-type: point-to-point
Configured hello-time: 2
Designated hello-time: 2
Portfast: no
BPDU Guard: no
Guard root: no
Guard topology change: no
BPDUs sent 31826, received 31824
 
   
MST 0 (CIST):
  Edge port: no
  Boundary: internal
  designated, forwarding
  Vlans mapped to MST 0: 1-9,12-4094
  Port info port id 128.4 cost 20000
  Designated root address 0024.f71d.faa6 priority 32768 cost 0
  Designated bridge address 0024.f71d.faa6 priority 32768 port id 128.4
  Timers: message expires in 0 sec, forward delay 0
  Transitions to reach this state: 2
  Topology Changes: 0 total
 
   
MST 1:
  Edge port: no
  Boundary: internal
  alternate, blocking
  Vlans mapped to MST 1: 10
  Port info port id 128.4 cost 20000
  Designated root address 0024.f71e.22e6 priority 8192 cost 10000
  Designated bridge address 0024.f71e.22e6 priority 8192 port id 128.3
  Timers: message expires in 5 sec, forward delay 0
  Transitions to reach this state: 3
  Topology Changes: 0 total
  Flush Containment is active   <<<<
 
   
 
   

The following example shows the output of the show spanning-tree command when flush containment is inactive:

#sh spanning-tree mst M topology-change flushes interface gi 0/0/0/8 instace 1 
 
   
MSTI 2:
 
Interface     Last TC               Reason                           Count
------------  --------------------  -------------------------------- -----
Gi0/0/0/8     --------------------  No flushes                           0

Configuring MVRP Lite: Example

The following example shows how to configure MVRP Lite:
config
  spanning-tree mst <instance>
    mvrp static
        periodic transmit [interval <2-10>]
        join-time <100-1000>
        leaveall-time <5-30>
        leave-time <1-90>
    !
!
 
   
 
   
 
   

Configuring MSTAG: Example

The following example shows how to configure MSTAG:
config
 spanning-tree mstag a
  interface GigabitEthernet0/2/0/30.1
   name leo
   revision 1
   max age 20
  provider-bridge
   bridge-id 001c.0000.0011
   port-id 111
   external-cost 10000
   hello-time 1
  instance 1
   vlan-id 2-1005
   priority 4096
   port-priority 160
   cost 10000
   root-id 001c.0000.0011
  !
 !

Additional References

The following sections provide references related to implementing Multiple Spanning Tree Protocol (MSTP) on Cisco ASR 9000 Series Routers.

Related Documents

Related Topic
Document Title

Multiple Spanning Tree Protocol Commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

Multiple Spanning Tree Protocol Commands module in Cisco ASR 9000 Series Aggregation Services Router L2VPN and Ethernet Services Command Reference


Standards

Standards
Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.


MIBs

MIBs
MIBs Link

To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml


RFCs

RFCs
Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.


Technical Assistance

Description
Link

The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/techsupport