Adtran disable Spanning Tree using Edgeport and BPDU
I have 6 Adtran Netvanta 1524st switches on which I wanted to disable STP (spanning tree protocol). After checking the switches through their web interface and using SSH to check the Adtran Operating System (AOS) command line help I was unable to spot any obvious method of disabling it.
STP was designed to prevent loops from forming in a switch network by identifying and blocking redundant paths. The protocol is also intelligent enough to restore an alternate path when a primary link goes down, thus eliminating downtime. But, whilst the pro's of STP sound good it does have some detrimental effects. STP (unlike RSTP) can take a while to learn about a new device or topology change. As a result, before allowing a new device to communicate (be it a computer or another switch) it first attempts to discover more about it. It is the time delay during this process that can cause problems.
The organisation I work for currently consists of 60 users and of those there are never really more than 3/4 of them in the office at any one time. The chances of someone looping a switch here are even more negligible because every 'floor box' under the desk of all users only has 1 of the 3 network ports patched to a switch (one is used for telephone and the other is unused).
A couple of problems STP was causing me include:
- The failure of logon and/or startup scripts to execute as computers were taking an age to acquire an IP and so could not contact a server
- Clients would timeout acquiring an IP during PXE boot when using RIS
So after deciding that STP had to be disabled I was kind of stumped at trying to find a way to do it! I have disabled/changed STP many times usually through a web interface or using the 'no spanning-tree (vlan id)' command.
There are a few configurable options for STP. One is to enable or disable edgeport mode, the other is the use of a BPDU filter.
When connecting a device to a switch that has a physical network port configured with edgeport mode enabled then STP automatically ignores the learning part of its initialisation. Instead it engages its forwarding state which only usually occurs after the lengthy delay of inspecting a device or topology change.
BPDU or Bridge Protocol Data Units are packets of data that contain information on ports, addresses, priorities and costs and are passed between switches to prevent loops in a network. If a loop is detected then one of the switches usually puts the offending physical port into a blocked/disabled state (and BPDUs are sent to make the other devices aware). If the physical path around the network is severed and a backup exists then the blocked port on the backup path is put into the forwarding state offering redundancy. BPDU filtering allows you to prevent a physical port from sending and receiving BPDUs.
It seemed that by forcing edgeport mode on all ports on each switch and by turning on the BPDU filter to ignore all BPDU traffic I could therefore disable spanning tree.
After logging into each Adtran 1524st switch using SSH I first enabled the privileged commandset by issuing the 'enable' command. I could then enter configuration mode by issuing the 'configure' command. I now had the following prompt:
I selected all ports on the switch using the following 'range' command:
interface range gigabit-eth 0/1-24
This was the new prompt showing me I am applying configuration to all ports:
To enable the BPDU filtering I used the following:
spanning-tree bpdufilter enable
And finally to enable edgeport mode I issued the last command:
All physical ports on the switch now had the BPDU filter enabled and had edgeport mode turned on. The switch was now as good as being free of STP!