12-27-2011 10:29 AM - edited 03-07-2019 04:04 AM
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/2Switch 2 port 1 is connected to the 7609 on port g2/2
I have a host on Switch 1 port 42 for testing.
SWITCH 1:
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
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
desc SWITCH1
switchport
switchport access vlan 224
switchport mode access
interface GigabitEthernet2/2
desc SWITCH2
switchport
switchport access vlan 224
switchport mode access
12-27-2011 10:45 AM
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?
12-27-2011 11:04 AM
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!
12-27-2011 01:09 PM
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.
12-27-2011 01:54 PM
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
12-27-2011 02:22 PM
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.
12-27-2011 03:33 PM
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
12-27-2011 05:05 PM
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
12-28-2011 12:46 AM
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
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: