Config Lab: RSTP Config 1

Wendell Odom
By Wendell Odom September 7, 2021 09:05

LAN switches use many default settings that work without you having to do anything, and oftentimes, you can leave those default settings as-is. However, with Spanning Tree Protocol (STP), and its better cousin Rapid STP (RSTP), you should configure some settings based on a few design goals. This config lab works through some of the more common configuration settings to influence the choice of root switch and designated ports.

All about Config Labs

The blog has a series of lab exercises called “Config Labs.” Each lab presents a topology with the relevant initial configuration for each device. The lab also lists new requirements, after which you should create the additional configuration to meet those requirements. You can do the lab on paper, in a text editor, or use software tools like Cisco Packet Tracer or Cisco Modeling Labs.

Once you have created your answer, you can click various tabs at the bottom of this post to see the lab answers, comments about the lab, and other helpful information.

The Lab Exercise

Lab Requirements

This lab begins with a working network. It shows two PCs in each of the two separate VLANs/Subnets, with a router to router packets between the subnets. In fact, if you implement the lab as shown and use only the initial configuration, all the PCs should be able to ping each other.  In that case, STP/RSTP works with all default configuration settings.

(You may want to spend a little more time than usual checking out the detailed initial configuration. Also, if you plan to implement the lab for yourself in Cisco Packet Tracer or elsewhere, you may find it useful to implement the initial configuration and examine the VLANs, VLAN trunking, ROAS, and STP/RSTP behavior before performing the configuration.)

Once you understand the initial configuration, configure some common best practices for STP/RSTP in LANs. Specifically:

  1. Use default STP/RSTP settings unless you need the setting to implement the lab.
  2. Configure all switches to use per-vlan RSTP rather than per-vlan STP.
  3. Root Switch in VLAN 10:
    1. Configure switch Dist1 with a better priority than the other switches so that Dist1 becomes the root switch.
    2. Configure the priority setting as a specific number.
    3. Use the highest priority setting possible for Dist1 while ensuring that Dist1 does not tie with the other switches.

Additionally, consider the following points about the switches’ choices for Designated Ports (DPs):

  • After configuring so that Dist1 becomes the root switch in VLAN 10, but with all other STP/RSTP settings as defaults, all three switches will have a root cost of 4.
  • As a result, the switches will tie in their Designated Port (DP) elections for the Dist2-Access3 and Dist2-Access4 links.
  • As a result, the Designated Port (DP) choices on those links use tiebreakers.

Based on those facts, also configure to achieve the following goals:

  1. Configure to avoid the tiebreakers for choosing any DPs by lowering the STP/RSTP port cost(s) on switch Dist2, in VLAN 10, on Dist2 port G1/1/1. (Such a change will change switch Dist2’s root cost.)
  2. Multiple possible cost values could be used. However, for the purposes of this lab, set the cost to one lower than the default cost for a Gigabit Ethernet interface.


Figure 1: RSTP Topology for this Lab


Initial Configuration

The four switches have no pre-configuration related to RSTP. However, all the switches use VLAN trunking on the links between switches. They also use VTP mode transparent, requiring the VLANs to be configured on each switch. So, each switch shows both VLAN 10 and 11 as preconfigured. For information about the PCs and the router, look below these next four examples.

Example 1: Dist1 Config


Example 2: Dist2 Config


Example 3: Access3 Config


Example 4: Access4 Config


The four PCs connect to two different access VLANs and subnets, as follows:

  • PC11 and PC12: VLAN 10, subnet, gateway
  • PC21 and PC22: VLAN 11, subnet, gateway

R1 uses a router-on-a-stick (ROAS) configuration to support the subnets. With the initial topology and device configurations, the PCs should be able to ping each other and the default gateway. Their initial configurations are shown next.

Example 5: PC11 Configuration Settings

Example 6: PC12 Configuration Settings

Example 7: PC21 Configuration Settings

Example 8: PC22 Configuration Settings


Example 9: Router R1 Configuration Settings

Answer Options - Click Tabs to Reveal

You can learn a lot and strengthen real learning of the topics by creating the configuration – even without a router or switch CLI. In fact, these labs were originally built to be used solely as a paper exercise!

To answer, just think about the lab. Refer to your primary learning material for CCNA, your notes, and create the configuration on paper or in a text editor. Then check your answer versus the answer post, which is linked at the bottom of the lab, just above the comments section.

You can also implement the lab using the Cisco Packet Tracer network simulator. With this option, you use Cisco’s free Packet Tracer simulator. You open a file that begins with the initial configuration already loaded. Then you implement your configuration and test to determine if it met the requirements of the lab.

(Use this link for more information about Cisco Packet Tracer.)

Use this workflow to do the labs in Cisco Packet Tracer:

  1. Download the .pkt file linked below.
  2. Open the .pkt file, creating a working lab with the same topology and interfaces as the lab exercise.
  3. Add your planned configuration to the lab.
  4. Test the configuration using some of the suggestions below.

Download this lab’s Packet Tracer File

You can also implement the lab using Cisco Modeling Labs – Personal (CML-P). CML-P (or simply CML) replaced Cisco Virtual Internet Routing Lab (VIRL) software in 2020, in effect serving as VIRL Version 2.

If you prefer to use CML, use a similar workflow as you would use if using Cisco Packet Tracer, as follows:

  1. Download the CML file (filetype .yaml) linked below.
  2. Import the lab’s CML file into CML and then start the lab.
  3. Compare the lab topology and interface IDs to this lab, as they may differ (more detail below).
  4. Add your planned configuration to the lab.
  5. Test the configuration using some of the suggestions below.

Download this lab’s CML file!

Network Device Info:

This table lists the interfaces used in the lab exercise documentation that differ from those used in the sample CML file.

Device Lab Port  CML Port
Dist1 G1/1/2 G1/2
Dist1 G1/1/3 G1/3
Dist1 G1/1/4 G1/0
Dist1 G1/0/1 G0/1
Dist2 G1/1/2 G1/2
Dist2 G1/1/3 G1/3
Dist2 G1/1/4 G1/0
Access3 G1/1/1 G1/1
Access3 G1/1/2 G1/2
Access3 G1/0/11 G0/1
Access3 G1/0/21 G0/2
Access4 G1/1/1 G1/1
Access4 G1/1/2 G1/2
Access4 G1/0/12 G0/1
Access4 G1/0/22 G0/2

Lab Answers Below: Spoiler Alert

Lab Answers: Configuration (Click Tab to Reveal)

Lab Answers

Example: Dist1 Config


Example: Dist2 Config


Example: Access3 Config


Example: Access4 Config

Commentary, Issues, and Verification Tips (Click Tabs to Reveal)

Lab Commentary

Compared to many Config Labs, this lab takes much more time to understand the initial configuration, but then few commands to configure the switches to meet the design requirements.

Cisco switches default with a base priority of 32,768. IOS allows base priority values as a multiple of 4096, in the range from 0 and 61,440. For instance, the values closest to but less than 32,768 – the values used in lab and most often used in real networks – are:

  • 28,672
  • 24,576
  • 20,480

The lab requirements asked you to configure the priority of switch Dist1 to a lower number. This lab shows Dist1 with the next lower value below the default of 32,768, namely 28,672, as configured in the spanning-tree vlan 10 priority 28672 global command.

The other lab requirement asked you to configure Dist2 with a lower port cost (compared to the default cost) on its G1/1/1 port and lower that cost to one less than the default port cost on Gigabit interfaces (which is cost 4.) You do that using the spanning-tree vlan 10 cost 3 interface subcommand on Dist2’s G1/1/1 port. As a result, when Dist2 and Access3 compete to elect the Designated Port on the link that connects them, Dist2 wins with its root cost of 3 versus Access3’s root cost of 4.

Known Issues in this Lab

This section of each Config Lab Answers post hopes to help with those issues by listing any known issues with Packet Tracer related to this lab. In this case, the issues are:


# Summary Detail
1 VLAN trunking requires the switchport trunk encapsulation command Old Cisco switches supported both ISL (older) and 802.1Q (newer) trunking protocol options, so those switches required the switchport trunk encapsulation command to be configured on VLAN trunks. Cisco Packet Tracer switches use this same logic, while Cisco switches produced since around 2010 support 802.1Q only.
2 Packet Tracer does not support multiple VLANs in the global vlan command The initial configuration shows the command vlan 10,11 – legal on real Cisco switches but rejected by Cisco Packet Tracer. Instead, configure the VLANs on separate vlan commands.


Why Would Cisco Packet Tracer Have Issues?

(Note: The below text is the same in every Config Lab.)

Cisco Packet Tracer (CPT) simulates Cisco routers and switches. However, CPT does not run the same software that runs in real Cisco routers and switches. Instead, developers wrote CPT to predict the output a real router or switch would display given the same topology and configuration – but without performing all the same tasks, an actual device has to do. On a positive note, CPT requires far less CPU and RAM than a lab full of devices so that you can run CPT on your computer as an app. In addition, simulators like CPT help you learn about the Cisco router/switch user interface – the Command Line Interface (CLI) – without having to own real devices.

CPT can have issues compared to real devices because CPT does not run the same software as Cisco devices. CPT does not support all commands or parameters of a command. CPT may supply output from a command that differs in some ways from what an actual device would give. Those differences can be a problem for anyone learning networking technology because you may not have experience with that technology on real gear – so you may not notice the differences. So this section lists differences and issues that we have seen when using CPT to do this lab.

Beyond comparing your answers to this lab’s Answers post, you can test in Cisco Packet Tracer (CPT) or Cisco Modeling Labs (CML). In fact, you can and should explore the lab once configured. For this lab, once you have completed the configuration, try these verification steps. 

  1. From switch Dist1, issue the show spanning-tree vlan 10 command. Note its STP/RSTP Bridge ID (BID).
  2. From each switch, issue the show spanning-tree vlan 10 command. Look at the upper part of the output, which identifies the root switch. Note that all should refer to switch Dist1, by its BID, as the root switch.
  3. Compare the DP roles on all the trunk links between Dist2, Access3, and Access4, which are the switches you configured so that Dist2 should be the DP on those links:
    1. Issue the show spanning-tree vlan 10 command on each switch.
    2. On Dist1 and Access1, compare the value of the “Role” heading for the interfaces on the link between the two switches. Dist1 should list “DESG” for “Designated,” while Access3 should list “Altn” for Alternate.
    3. Likewise, on Dist2 and Access4, make the same comparison. Dist2 should be the DP, with Access4 as an Alternate Port role.

More Labs with Related Content!

Config Lab: Trunking for Only Some VLANs
Config Lab: RSTP Config 2
Wendell Odom
By Wendell Odom September 7, 2021 09:05
Write a comment


  1. Chris March 24, 22:53

    Hi Wendell,

    The descriptions for Access3 and Access4 in the CLI are labeled incorrectly in the packet tracer file.

    For example, the show running-config command description for G1/1/3 is “Trunk link to Access1” and G1/1/4 is “Trunk link to Access2.” I assume Access1 = Access3, and Access2 = Access4?

    Reply to this comment
    • certskills March 29, 14:34

      Hi Chris,
      Thanks. Indeed, the description commands were wrong, because when we revised the labs in 2021, the older lab used names “Access1” and “Access2”. We missed the description commands.

      I’ve fixed them – next downloads should show the correct switch names in the description commands.
      Thanks for the notice.

      Reply to this comment
View comments

Write a comment

Leave a Reply to Chris Cancel reply


Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for subscribing.

Something went wrong.