cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2758
Views
5
Helpful
8
Replies

RSTP Poor Convergence Time: ~30s

jradke
Level 1
Level 1

What's wrong with my config? If I shutdown a port or pull a link it takes ~30 seconds to converge.

I have set spanning-tree portfast default on the 4948's. Is it proper to set my uplinks on these switches (g1/1) to shared or does that disable RSTP?

Switch 1 & 2 are 4948's running 12.2(54)

Switch 1 & 2 are connected on port 43

Switch 1 port 1 is connected to the 7609 12.2(33) SRD5 on port g1/2

Switch 2 port 1 is connected to the 7609 on port g2/2

I have a host on Switch 1 port 42 for testing.

This snapshot is taken when all ports are enabled and up not when a link is in a failed state:

SWITCH 1:

VLAN0224

  Spanning tree enabled protocol rstp

  Root ID    Priority    20704

             Address     0027.0dfd.b600

             Cost        4

             Port        1 (GigabitEthernet1/1)

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec


  Bridge ID  Priority    32992  (priority 32768 sys-id-ext 224)

             Address     001d.a200.8580

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

             Aging Time  300 sec


Interface           Role Sts Cost      Prio.Nbr Type

------------------- ---- --- --------- -------- --------------------------------

Gi1/1               Root FWD 4         128.1    P2p

Gi1/42              Desg FWD 19        128.42   P2p

Gi1/43              Desg FWD 4         128.43   P2p


SWITCH 2:

sho span vlan 224

VLAN0224

  Spanning tree enabled protocol rstp

  Root ID    Priority    20704

             Address     0027.0dfd.b600

             Cost        4

             Port        1 (GigabitEthernet1/1)

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec


  Bridge ID  Priority    32992  (priority 32768 sys-id-ext 224)

             Address     0022.55ae.19c0

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

             Aging Time  300 sec


Interface           Role Sts Cost      Prio.Nbr Type

------------------- ---- --- --------- -------- --------------------------------

Gi1/1               Root FWD 4         128.1    P2p

Gi1/43              Altn BLK 4         128.43   P2p

7609:

VLAN0224                                                                                                                                                                                        

  Spanning tree enabled protocol rstp

  Root ID    Priority    20704

             Address     0027.0dfd.b600

             This bridge is the root

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec


  Bridge ID  Priority    20704  (priority 20480 sys-id-ext 224)

             Address     0027.0dfd.b600

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

             Aging Time 300


Interface           Role Sts Cost      Prio.Nbr Type

------------------- ---- --- --------- -------- --------------------------------

Gi1/2               Desg FWD 4         128.2    P2p

Gi2/2               Desg FWD 4         128.258  P2p


interface GigabitEthernet1/2

desc SWITCH1

switchport

switchport access vlan 224

switchport mode access

interface GigabitEthernet2/2

desc SWITCH2

switchport

switchport access vlan 224

switchport mode access

8 Replies 8

jradke
Level 1
Level 1

FIXED:

Looks like setting the spanning-tree portfast deafault was the fix! Less than 1ms convergence now!

From reading I understand that setting the uplink ports to shared disables RSTP.

http://www.cisco.com/en/US/tech/tk389/tk621/technologies_white_paper09186a0080094cfa.shtml

"RSTP can only achieve rapid transition to the forwarding state on edge ports and on point-to-point links."

Should I be specifying anything specific for my uplink ports?

Looks like RSTP is completely automatic for setting edgeports? If I set a port to portfast I see no entry in the config because the default is portfast. If I try to remove portfast for the uplinks that doesn't apply either (no entry in the config). It seems to be detecting what ports are p2p or p2p-edge based on incoming bpdu's. I was perplexed by this message when enabling portfast default if I'm not supposed to set something on the uplink ports:

(config)# spanning-tree portfast default    

%Warning: this command enables portfast by default on all interfaces. You

should now disable portfast explicitly on switched ports leading to hubs,

switches and bridges as they may create temporary bridging loops.

I guess it's just hard for me to get comfortable with the protocol that does practically everything itself!

From what I understand if you don't configure portfast on access ports when you're running RSTP, during the Synchronization Process it will block all non-edge ports (which is you don't have portfast configured on a access port) RSTP will treat it as a non-edge port and will block the port while the syncrhoniztion process completes.

1. Basically, the upstream switch will send a BPDU with the proposal bit set down to all downstream switches on a P2P link (which will have to be full-duplex), half-duplex ports in RSTP are considered shared, and do not participate in the faster syncrhoniztion.

2. Once the downstream switches receive this configuration BPDU with the proposal bit set, and if it agrees with the upstream port role , it starts the process known as syncrhonization.

3. The purpose of Synchronization is to prevent switching loops, after synchroniztion makes sure no loops are in the topology, the upstream switch will unblock its designated ports.

4. If the downstream switch does not agree with the proposal it continus sending its own configuration BPDUs with the proposal bit set. Eventuall one of the switches will accept the superior information and will agree with the proposal

I hope that helped yeah.

Hello,

The issue you have observed is a classical case with RSTP.

Edge ports cannot be detected automatically. A switch has no way of knowing if a port is connected to another switch or to an end node. It is tempting to assume that if a port does not receive BPDUs then it is an edge port. However, that would not be a valid assumption: designated non-edge ports also do not receive any BPDUs because on the same link, the other ports are either root or alternate/backup ports, and none of those sends BPDUs. Hence, the automatic detection of edge ports is not possible and the RSTP absolutely has to be told manually which ports are supposed to be treated as edge ports.

Now, the spanning-tree portfast default command causes that all ports operating in the access mode are automatically considered as edge ports. The reason is clear: an access port is usually conected to an end node while inter-switch links are provided using trunks. So the spanning-tree portfast default command causes all ports in the access mode to behave as edge ports, and all ports in the trunk mode to behave as non-edge ports. Please note that this approach is by no means safe from mistakes! It is just a heuristic approach to determine which ports are most probably edge ports. However, as I indicated earlier, there is no way in RSTP how to detect an edge port with 100% certainty. It is always dependent on the administrator to configure the port appropriately.

Does this make the behavior you've experienced more understandable?

Best regards,

Peter

Thanks for the responses and clarifications guys.

Peter, since my uplinks are not in trunk mode, what command should I use on my uplink ports to tell the switches that they are not edge ports? If I issue the command "no spann portfast" it does not show up in the config for g1/1.

Hello,

Can you please enclose the output of the following commands?

show spanning-tree summary

show run interface XXX

show interface XXX switchport

show spanning-tree interface XXX portfast

XXX is the name/number of your uplink interface.

Best regards,

Peter

Command output below, thanks Paul!

4948-TOP-PRI#sho span sum

Switch is in rapid-pvst mode

Root bridge for: VLAN0001, VLAN0031-VLAN0033, VLAN0035, VLAN0944

Extended system ID           is enabled

Portfast Default             is enabled

PortFast BPDU Guard Default  is disabled

Portfast BPDU Filter Default is disabled

Loopguard Default            is disabled

EtherChannel misconfig guard is enabled

UplinkFast                   is disabled

BackboneFast                 is disabled

Configured Pathcost method used is short

Name                   Blocking Listening Learning Forwarding STP Active

---------------------- -------- --------- -------- ---------- ----------

VLAN0001                     0         0        0          1          1

VLAN0031                     0         0        0          1          1

VLAN0032                     0         0        0          1          1

VLAN0033                     0         0        0          1          1

VLAN0035                     0         0        0          1          1

VLAN0224                     0         0        0          3          3

VLAN0944                     0         0        0          1          1

---------------------- -------- --------- -------- ---------- ----------

7 vlans                      0         0        0          9          9

4948-TOP-PRI#sho run int g1/1

Building configuration...

Current configuration : 225 bytes

!

interface GigabitEthernet1/1

description Web-ster_Uplink

switchport access vlan 224

switchport trunk encapsulation dot1q

switchport mode access

logging event link-status

load-interval 30

speed 1000

duplex full

end

4948-TOP-PRI#sho int g1/1 switchport

Name: Gi1/1

Switchport: Enabled

Administrative Mode: static access

Operational Mode: static access

Administrative Trunking Encapsulation: dot1q

Operational Trunking Encapsulation: native

Negotiation of Trunking: Off

Access Mode VLAN: 224 (WEB-STER-CORE)

Trunking Native Mode VLAN: 1 (default)

Administrative Native VLAN tagging: enabled

Voice VLAN: none

Administrative private-vlan host-association: none

Administrative private-vlan mapping: none

Administrative private-vlan trunk native VLAN: none

Administrative private-vlan trunk Native VLAN tagging: enabled

Administrative private-vlan trunk encapsulation: dot1q

Administrative private-vlan trunk normal VLANs: none

Administrative private-vlan trunk associations: none

Administrative private-vlan trunk mappings: none

Operational private-vlan: none

Trunking VLANs Enabled: ALL

Pruning VLANs Enabled: 2-1001

Capture Mode Disabled

Capture VLANs Allowed: ALL

Unknown unicast blocked: disabled

Unknown multicast blocked: disabled

Appliance trust: none

4948-TOP-PRI#sho span int g1/1 portfast

VLAN0224            disabled

Hello,

Thank you very much!

You are using access ports to interconnect your switches, therefore, the globally enabled PortFast applies to them. The PortFast feature on these ports can be explicitly disabled using the spanning-tree portfast disable command, i.e.

interface GigabitEthernet1/1

spanning-tree portfast disable

Best regards,

Peter

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: