4.1.2 Lab – Implement MST (Answers)
Topology
Objectives
- Part 1: Build the Network and Configure Basic Device Settings and Interface Addressing
- Part 2: Implement and Observe MST
- Part 3: Configure, Tune and Verify Basic MST Operation
Background / Scenario
Cisco’s Per VLAN Spanning Tree (PVST+) provides a significant step up from standard spanning tree in terms of flexibility. PVST+ allows each VLAN to have its own independent spanning tree, thereby making better use of available links in the network. A drawback to PVST+ is that there is an instance of PVST+ running for each VLAN in the network, regardless of whether there are different spanning-tree topologies required. This presents the potential for overwhelming the switch CPU and memory. Additionally, Cisco switches support a finite number of PVST instances. If more VLANs are created than there are PVST+ instances supported on a particular switch, some of the VLANs will not have any STP running, and therefore not have any switching loop protection. PVST+ and Rapid PVST+ are simply unusable in that kind of environment. Lastly, PVST+ and Rapid PVST+ are Cisco-proprietary protocols and generally unusable in mixed vendor environments.
Cisco was involved in the early development of Multiple Spanning Tree. MST was standardized as IEEE 802.1s in 2002 and merged into 802.1Q in 2005. MST is an open protocol derived from RSTP, sharing all its rapid convergence properties, and in fact, the only standardized spanning-tree protocol for VLAN-based networks supported by multiple vendors. MST is a compromise between common spanning-tree and per-VLAN spanning tree. An MST instance represents a unique spanning-tree topology. Multiple MST instances can be created to account for each of the required spanning-tree topologies in a network, and an arbitrary number of VLANs can be mapped to a single MST instance.
In this lab, you will set up two instances of MST, one for VLANs 2 and 3 and the other for VLANs 4 and 5. All other VLANs will be mapped to the default MST instance (also referred to as IST or Internal Spanning Tree).
Note: This lab is an exercise in deploying and verifying MST and does not reflect networking best practices.
Note: The switches used with CCNP hands-on labs are Cisco 3650 with Cisco IOS XE release 16.9.4 (universalk9 image) and Cisco 2960+ with IOS release 15.2 (lanbase image). Other routers and Cisco IOS versions can be used. Depending on the model and Cisco IOS version, the commands available and the output produced might vary from what is shown in the labs.
Note: Ensure that the switches have been erased and have no startup configurations. If you are unsure contact your instructor.
Instructor Note: Refer to the Instructor Lab Manual for the procedures to initialize and reload devices.
Required Resources
- 2 Switches (Cisco 3650 with Cisco IOS XE release 16.9.4 universal image or comparable)
- 1 Switch (Cisco 2960+ with Cisco IOS release 15.2 lanbase image or comparable)
- 1 PC (Windows with a terminal emulation program, such as Tera Term)
- Console cables to configure the Cisco IOS devices via the console ports
- Ethernet cables as shown in the topology
Instructions
Part 1: Build the Network and Configure Basic Device Settings and Interface Addressing
In Part 1, you will set up the network topology and configure basic settings.
Step 1: Cable the network as shown in the topology.
Attach the devices as shown in the topology diagram, and cable as necessary.
Step 2: Configure basic settings for each switch.
a. Console into each switch, enter global configuration mode, and apply the basic settings. The startup configurations for each device are provided below.
Switch D1
hostname D1 banner motd # D1, Multiple Spanning Tree # spanning-tree mode rapid-pvst line con 0 exec-timeout 0 0 logging synchronous exit interface range g1/0/1-24, g1/1/1-4, g0/0 shutdown exit interface range g1/0/1, g1/0/5-6 switchport mode trunk no shutdown exit vlan 2 name SecondVLAN exit vlan 3 name ThirdVLAN exit vlan 4 name FourthVLAN exit vlan 5 name FifthVLAN exit
Switch D2
hostname D2 banner motd # D2, Multiple Spanning Tree # spanning-tree mode rapid-pvst line con 0 exec-timeout 0 0 logging synchronous exit interface range g1/0/1-24, g1/1/1-4, g0/0 shutdown exit interface range g1/0/1, g1/0/5-6 switchport mode trunk no shutdown exit vlan 2 name SecondVLAN exit vlan 3 name ThirdVLAN exit vlan 4 name FourthVLAN exit vlan 5 name FifthVLAN exit
Switch A1
hostname A1 banner motd # A1, Multiple Spanning Tree # spanning-tree mode rapid-pvst line con 0 exec-timeout 0 0 logging synchronous exit interface range f0/1-24, g0/1-2 shutdown exit interface range f0/1-4 switchport mode trunk no shutdown interface f0/23 no shutdown exit vlan 2 name SecondVLAN exit vlan 3 name ThirdVLAN exit vlan 4 name FourthVLAN exit vlan 5 name FifthVLAN exit
b. Set the clock on each switch to UTC time.
c. Save the running configuration to startup-config.
Note: Outputs and Spanning Tree topologies highlighted in this lab may be different than what you observe using your own equipment. It is critically important for you to understand how Spanning Tree makes its decisions, and how those decisions impact the operational topology of the network.
Part 2: Implement and Observe MST
Step 1: Configure MST on D1 and D2.
In this step we will configure MST on D1 and D2 only. We will do this so we can observe their interaction with each other as well as their interaction with A1.
a. On D1 and D2, issue the command spanning-tree mode mst
.
D1(config)# spanning-tree mode mst
b. At this point, with no MST-specific configuration, MST Instance 0 is operational for all VLANs. Issue the command show spanning-tree
and you will see in the output that the spanning tree information is about MST 0. Issue the command show spanning-tree mst
and you will see the MST-specific STP information that is specific to MST 0 only. Take note of the information displayed for interfaces g1/0/5 and g1/0/6 because they are connected to a switch that is not running MST. Their type is listed as P2p Bound (PVST).
D1# show spanning-tree MST0 Spanning tree enabled protocol mstp Root ID Priority 32768 Address d8b1.9028.af80 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32768 (priority 32768 sys-id-ext 0) Address d8b1.9028.af80 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/5 Desg FWD 200000 128.5 P2p Bound(PVST) Gi1/0/6 Desg FWD 200000 128.6 P2p Bound(PVST) D1# show spanning-tree mst ##### MST0 vlans mapped: 1-4094 Bridge address d8b1.9028.af80 priority 32768 (32768 sysid 0) Root this switch for the CIST Operational hello time 2 , forward delay 15, max age 20, txholdcount 6 Configured hello time 2 , forward delay 15, max age 20, max hops 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ---------------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/5 Desg FWD 200000 128.5 P2p Bound(PVST) Gi1/0/6 Desg FWD 200000 128.6 P2p Bound(PVST)
c. The basic behavior of MST is the same as spanning tree, where a root bridge must be selected, then root ports, and finally best paths to the root bridge from all non-root bridges. In the current network, we can see that D1 has been elected the root bridge. The bridge priority defaults to 32768, so the election is based on D1 having a lower base MAC address. The switch elected as root may be different in your lab topology, but the rules for election remain the same. Issue the command show spanning-tree root
on switch A1. Switch A1 is running five instances of spanning tree.
A1# show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly Root Port ---------------- -------------------- --------- ----- --- --- ----------- VLAN0001 32768 d8b1.9028.af80 19 2 20 15 Fa0/1 VLAN0002 32768 d8b1.9028.af80 19 2 20 15 Fa0/1 VLAN0003 32768 d8b1.9028.af80 19 2 20 15 Fa0/1 VLAN0004 32768 d8b1.9028.af80 19 2 20 15 Fa0/1 VLAN0005 32768 d8b1.9028.af80 19 2 20 15 Fa0/1
d. Issue the show spanning-tree root
command on D2 and the output will be different. This is because with MST, only one instance of the spanning-tree algorithm runs, regardless of the number of VLANs mapped to it.
D2# show spanning-tree root Root Hello Max Fwd MST Instance Root ID Cost Time Age Dly Root Port ---------------- -------------------- --------- ----- --- --- ----------- MST0 32768 d8b1.9028.af80 0 2 20 15 Gi1/0/1
e. Configure A1 to use MST.
A1(config)# spanning-tree mode mst
Part 3: Configure, Tune and Verify Basic MST Operation
In the last part, you configured all three switches to run MST. In this part, you will further configure, tune, and verify MST to support the unique topological requirements.
Step 1: Create and verify an MST configuration.
MST allows network engineers to reduce the load of the spanning-tree protocol while still providing unique spanning-tree topologies for groups of VLANs. MST configuration must be completed by hand on each switch individually.
Complete the following tasks on switch D1:
a. Enter MST configuration mode using the command spanning-tree mst configuration
.
D1(config)# spanning-tree mst configuration
b. Configure an MST region name. Our example will be CCNPv8.
D1(config-mst)# name CCNPv8
c. Configure an MST configuration revision number. Our example will be 1.
D1(config-mst)# revision 1
d. Configure instance 1 to include VLAN 2.
D1(config-mst)# instance 1 vlan 2
e. Configure instance 2 to include VLAN 4.
D1(config-mst)# instance 2 vlan 4
f. Commit the configuration by typing exit and returning to global configuration mode.
D1(config-mst)# exit D1(config)# end
g. Issue the command show spanning-tree mst to verify the configuration is in place.
Note: While in spanning-tree mst configuration mode, you can use the show current and show pending commands to view current and pending configuration settings.
D1# show spanning-tree mst ##### MST0 vlans mapped: 1,3,5-4094 Bridge address d8b1.9028.af80 priority 32768 (32768 sysid 0) Root this switch for the CIST Operational hello time 2 , forward delay 15, max age 20, txholdcount 6 Configured hello time 2 , forward delay 15, max age 20, max hops 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/5 Desg FWD 200000 128.5 P2p Gi1/0/6 Desg FWD 200000 128.6 P2p ##### MST1 vlans mapped: 2 Bridge address d8b1.9028.af80 priority 32769 (32768 sysid 1) Root this switch for MST1 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/5 Desg FWD 200000 128.5 P2p Gi1/0/6 Desg FWD 200000 128.6 P2p ##### MST2 vlans mapped: 4 Bridge address d8b1.9028.af80 priority 32770 (32768 sysid 2) Root this switch for MST2 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ------------- Gi1/0/1 Desg FWD 20000 128.1 P2p Gi1/0/5 Desg FWD 200000 128.5 P2p Gi1/0/6 Desg FWD 200000 128.6 P2p
h. This configuration does not propagate to other switches. Each switch exchanges digest information summarizing the VLAN-to-Instance mappings it has configured. If a switch receives a BPDU with a different digest, it assumes that the sender is in a different MST region. The output below is what A1 shows in the topology used to create this lab. Notice that the ports connected to D1 are classified as P2p Bound (RSTP).
A1# show spanning-tree mst ##### MST0 vlans mapped: 1-4094 Bridge address f078.1647.4580 priority 32768 (32768 sysid 0) Root address d8b1.9028.af80 priority 32768 (32768 sysid 0) port Fa0/3 path cost 20000 Regional Root address d8b1.905d.c300 priority 32768 (32768 sysid 0) internal cost 200000 rem hops 19 Operational hello time 2 , forward delay 15, max age 20, txholdcount 6 Configured hello time 2 , forward delay 15, max age 20, max hops 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ----------------------------- Fa0/1 Altn BLK 200000 128.1 P2p Bound(RSTP) Fa0/2 Altn BLK 200000 128.2 P2p Bound(RSTP) Fa0/3 Root FWD 200000 128.3 P2p Fa0/4 Altn BLK 200000 128.4 P2p Fa0/23 Desg FWD 2000000 128.23 P2p A1# show spanning-tree mst configuration digest Name [] Revision 0 Instances configured 1 Digest 0xAC36177F50283CD4B83821D8AB26DE62 Pre-std Digest 0xBB3B6C15EF8D089BB55ED10D24DF44DE
And here is the digest from D1:
D1# show spanning-tree mst configuration digest Name [CCNPv8] Revision 1 Instances configured 3 Digest 0xB41829F9030A054FB74EF7A8587FF58D Pre-std Digest 0x6C5B0D56DA63408ED96AA5F1C5356F98
As you can see here, the digest values are different.
i. Configure MST on D1, change the revision number to 2 and add VLAN 3 to instance 1 and VLAN 5 to instance 2.
D1(config)# spanning-tree mst configuration D1(config-mst)# show current Current MST configuration Name [CCNPv8] Revision 1 Instances configured 3 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1,3,5-4094 1 2 2 4 ------------------------------------------------------------------------------- D1(config-mst)# revision 2 D1(config-mst)# instance 1 vlan 3 D1(config-mst)# instance 2 vlan 5 D1(config-mst)# show pending Pending MST configuration Name [CCNPv8] Revision 2 Instances configured 3 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 1,6-4094 1 2-3 2 4-5 ------------------------------------------------------------------------------- D1(config-mst)# exit D1(config)# end
j. Now configure D2 and A1 with the same configuration settings (name CCNPv8, revision2, instance 1 vlans 2-3, instance 2 vlans 4-5). After completing the configuration on D2 and A1, the output of show spanning-tree mst
on A1 should be similar to the following output. D1 in this case is the root for all 3 instances.
A1# show spanning-tree mst ##### MST0 vlans mapped: 1,6-4094 Bridge address f078.1647.4580 priority 32768 (32768 sysid 0) Root address d8b1.9028.af80 priority 32768 (32768 sysid 0) port Fa0/1 path cost 0 Regional Root address d8b1.9028.af80 priority 32768 (32768 sysid 0) internal cost 200000 rem hops 19 Operational hello time 2 , forward delay 15, max age 20, txholdcount 6 Configured hello time 2 , forward delay 15, max age 20, max hops 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ----------------------------- Fa0/1 Root FWD 200000 128.1 P2p Fa0/2 Altn BLK 200000 128.2 P2p Fa0/3 Altn BLK 200000 128.3 P2p Fa0/4 Altn BLK 200000 128.4 P2p Fa0/23 Desg FWD 2000000 128.23 P2p ##### MST1 vlans mapped: 2-3 Bridge address f078.1647.4580 priority 32769 (32768 sysid 1) Root address d8b1.9028.af80 priority 32769 (32768 sysid 1) port Fa0/1 cost 200000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ----------------------------- Fa0/1 Root FWD 200000 128.1 P2p Fa0/2 Altn BLK 200000 128.2 P2p Fa0/3 Altn BLK 200000 128.3 P2p Fa0/4 Altn BLK 200000 128.4 P2p Fa0/23 Desg FWD 2000000 128.23 P2p ##### MST2 vlans mapped: 4-5 Bridge address f078.1647.4580 priority 32770 (32768 sysid 2) Root address d8b1.9028.af80 priority 32770 (32768 sysid 2) port Fa0/1 cost 200000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ----------------------------- Fa0/1 Root FWD 200000 128.1 P2p Fa0/2 Altn BLK 200000 128.2 P2p Fa0/3 Altn BLK 200000 128.3 P2p Fa0/4 Altn BLK 200000 128.4 P2p Fa0/23 Desg FWD 2000000 128.23 P2p
Step 2: Controlling the Root Bridge.
Just like with PVST+ and Rapid PVST+, the current root bridge was elected based on the lowest Bridge ID (consisting of the Priority, extended system ID equal to the VLAN ID, and base MAC address values).
With the priority and extended system IDs being identical, the root bridge’s MAC is numerically smaller than the local bridge’s MAC. The result is that in a completely un-configured network, one single switch will be elected as the root bridge. The resulting choice of switch may or may not be desirable.
With PVST+ or Rapid PVST+, root bridge selection is done for each VLAN. With MST, the root bridge is based on instances.
There are two basic ways to manipulate the configuration to control the location of the root bridge:
- The
spanning-tree mst instance-id priority value
command can be used to manually set a priority value - The
spanning-tree mst instance-id root { primary | secondary }
command can be used to automatically set a priority value.
The difference between the two is the priority
command will set a specific number (multiple of 4096) as the priority, while the root primary
command will set the local bridge’s priority to 24,576 (if the local bridge MAC is lower than the current root bridge’s MAC) or 4096 lower than the current root’s priority (if the local bridge MAC is higher than the current root bridge’s MAC).
The logic behind this operation is straight-forward. The root primary
command tries to lower the priority only as much as is needed to win the root election, while leaving priorities between 24576 and the default 32768 for use by secondary bridges. The command always takes the entire Bridge ID into account when computing the resulting priority value.
The spanning-tree mst instance-id secondary
command will statically set the local bridge’s priority to 28,672. In an otherwise unconfigured network where all switch priorities default to 32,768, the root primary
command will set the priority on the switch to 24,576 (two increments lower than the default priority) while the root secondary
command will set the priority on the secondary root to the 28,672 (one increment lower than the default priority).
a. Modify D1 and D2 so that D1 is elected the primary root bridge for MST Instance 1 and D2 is elected the primary root bridge for MST Instance 2. D1 should be elected as the secondary root bridge for MST Instance 2, and D2 should be elected as the secondary root bridge for MST Instance 1. You will need to make configuration changes on both D1 and D2. The commands used at D1:
D1(config)# spanning-tree mst 1 root primary D1(config)# spanning-tree mst 2 root secondary
b. After you have configured both D1 and D2, go to A1 and issue the command show spanning-tree root
. In this output, you will see the root bridges differentiated.
A1# show spanning-tree root
Root Hello Max Fwd
MST Instance Root ID Cost Time Age Dly Root Port
---------------- -------------------- --------- ----- --- --- ------------
MST0 24576 d8b1.9028.af80 0 2 20 15 Fa0/1
MST1 24577 d8b1.9028.af80 200000 2 20 15 Fa0/1
MST2 24578 d8b1.905d.c300 200000 2 20 15 Fa0/3
From the above output, you can see that the root port for VLAN 1 is F0/1 and the root port for VLAN 2 is F0/3. A1 is the root bridge for MST Instance 0 in this example.
Step 3: Adjust port cost values to impact root and designated port selection.
As the network is implemented right now, there are two direct paths between switch A1 and the root bridge for each MST. Path and port costs are evaluated to determine the shortest path to the root bridge. In the case where there are multiple equal cost paths to the root bridge, additional attributes must be evaluated. In our case, the lower interface number (for example, F0/1) is chosen as the Root Port, and the higher interface number (for example, F0/2) is put into a spanning tree Blocking state.
You can see which ports are blocked with the show spanning-tree vlan-id
command or the show spanning-tree blockedports
command. For now, examine VLAN 1 on D1.
a. On A1, issue the commands show spanning-tree vlan 1
and show spanning-tree blockedports
.
A1# show spanning-tree mst 1 ##### MST1 vlans mapped: 2-3 Bridge address f078.1647.4580 priority 32769 (32768 sysid 1) Root address d8b1.9028.af80 priority 24577 (24576 sysid 1) port Fa0/1 cost 200000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/1 Root FWD 200000 128.1 P2p Fa0/2 Altn BLK 200000 128.2 P2p Fa0/3 Altn BLK 200000 128.3 P2p Fa0/4 Altn BLK 200000 128.4 P2p Fa0/23 Desg FWD 2000000 128.23 P2p A1# show spanning-tree blockedports Name Blocked Interfaces List -------------------- ------------------------------------ MST0 Fa0/2, Fa0/3, Fa0/4 MST1 Fa0/2, Fa0/3, Fa0/4 MST2 Fa0/1, Fa0/2, Fa0/4 Number of blocked ports (segments) in the system : 9
As you can see, MST 1 has its Root Port on F0/1 and F0/2, F0/3, and F0/4 are Alternate Blocking Ports.
To manipulate which port becomes the Root Port on non-root bridges, change the port cost (a value between 1 and 200,000,000) or port priority value (a value between 0 and 240 in increments of 16). Remember that this change could have an impact on downstream switches as well.
Note: The changes you are about to implement are considered topology changes and could have a significant impact on the overall structure of the spanning tree in your switch network. Do not make these changes in a production network without careful planning and prior coordination.
b. On A1, shutdown interfaces F0/1 and F0/2, assign a new port cost of 1000 to F0/2 using the spanning-tree mst 1 cost value
command, and then issue the no shutdown
command on the ports.
A1# conf t Enter configuration commands, one per line. End with CNTL/Z. A1(config)# interface range f0/1-2 A1(config-if-range)# shutdown A1(config-if-range)# exit A1(config)# interface f0/2 A1(config-if)# spanning-tree mst 1 cost 1000 A1(config-if)# exit A1(config)# interface range f0/1-2 A1(config-if-range)# no shutdown A1(config-if-range)# exit
c. Now verify that this impacts root port selection on A1 using the show spanning-tree vlan 1
and show spanning-tree blockedports
commands.
A1# show spanning-tree mst 1 ##### MST1 vlans mapped: 2-3 Bridge address f078.1647.4580 priority 32769 (32768 sysid 1) Root address d8b1.9028.af80 priority 24577 (24576 sysid 1) port Fa0/2 cost 1000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/1 Altn BLK 200000 128.1 P2p Fa0/2 Root FWD 1000 128.2 P2p Fa0/3 Desg FWD 200000 128.3 P2p Fa0/4 Desg FWD 200000 128.4 P2p Fa0/23 Desg FWD 2000000 128.23 P2p A1# show spanning-tree blockedports Name Blocked Interfaces List -------------------- ------------------------------------ MST0 Fa0/2, Fa0/3, Fa0/4 MST1 Fa0/1 MST2 Fa0/1, Fa0/2, Fa0/4 Number of blocked ports (segments) in the system : 7
From the output, you can see that the root port selected by A1 for VLAN 1 is now interface F0/2, and the port (and root) cost is now 1000.
Step 4: Adjust port priority values to impact root port selection.
The next method to impact root port selection is configured on the root bridge itself. In our current network topology, A1 has two connections to the root bridge for MST Instance 2, switch D2. The root port has been selected, in this case based on the lowest port ID. Port ID is made up of two values, labeled as Prio (Priority) and Nbr (Number).
Note: The port number is not necessarily equal to the interface ID. A switch may use any port number for STP purposes as long as they are unique for each port on the switch.
The port priority can be any value between 0 and 240, in increments of 16 (older switches may allow setting the priority in different increments).
a. On A1, issue the command show spanning-tree mst 2
and take note of the port ID values listed.
A1# show spanning-tree mst 2
##### MST2 vlans mapped: 4-5
Bridge address f078.1647.4580 priority 32770 (32768 sysid 2)
Root address d8b1.905d.c300 priority 24578 (24576 sysid 2)
port Fa0/3 cost 200000 rem hops 19
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Altn BLK 200000 128.1 P2p
Fa0/2 Altn BLK 200000 128.2 P2p
Fa0/3 Root FWD 200000 128.3 P2p
Fa0/4 Altn BLK 200000 128.4 P2p
Fa0/23 Desg FWD 2000000 128.23 P2
As expected with two equal-cost paths to the root bridge, the lower port ID was selected as the root port.
b. Modify the port priority of D2 interface G1/0/6 so that it becomes the preferred port by issuing the spanning-tree mst 2 port-priority value
interface configuration command. Use a value of 64.
D2# config t Enter configuration commands, one per line. End with CNTL/Z. D2(config)# interface range g1/0/5-6 D2(config-if-range)# shutdown D2(config-if-range)# exit D2(config)# interface g1/0/6 D2(config-if)# spanning-tree mst 2 port-priority 64 D2(config-if)# exit D2(config)# interface range g1/0/5-6 D2(config-if-range)# no shutdown D2(config-if-range)# exit
c. On A1, issue the show spanning-tree mst 2
command and you will see that Fa0/4 is now the selected root port. This selection is based on the lower priority value of D2 interface G1/0/6. Notice that the lower priority value does not appear in any A1 output.
A1# show spanning-tree mst 2
##### MST2 vlans mapped: 4-5
Bridge address f078.1647.4580 priority 32770 (32768 sysid 2)
Root address d8b1.905d.c300 priority 24578 (24576 sysid 2)
port Fa0/4 cost 200000 rem hops 19
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Altn BLK 200000 128.1 P2p
Fa0/2 Altn BLK 200000 128.2 P2p
Fa0/3 Altn BLK 200000 128.3 P2p
Fa0/4 Root FWD 200000 128.4 P2p
Fa0/23 Desg FWD 2000000 128.23 P2p
Device Configs – Final
Switch D1
D1# show run Building configuration... Current configuration : 9023 bytes ! version 16.9 no service pad service timestamps debug datetime msec service timestamps log datetime msec ! Call-home is enabled by Smart-Licensing. service call-home no platform punt-keepalive disable-kernel-core ! hostname D1 ! ! vrf definition Mgmt-vrf ! address-family ipv4 exit-address-family ! address-family ipv6 exit-address-family ! no aaa new-model switch 1 provision ws-c3650-24ts ! login on-success log ! crypto pki trustpoint SLA-TrustPoint enrollment pkcs12 revocation-check crl ! license boot level ipservicesk9 ! ! diagnostic bootup level minimal ! spanning-tree mode mst spanning-tree extend system-id ! spanning-tree mst configuration name CCNPv8 revision 2 instance 1 vlan 2-3 instance 2 vlan 4-5 ! spanning-tree mst 0-1 priority 24576 spanning-tree mst 2 priority 28672 ! ! redundancy mode sso ! transceiver type all monitoring ! class-map match-any system-cpp-police-topology-control description Topology control class-map match-any system-cpp-police-sw-forward description Sw forwarding, L2 LVX data, LOGGING class-map match-any system-cpp-default description Inter FED, EWLC control, EWLC data class-map match-any system-cpp-police-sys-data description Learning cache ovfl, High Rate App, Exception, EGR Exception, NFL SAMPLED DATA, RPF Failed class-map match-any system-cpp-police-punt-webauth description Punt Webauth class-map match-any system-cpp-police-l2lvx-control description L2 LVX control packets class-map match-any system-cpp-police-forus description Forus Address resolution and Forus traffic class-map match-any system-cpp-police-multicast-end-station description MCAST END STATION class-map match-any system-cpp-police-multicast description Transit Traffic and MCAST Data class-map match-any system-cpp-police-l2-control description L2 control class-map match-any system-cpp-police-dot1x-auth description DOT1X Auth class-map match-any system-cpp-police-data description ICMP redirect, ICMP_GEN and BROADCAST class-map match-any system-cpp-police-stackwise-virt-control description Stackwise Virtual class-map match-any non-client-nrt-class class-map match-any system-cpp-police-routing-control description Routing control and Low Latency class-map match-any system-cpp-police-protocol-snooping description Protocol snooping class-map match-any system-cpp-police-dhcp-snooping description DHCP snooping class-map match-any system-cpp-police-system-critical description System Critical and Gold Pkt ! policy-map system-cpp-policy ! ! interface GigabitEthernet0/0 vrf forwarding Mgmt-vrf no ip address shutdown negotiation auto ! interface GigabitEthernet1/0/1 switchport mode trunk ! interface GigabitEthernet1/0/2 shutdown ! interface GigabitEthernet1/0/3 shutdown ! interface GigabitEthernet1/0/4 shutdown ! interface GigabitEthernet1/0/5 switchport mode trunk ! interface GigabitEthernet1/0/6 switchport mode trunk ! interface GigabitEthernet1/0/7 shutdown ! interface GigabitEthernet1/0/8 shutdown ! interface GigabitEthernet1/0/9 shutdown ! interface GigabitEthernet1/0/10 shutdown ! interface GigabitEthernet1/0/11 shutdown ! interface GigabitEthernet1/0/12 shutdown ! interface GigabitEthernet1/0/13 shutdown ! interface GigabitEthernet1/0/14 shutdown ! interface GigabitEthernet1/0/15 shutdown ! interface GigabitEthernet1/0/16 shutdown ! interface GigabitEthernet1/0/17 shutdown ! interface GigabitEthernet1/0/18 shutdown ! interface GigabitEthernet1/0/19 shutdown ! interface GigabitEthernet1/0/20 shutdown ! interface GigabitEthernet1/0/21 shutdown ! interface GigabitEthernet1/0/22 shutdown ! interface GigabitEthernet1/0/23 shutdown ! interface GigabitEthernet1/0/24 shutdown ! interface GigabitEthernet1/1/1 shutdown ! interface GigabitEthernet1/1/2 shutdown ! interface GigabitEthernet1/1/3 shutdown ! interface GigabitEthernet1/1/4 shutdown ! interface Vlan1 no ip address shutdown ! ip forward-protocol nd ip http server ip http authentication local ip http secure-server ! ! control-plane service-policy input system-cpp-policy ! banner motd ^C D1, Multiple Spanning Tree ^C ! line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 exec-timeout 0 0 privilege level 15 password cisco123 logging synchronous login line vty 5 15 login ! ! end
Switch D2
D2# show run Building configuration... Current configuration : 8981 bytes ! version 16.9 no service pad service timestamps debug datetime msec service timestamps log datetime msec ! Call-home is enabled by Smart-Licensing. service call-home no platform punt-keepalive disable-kernel-core ! hostname D2 ! vrf definition Mgmt-vrf ! address-family ipv4 exit-address-family ! address-family ipv6 exit-address-family ! no aaa new-model switch 1 provision ws-c3650-24ts ! login on-success log ! license boot level ipservicesk9 ! diagnostic bootup level minimal ! spanning-tree mode mst spanning-tree extend system-id ! spanning-tree mst configuration name CCNPv8 revision 2 instance 1 vlan 2-3 instance 2 vlan 4-5 ! spanning-tree mst 1 priority 28672 spanning-tree mst 2 priority 24576 ! redundancy mode sso ! transceiver type all monitoring ! class-map match-any system-cpp-police-topology-control description Topology control class-map match-any system-cpp-police-sw-forward description Sw forwarding, L2 LVX data, LOGGING class-map match-any system-cpp-default description Inter FED, EWLC control, EWLC data class-map match-any system-cpp-police-sys-data description Learning cache ovfl, High Rate App, Exception, EGR Exception, NFL SAMPLED DATA, RPF Failed class-map match-any system-cpp-police-punt-webauth description Punt Webauth class-map match-any system-cpp-police-l2lvx-control description L2 LVX control packets class-map match-any system-cpp-police-forus description Forus Address resolution and Forus traffic class-map match-any system-cpp-police-multicast-end-station description MCAST END STATION class-map match-any system-cpp-police-multicast description Transit Traffic and MCAST Data class-map match-any system-cpp-police-l2-control description L2 control class-map match-any system-cpp-police-dot1x-auth description DOT1X Auth class-map match-any system-cpp-police-data description ICMP redirect, ICMP_GEN and BROADCAST class-map match-any system-cpp-police-stackwise-virt-control description Stackwise Virtual class-map match-any non-client-nrt-class class-map match-any system-cpp-police-routing-control description Routing control and Low Latency class-map match-any system-cpp-police-protocol-snooping description Protocol snooping class-map match-any system-cpp-police-dhcp-snooping description DHCP snooping class-map match-any system-cpp-police-system-critical description System Critical and Gold Pkt ! policy-map system-cpp-policy ! interface GigabitEthernet0/0 vrf forwarding Mgmt-vrf no ip address shutdown negotiation auto ! interface GigabitEthernet1/0/1 switchport mode trunk ! interface GigabitEthernet1/0/2 shutdown ! interface GigabitEthernet1/0/3 shutdown ! interface GigabitEthernet1/0/4 shutdown ! interface GigabitEthernet1/0/5 switchport mode trunk ! interface GigabitEthernet1/0/6 switchport mode trunk spanning-tree mst 2 port-priority 64 ! interface GigabitEthernet1/0/7 shutdown ! interface GigabitEthernet1/0/8 shutdown ! interface GigabitEthernet1/0/9 shutdown ! interface GigabitEthernet1/0/10 shutdown ! interface GigabitEthernet1/0/11 shutdown ! interface GigabitEthernet1/0/12 shutdown ! interface GigabitEthernet1/0/13 shutdown ! interface GigabitEthernet1/0/14 shutdown ! interface GigabitEthernet1/0/15 shutdown ! interface GigabitEthernet1/0/16 shutdown ! interface GigabitEthernet1/0/17 shutdown ! interface GigabitEthernet1/0/18 shutdown ! interface GigabitEthernet1/0/19 shutdown ! interface GigabitEthernet1/0/20 shutdown ! interface GigabitEthernet1/0/21 shutdown ! interface GigabitEthernet1/0/22 shutdown ! interface GigabitEthernet1/0/23 shutdown ! interface GigabitEthernet1/0/24 shutdown ! interface GigabitEthernet1/1/1 shutdown ! interface GigabitEthernet1/1/2 shutdown ! interface GigabitEthernet1/1/3 shutdown ! interface GigabitEthernet1/1/4 shutdown ! interface Vlan1 no ip address shutdown ! ip forward-protocol nd ip http server ip http authentication local ip http secure-server ! control-plane service-policy input system-cpp-policy ! banner motd ^C D2, Multiple Spanning Tree ^C ! line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 login line vty 5 15 login end
Switch A1
A1# show run Building configuration... Current configuration : 2095 bytes ! version 15.2 no service pad service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname A1 ! boot-start-marker boot-end-marker ! ! no aaa new-model system mtu routing 1500 ! ! spanning-tree mode mst spanning-tree extend system-id ! spanning-tree mst configuration name CCNPv8 revision 2 instance 1 vlan 2-3 instance 2 vlan 4-5 ! vlan internal allocation policy ascending ! interface FastEthernet0/1 switchport mode trunk ! interface FastEthernet0/2 switchport mode trunk spanning-tree mst 1 cost 1000 ! interface FastEthernet0/3 switchport mode trunk ! interface FastEthernet0/4 switchport mode trunk ! interface FastEthernet0/5 switchport mode trunk ! interface FastEthernet0/6 switchport mode trunk ! interface FastEthernet0/7 switchport mode trunk ! interface FastEthernet0/8 switchport mode trunk ! interface FastEthernet0/9 switchport mode trunk ! interface FastEthernet0/10 switchport mode trunk ! interface FastEthernet0/11 switchport mode trunk ! interface FastEthernet0/12 switchport mode trunk ! interface FastEthernet0/13 switchport mode trunk ! interface FastEthernet0/14 switchport mode trunk ! interface FastEthernet0/15 switchport mode trunk ! interface FastEthernet0/16 switchport mode trunk ! interface FastEthernet0/17 switchport mode trunk ! interface FastEthernet0/18 switchport mode trunk ! interface FastEthernet0/19 switchport mode trunk ! interface FastEthernet0/20 switchport mode trunk ! interface FastEthernet0/21 switchport mode trunk ! interface FastEthernet0/22 switchport mode trunk ! interface FastEthernet0/23 switchport mode trunk ! interface FastEthernet0/24 shutdown ! interface GigabitEthernet0/1 switchport mode trunk ! interface GigabitEthernet0/2 switchport mode trunk ! interface Vlan1 ! ip http server ip http secure-server ! banner motd ^C A1, Multiple Spanning Tree ^C ! line con 0 exec-timeout 0 0 logging synchronous line vty 0 4 login line vty 5 15 login ! end