Share this post on:

Introduction

This post explains flow of BPDU and TCN behaviour of full converged STP

Design

S1 is a root bridge, all switches run PVST+.

BPDU flow

Once STP is fully converged, only root bridge sends BPDUs, S2 and S3 switches forward the BPDUs out of their designated ports.

S1#debug spanning-tree bpdu transmit
Spanning Tree BPDU Transmitted debugging is on
S1#
*Mar 14 18:22:21.732: STP: VLAN0001 Et0/0 tx BPDU: config protocol=ieee
Data : 0000 00 00 00 8001AABBCC001000 00000000 8001AABBCC001000 8001 0000 1400 0200 0F00
*Mar 14 18:22:21.732: STP: VLAN0001 Et0/1 tx BPDU: config protocol=ieee
Data : 0000 00 00 00 8001AABBCC001000 00000000 8001AABBCC001000 8002 0000 1400 0200 0F00

TCN flow

Let’s generate the topology change notofication by shutting down eth0/0 on S3.

S3(config)#int ethernet 0/0
 S3(config-if)#sh
 S3(config-if)#
 *Mar 14 18:24:02.893: STP: VLAN0001 new root port Et0/1, cost 200
 *Mar 14 18:24:02.893: STP: VLAN0001 Et0/1 -> listening
 *Mar 14 18:24:02.893: STP[1]: Generating TC trap for port Ethernet0/0
 S3(config-if)#
 *Mar 14 18:24:04.897: %LINK-5-CHANGED: Interface Ethernet0/0, changed state to administratively down
 S3(config-if)#
 *Mar 14 18:24:04.897: STP: VLAN0001 sent Topology Change Notice on Et0/1
 *Mar 14 18:24:05.901: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to down
 S3(config-if)#
 *Mar 14 18:24:17.893: STP: VLAN0001 Et0/1 -> learning
 S3(config-if)#
 S3(config-if)#
 S3(config-if)#
 S3(config-if)#
 S3(config-if)#
 *Mar 14 18:24:32.893: STP[1]: Generating TC trap for port Ethernet0/1
 *Mar 14 18:24:32.893: STP: VLAN0001 sent Topology Change Notice on Et0/1
 *Mar 14 18:24:32.893: STP: VLAN0001 Et0/1 -> forwarding

Two TCN traps are generated, eth0/1 becomes a root bridge but it goes through normal STP changes (no Uplnik fast feature), once TCN are received, switches flush their CAM tables.

Share this post on:

Leave a Comment

Your email address will not be published. Required fields are marked *