Cisco additions to STP
UplinkFast
BackboneFast
topology:
sw1-- fa1/0/1 -- fa5/0/1--sw2
--fa1/0/17 -- fa5/0/17 -- sw2
In this scenaro sw2 is the root bridge
issue command 'show spanning-tree vlan 12' on sw1:
sw1#sh spanning-tree vlan 12 VLAN0012 Spanning tree enabled protocol ieee Root ID Priority 32780 Address 0018.1977.e680 Cost 3019 Port 3 (FastEthernet1/0/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 49164 (priority 49152 sys-id-ext 12) Address 0018.1978.0980 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Uplinkfast enabled Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa1/0/1 Root FWD 3019 128.3 P2p Fa1/0/17 Altn BLK 3019 128.19 P2p
you can see that fa1/0/17 on sw1 is the Altn port and its BLK stat.
now we issue same command on sw2
sw2#sh spanning-tree vlan 12 VLAN0012 Spanning tree enabled protocol ieee Root ID Priority 32780 Address 0018.1977.e680 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32780 (priority 32768 sys-id-ext 12) Address 0018.1977.e680 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa5/0/1 Desg FWD 19 128.219 P2p Fa5/0/17 Desg FWD 19 128.235 P2p
that's right, interface fa5/0/1 and fa5/0/17 are designed port and forwarding state.
Then we check whether uplink fast feature default is on or not
sw1#sh spanning-tree uplinkfast UplinkFast is disabled
it's disabled by defaut and we will leave it disabled.Next we will manully shut down root port on sw1--that's fa1/0/1 and see what happended.
sw1(config)#int fa1/0/1 sw1(config-if)#sh sw1(config-if)# *Mar 1 22:45:01.500: STP: VLAN0012 new root port Fa1/0/17, cost 19 *Mar 1 22:45:01.500: STP: VLAN0012 Fa1/0/17 -> listening *Mar 1 22:45:01.500: STP: UFAST: removing prev root port Fa1/0/1 VLAN0012 port-id 8003 *Mar 1 22:45:02.507: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan12, changed state to down *Mar 1 22:45:03.505: STP: VLAN0012 sent Topology Change Notice on Fa1/0/17 *Mar 1 22:45:03.505: %LINK-5-CHANGED: Interface FastEthernet1/0/1, changed state to administratively down *Mar 1 22:45:04.512: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/1, changed state to down *Mar 1 22:45:16.508: STP: VLAN0012 Fa1/0/17 -> learning *Mar 1 22:45:31.515: STP: VLAN0012 Fa1/0/17 -> forwarding *Mar 1 22:45:32.798: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan12, changed state to up
as you can see,interface fa1/0/17 takes 30 secs to forwarding state.it's short than expected 50 secs as it's P2P link between switches and no other hosts/switches are connected here.
Let's enable UplinkFast on sw1 and repeat the process.
sw1(config)#spanning-tree uplinkfast sw1(config)# *Mar 1 22:54:03.916: STP FAST: uplinkfast enabled *Mar 1 22:54:03.916: setting bridge id (which=1) prio 49164 prio cfg 49152 sysid 12 (on) id C00C.0018.1978.0980 *Mar 1 22:54:03.916: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/1 VLAN0012 is: uplink disabled new root FastEthernet1/0/1 (me)prev root exists(8013/FastEthernet1/0/17) cur state forwarding role uplink *Mar 1 22:54:03.916: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/1 VLAN0012 is: uplink enabled new root FastEthernet1/0/1 (me)prev root exists(8013/FastEthernet1/0/17) cur state forwarding role uplink *Mar 1 22:54:03.916: setting bridge id (which=1) prio 49166 prio cfg 49152 sysid 14 (on) id C00E.0018.1978.0980 *Mar 1 22:54:03.916: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/4 VLAN0014 is: uplink disabled new root FastEthernet1/0/4 (me)prev root not set(0000/<none>) cur state forwarding role uplink *Mar 1 22:54:03.916: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/4 VLAN0014 is: uplink enabled new root FastEthernet1/0/4 (me)prev root not set(0000/<none>) cur state forwarding role uplink
show spanning-tree vlan 12 on sw1:
sw1#sh spanning-tree vlan 12 VLAN0012 Spanning tree enabled protocol ieee Root ID Priority 32780 Address 0018.1977.e680 Cost 3019 Port 3 (FastEthernet1/0/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 49164 (priority 49152 sys-id-ext 12) Address 0018.1978.0980 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Uplinkfast enabled Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa1/0/1 Root FWD 3019 128.3 P2p Fa1/0/17 Altn BLK 3019 128.19 P2p
shut down fa1/0/1 on sw1
sw1(config)#int fa1/0/1 sw1(config-if)#shu sw1(config-if)# *Mar 1 22:55:50.200: STP: VLAN0012 new root port Fa1/0/17, cost 3019 *Mar 1 22:55:50.200: STP FAST: UPLINKFAST: make_forwarding on VLAN0012 FastEthernet1/0/17 root port id new: 128.19 prev: 128.3 *Mar 1 22:55:50.200: %SPANTREE_FAST-7-PORT_FWD_UPLINK: VLAN0012 FastEthernet1/0/17 moved to Forwarding (UplinkFast). *Mar 1 22:55:50.200: STP: UFAST: removing prev root port Fa1/0/1 VLAN0012 port-id 8003 *Mar 1 22:55:52.205: STP: VLAN0012 sent Topology Change Notice on Fa1/0/17 *Mar 1 22:55:52.205: %LINK-5-CHANGED: Interface FastEthernet1/0/1, changed state to administratively down *Mar 1 22:55:53.211: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/1, changed state to down sw1(config-if)#end sw1#sh sp sw1#sh spanning-tree vlan *Mar 1 22:56:17.731: %SYS-5-CONFIG_I: Configured from console by console12 VLAN0012 Spanning tree enabled protocol ieee Root ID Priority 32780 Address 0018.1977.e680 Cost 3019 Port 19 (FastEthernet1/0/17) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 49164 (priority 49152 sys-id-ext 12) Address 0018.1978.0980 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 15 Uplinkfast enabled Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa1/0/17 Root FWD 3019 128.19 P2p
fa1/0/17 became root port and the time is short than 1 sec.After we no shut down previous root port fa1/0/17 and it can re-become root port
sw1(config)#int fa1/0/1 sw1(config-if)#no sh sw1(config-if)# *Mar 1 22:57:28.598: set portid: VLAN0012 Fa1/0/1: new port id 8003 *Mar 1 22:57:28.598: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/17 VLAN0012 is: uplink enabled new root FastEthernet1/0/17 (me)prev root exists(8003/<none>) cur state forwarding role uplink *Mar 1 22:57:28.598: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/1 VLAN0012 is: uplink enabled new root FastEthernet1/0/17 (not me)prev root exists(8003/<none>) cur state blocking role looped *Mar 1 22:57:28.598: STP: VLAN0012 Fa1/0/1 -> listening *Mar 1 22:57:28.858: STP: VLAN0012 Fa1/0/1: root port delay timer active *Mar 1 22:57:28.858: STP FAST: make_forwarding: via UPLINKFAST: NOT: port FastEthernet1/0/17 VLAN0012 is: uplink enabled new root FastEthernet1/0/17 (me)prev root exists(8003/<none>) cur state forwarding role uplink *Mar 1 22:57:28.858: STP: VLAN0012 Fa1/0/1 -> blocking *Mar 1 22:57:29.043: %LINK-3-UPDOWN: Interface FastEthernet1/0/1, changed state to up *Mar 1 22:57:30.049: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/1, changed state to up *Mar 1 22:58:03.864: STP: VLAN0012 new root port Fa1/0/1, cost 3019 *Mar 1 22:58:03.864: STP FAST: UPLINKFAST: make_forwarding on VLAN0012 FastEthernet1/0/1 root port id new: 128.3 prev: 128.19 *Mar 1 22:58:03.864: STP: VLAN0012 Fa1/0/17 -> blocking (uplinkfast) *Mar 1 22:58:03.864: %SPANTREE_FAST-7-PORT_FWD_UPLINK: VLAN0012 FastEthernet1/0/1 moved to Forwarding (UplinkFast). *Mar 1 22:58:03.864: STP: VLAN0012 sent Topology Change Notice on Fa1/0/1 sw1(config-if)#end sw1#sh sp sw1#sh spanning-tree *Mar 1 22:58:41.428: %SYS-5-CONFIG_I: Configured from console by consolevlan 12 VLAN0012 Spanning tree enabled protocol ieee Root ID Priority 32780 Address 0018.1977.e680 Cost 3019 Port 3 (FastEthernet1/0/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 49164 (priority 49152 sys-id-ext 12) Address 0018.1978.0980 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Uplinkfast enabled Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa1/0/1 Root FWD 3019 128.3 P2p Fa1/0/17 Altn BLK 3019 128.19 P2p
backboneFast ensure a quick failover as soon as the inferior BPDU is received. It saves roughly 20 seconds out of the 50 seconds of convergence time.