From: Huan Pham (Huan.Pham@peopletelecom.com.au)
Date: Mon Jul 14 2008 - 21:07:56 ART
Thanks Petr for your explaination!
"Essentially, by increasing bridge priority, we ensure that a switch
would not likely become a root bridge (with all port being designated)."
This makes sense!
"And by increasing port costs, we ensure that ports are unlikely to
become designated on the respective conenctions."
I do not see your point here. When you encrease the cost of ALL ports by
3000, you won't make any ports more or less preferred to be a
designated!
Per your suggestion, I have done some debugging and I have found the
problem of the "misbehaving switch". 
The problem is: even the switch takes the command, the uplinkfast
feature is disabled if we manually set priority (even if we set it to
highest number, i.e making it least prefered as a root). I have not seen
this documented anywhere, and learnt it a long way ;-)
BTW, As mentioned in my previous post, by changing the portcosts
automatically, enabling uplinkfast may brake L2 traffic engineering
(path selection) we have completed in previous tasks. 
To explain it, let take a look at the ring topology again, where SW1 is
the root. 
        SW1 ---SW3
         |      |
         |      |
        SW2----SW4
TASK1: Make SW2 to travel via SW4 to get to SW1. 
To complete this, on SW2 we increase the cost on trunking links to SW1
to high costs of 1000
TASK2: Enabling uplinkfast on SW2,SW3,SW4. 
As the cost of all ports encreased by 3000, the direct path from SW2 to
SW1 is the shortest, i.e. breaking TASK1. To fix it, we should have set
the cost on SW2 toward SW1 to 10000 instead of 1000.
This uplinkfast behaviour can make a hard question in a real lab.
 
Here's what shows that uplink fast is disabled when we manually set
spanning tree priority.
 
SW4#sh run | in span
spanning-tree mode pvst
spanning-tree extend system-id
spanning-tree uplinkfast
SW4#sh span vlan 1
 
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    1
             Address     001c.b0d9.0280
             Cost        3038
             Port        16 (FastEthernet0/16)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
 
  Bridge ID  Priority    49153  (priority 49152 sys-id-ext 1)
             Address     000e.d74d.b600
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300
  Uplinkfast enabled
 
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- --------
--------------------------------
Fa0/4               Desg FWD 3100      128.4    Shr 
Fa0/16              Root FWD 3019      128.16   P2p 
Fa0/17              Altn BLK 3019      128.17   P2p 
Fa0/18              Altn BLK 3019      128.18   P2p 
Fa0/19              Altn BLK 3019      128.19   P2p 
Fa0/20              Altn BLK 3019      128.20   P2p 
          
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- --------
--------------------------------
 
Fa0/21              Altn BLK 3019      128.21   P2p 
 
SW4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW4(config)#span vlan 1 pri 61440
SW4(config)#do sh run | in span
spanning-tree mode pvst
spanning-tree extend system-id
spanning-tree uplinkfast
spanning-tree vlan 1 priority 61440
SW4(config)#do sh span vlan 1
 
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    1
             Address     001c.b0d9.0280
             Cost        38
             Port        16 (FastEthernet0/16)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
 
  Bridge ID  Priority    61441  (priority 61440 sys-id-ext 1)
             Address     000e.d74d.b600
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 15 
 
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- --------
--------------------------------
Fa0/4               Desg FWD 100       128.4    Shr 
Fa0/16              Root FWD 19        128.16   P2p 
Fa0/17              Altn BLK 19        128.17   P2p 
Fa0/18              Altn BLK 19        128.18   P2p 
Fa0/19              Desg LIS 19        128.19   P2p 
Fa0/20              Desg LIS 19        128.20   P2p 
Fa0/21              Desg LIS 19        128.21   P2p 
________________________________
From: petrsoft@gmail.com [mailto:petrsoft@gmail.com] On Behalf Of Petr
Lapukhov
Sent: Monday, 14 July 2008 11:00 PM
To: Huan Pham
Cc: ccielab@groupstudy.com
Subject: Re: UplinkFast and default port cost
Huan, 
This is kind of weird - could you please look at "debug spanning-tree
uplinkfast" output on "misbehaving" switch.
Uplinkfast should always increase the switch priority to a high value
along with increasing port costs by 3000. The purpose is tied to the
nature of Uplikfast feature - the feature requires at least one
alternative (non-designated, blocking) on the switch. Essentially, by
increasing bridge priority, we ensure that a switch would not likely
become a root bridge (with all port being designated). And by increasing
port costs, we ensure that ports are unlikely to become designated on
the respective conenctions.
Also, in the ring topology you demostrated (provided that each switch
has just one connection to it's peers), there is going to be just one
blocked port (if you are using multiple links between switches, you will
see additional blocked ports). Therefore, it makes sense to configure
Uplinkfast just on the switch with the blocked port. Obviously, if any
of the links in the ring is lost, the topology will no longer be
redundant, and UplinkFast would become ineffective, even if configured
on all non-root switches in the topology.
Due to these reasons, uplinkfast is the feature usually recommeded for
access-level switches with redundant uplink connections. However, in
modern days, it's usually not a good idea using STP for redundancy
purposes in enterprise networks :)
-- Petr Lapukhov, CCIE #16379 (R&S/Security/SP/Voice) petr@internetworkexpert.comInternetwork Expert, Inc. http://www.InternetworkExpert.com Toll Free: 877-224-8987 Outside US: 775-826-4344 Online Community: http://www.IEOC.com CCIE Blog: http://blog.internetworkexpert.com
2008/7/14 Huan Pham <Huan.Pham@peopletelecom.com.au>:
Hi GS, I've just noticed that when we configure uplink fast on a switch, the default costs of all ports may be raised by 3000. Note that this does not happen all the time. For instance, if we have a ring topology like below, and SW1 is the root SW1 ---SW3 | | | | SW2----SW4 When you configure uplinkfast on SW2, SW3, SW4, the default port costs only change on SW2 and SW3. Cisco documentation on this topic is very limited. It looks like the objective of raising the port costs is to minimize the chance of looping, but doing this way may also change SPT path selection (L2 traffic engineering),i.e. breaking the previous tasks. I am curious to know based on what factors the port cost change, and the purpose of raising port cost by 3000. Looking forward to see your view on this topic. SW2(config)#no spanning-tree uplinkfast SW2(config)#do sh span vlan 1 VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 24577 Address 001c.b0d9.0280 Cost 19 Port 16 (FastEthernet0/14) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address 0014.a86b.df00 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 15 Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/4 Desg FWD 19 128.6 P2p Fa0/6 Desg FWD 19 128.8 P2p Fa0/13 Altn BLK 19 128.15 P2p Fa0/14 Root FWD 19 128.16 P2p Fa0/19 Desg FWD 19 128.21 P2p Fa0/20 Desg FWD 19 128.22 P2p Fa0/21 Desg FWD 19 128.23 P2p Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/24 Desg FWD 19 128.26 P2p SW2(config)#span uplinkfast SW2(config)#do sh span vlan 1 VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 24577 Address 001c.b0d9.0280 Cost 3019 Port 16 (FastEthernet0/14) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 49153 (priority 49152 sys-id-ext 1) Address 0014.a86b.df00 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 15 Uplinkfast enabled Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/4 Desg FWD 3019 128.6 P2p Fa0/6 Desg FWD 3019 128.8 P2p Fa0/13 Altn BLK 3019 128.15 P2p Fa0/14 Root FWD 3019 128.16 P2p Fa0/19 Desg FWD 3019 128.21 P2p Fa0/20 Desg FWD 3019 128.22 P2p Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Fa0/21 Desg FWD 3019 128.23 P2p Fa0/24 Desg FWD 3019 128.26 P2p
This archive was generated by hypermail 2.1.4 : Mon Aug 04 2008 - 06:11:55 ART