RE: UplinkFast and default port cost

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.com

Internetwork 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