So I’m labbing up on some tech, one of the labs concerned itself with portfast. Portfast is a legacy spanning-tree improvement made by Cisco that has found it’s way in rapid spanning tree and MST alike as edge ports. However, in Cisco IOS the portfast term can still be found.
Portfast enables a port to skip the listening and learning phases and go directly to the forwarding phase. This helps a port to become operational much faster than without portfast. However, this shorter time to productivity isn’t even its biggest advantage. When a port has been configured for portfast it won’t generate Topology Change Notifications (TCN) in spanning tree causing the CAM tables to time out faster (or instantly). In a big network this is a huge advantage.
Portfast introductions aside. Like I said I was labbing up on portfast. The lab manual said “configure port G0/0 as a portfast port” and “configure port G0/0 as a trunk port”. Normally I would configure this with the interface command:
spanning-tree portfast trunk
Within my lab this worked as well, however, I saw the following when using the questionmark:
SW1(config-if)#spanning-tree portfast ? disable Disable portfast for this interface edge Enable portfast edge on the interface network Enable portfast network on the interface
The command spanning-tree portfast trunk doesn’t exist according to the context sensitive help. The command does work as can be verified:
SW1#sh spanning-tree interface g 0/0 portfast VLAN0001 disabled VLAN0002 disabled VLAN0005 disabled VLAN0007 disabled ! ! SW1(config-if)#spanning portfast trunk %Warning: portfast should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc... to this interface when portfast is enabled, can cause temporary bridging loops. Use with CAUTION SW1(config-if)#end ! SW1#sh spanning-tree interface g 0/0 portfast VLAN0001 enabled VLAN0002 enabled VLAN0005 enabled VLAN0007 enabled
however, according to the context sensitive help the actual command should be:
spanning-tree portfast edge trunk
This is in line with the ‘new’ terminology introduced in Rapid Spanning Tree. Don’t confuse the above command with:
spanning-tree portfast network
This will enable bridge-assurance on the port if configured globally. Bridge assurance is a topic for another post.