PVRSTP+

Submitted by rayc on Mon, 10/25/2021 - 09:13

PVRSTP+ or Per VLAN Rapid Spanning Tree Plus is a Cisco Proprietary extension of the Rapid Spanning Tree protocol that, like PVSTP runs a single RSPT instance per VLAN configured on the switch. 802.1W RSTP is an improvement on 802.1D STP in that it allows for much faster transition between port states with modifications to the port states, and also with the addition of some port roles and types. 

802.1W Port States, Roles and Types

802.1W RSTP reduces the number of port states from 802.1D to 3.

  • Discarding: This state combines the STP disabled, blocking and listening states into 1. 
  • Learning: This is the same as the STP Learning state.
  • Forwarding: This is also the same as the STP Forwarding state.

 

To speed up STP convergence RSTP has some additional port roles as well.

  • Root Port: This is the same as STP and connects to the Root bridge.
  • Designated Port: Again the same as STP. 1 DP per segment.
  • Alternate Port: New port roles that provides an alternate connection to the Root switch.
  • Backup Port: New port roles that provides link redundancy twoards a shared segment in the same collision domain (usually a hub)

 

RSTP Port types are also slightly different.

  • Edge Port: This is a port that is connected to the edge of the network such as a host. These ports directly correlate to ports that have portfast enabled. 
  • Non-Edge Port: This is a port that has received a BPDU
  • Point-to-Point: Any port that connects to another RSTP switch and is full duplex.

 

RSTP Convergence

RSTP uses a handshake mechanism in order to establish a stable RSTP state and transition through STP states and discover the root bridge faster. The RSTP Handshake goes as follows: 

  • When two RSTP switches come online, they verify that a link is a P2P link by checking that it is full duplex
  • The two switches then establish a handshake to advertise that their interface should be the Designated Port
  • The switches receive these BPDUs and determine which one has the superior BPDU. (Rules are the same as with STP)
  • The Inferior switch marks it's port as the RP and moves all non-edge ports to the discarding state.
  • The Inferior switch then sends and agreement (configuration BPDU) to signify that syncronisation is ocurring.
  • The Inferior switch then moves the root port to a forwarding state, and the Superior switch moves its designated port to the forwarding state
  • The Inferior switch then repeats this process for all downstream switches.

 

I would like to note, that if during the handshake process, the switch does not get a response, it will assume that the connected switch is not an RSTP switch and default to 802.1D STP standards. 

Configuration

To begin configuring PVRSTP we will use the below 3 switch topology.

PVRSTP Topology

To enable PVRSTP on a Cisco Catalyst switch, use the global configuration command spanning-tree mode rapid-pvst.

spanning-tree mode rapid

Note that this topology has settled with SW1 as the root due to the STP Priority changed to 0 on SW1. By default, PVRSTP uses the same method as PVST+ to determine the root bridge. If we use the show command show spanning-tree vlan 10 (for brevity), we can see that SW1 is the root, on SW2 the interfaces to SW3 have been elected as DP and are in the Forwarding State and on SW3, the interfaces connecting to SW2 are set as Alternate ports in the BLK state. 

SW1 show spanning-tree vlan 10

Output from SW1

SW2 show spanning-tree vlan 10

output from SW2

SW3 show spanning-tree vlan 10

output from SW3

PVRSTP+ Compatibility

As with PVST+, PVRSTP is backward compatible with both PVST+ and MST. When communicating with PVST devices, as I mentioned earlier, the RSTP switch after failing the handshake, determines that the PVSTP switch is in 802.1D mode and operates using a single STP instance. The same is said for MST backward compatibility with RSTP. To verify that the STP instances are backward compatible, I will change SW2 to PVSTP+ and SW3 to MST.

PVRSTP+ with PVST+

Below we can see the output of the show spanning-tree vlan 10 command on both SW1 and SW2. SW2 is configured to use PVSTP+ while SW1 is using PVRSTP. From the output you can clearly see that SW1 has marked SW2 as using standard STP by looking at the port type (P2p Peer(STP)). SW2 also still sees that SW1 is the root for that VLAN and the ports connecting to SW3 are still Designated Ports. 

SW1 sh span vl 10 PVST compatibility

output from SW1

SW2 sh span vl 10 compatibility PVST

output from SW2

PVRSTP+ and MST

As a note to running MST with other STP instance types I would like to mention that if you do this, MST needs to be the root for all VLANs. Below we can see the output of the show spanning-tree vlan 10 commands on SW1, SW2 and SW3. SW3 here is configured to use MST and is the Root Bridge.

SW1 sh span vl 10 for MST

Output from SW1

SW2 sh span vl 10 for MST

Output from SW2

SW3 sh span for MST

Output from SW3

From the output on SW1 running PVRSTP+, you can see that it sees both SW2 running PVST+ and SW3 running MST, as using CST 802.1D standards. You can also see the same output from SW3 running MST. SW3 has determined that neither SW1 or SW2 is running MST and it is the MST boundary so will use CST 802.1D (PVST in this case) to talk to both devices. Obviously in our topology having SW3 as the Root is not ideal so if you have a need to run MST in compatibility mode with PVRST+/PVST+ then it would be best to use MST in the right position on your network.