Topology Change (TC) packets are sent when MSTP-enabled interface in a network flaps. If a physical interface frequently alternates between Up and Down, the MSTP status of the device in the network becomes unsteady. As a result, a large number of TC messages are generated, ARP entries are frequently deleted and services are interrupted.
How to find the source of TC packets?
Let’s look at the log, generated on one of the switches in a network. Let’s take Huawei S9300 switch as an example:
Dec 19 2012 11:32:56+10:00 S9300 %%01MSTP/6/RECEIVE_MSTITC(l):MSTP received BPDU with TC, MSTP process 0 instance 0, port name is GigabitEthernet6/0/0.
What can we find in this log?
The most important for us is the port number on which the switch received TC packet, in this case interface GE6/0/0. To troubleshoot this problem we have to go to the next switch, connected to interface GE6/0/0 and check logs of that switch. If the neighbouring switch receives TC packets as well, we have to do further troubleshooting. If we find in the logs that MSTP-enabled interface is flapping, we can consider that this interface is the source of the TC packet. If this interface is still flapping, just make it down, to avoid unsteady behaviour.
To check whether the device has received TC messages:
[S9300] display stp -------[CIST Global Info][Mode MSTP]------- CIST Bridge :57344.00e0-fc00-1597 Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :0 .0018-826f-fc7a / 20000 CIST RegRoot/IRPC :57344.00e0-fc00-1597 / 0 CIST RootPortId :128.2 BPDU-Protection :disabled TC or TCN received :0 TC count per hello :0 STP Converge Mode :Nomal Time since last TC :2 days 14h:16m:15s -------[MSTI 1 Global Info]------- MSTI Bridge ID :4096.00e0-fc00-1597 MSTI RegRoot/IRPC :4096.00e0-fc00-1597 / 0 MSTI RootPortId :0.0 Master Bridge :57344.00e0-fc00-1597 Cost to Master :0 TC received :0 TC count per hello :2
If a switch receives lots of TC packets, please run the following hidden command several times to check and compare which ports receive a large number of TC packets:
[S9300]_h (enter into hidden mode) [S9300-hidecmd]display stp tc (in V1R3 software version) ---------- Stp Instance 0 tc or tcn count ---------- Port GigabitEthernet3/0/0 0 Port GigabitEthernet3/0/1 4 Port GigabitEthernet4/0/2 2 Port GigabitEthernet4/0/3 0 Port GigabitEthernet6/0/0 8 Port GigabitEthernet6/0/1 0 [S9300-hidecmd]display stp tc-bpdu statistics (in V1R6 software version) -------------------------- STP TC/TCN information -------------------------- MSTID Port TC(Send/Receive) TCN(Send/Receive) 0 GigabitEthernet3/0/0 12/1 0/0 0 GigabitEthernet3/0/1 1/0 0/0 0 GigabitEthernet4/0/2 4/7 0/0 0 GigabitEthernet4/0/3 2/0 0/0 0 GigabitEthernet6/0/0 0/10 0/0 0 GigabitEthernet6/0/1 0/6 0/0
We can reset these statistics using the following command:
<S9303>reset stp statistics