

EXOS Easy Spanning Tree Application (ezspantree.py)¶
Version 2.1.0.3¶
Description¶
ezspantree.py is an optional EXOS application which will automatically manage the EXOS default spanning tree s0.
For network deployments where spanning tree is an integral part of loop detection and prevention, ezspantree.py will:
- Automatically enable spanning tree
- Automatically configure the default EXOS spanning tree s0 to MSTP/CIST
- add any existing VLANs to spanning tree s0
- Automatically add newly created VLANs to s0.
If MSTP/CIST is the desired spanning tree behavior for VLANs, no additional configuration for a VLAN is required. ezspantree.py will take care of managing VLAN spanning tree participation.
Extreme EOS Customers¶
For Extreme customers migrating from EOS to EXOS, ezspantree.py emulates the EOS behavior of spanning tree by automating the addition/deletion of VLANs/ports for a single MSTP/CIST spanning tree s0. (The EOS default behavior)
Minimum ExtremeXOS Required¶
ezspantree is compatible with EXOS 16.x and later
The latest ezspantree may be downloaded to a compatible EXOS release by following the download instructions.
EXOS 22.7 | and later includes ezspantree.py 2.1.0.3 |
EXOS 22.6 | and later includes ezspantree.py 2.1.0.2 |
EXOS 21.1 | and later includes ezspantree.py 2.0.0.1 |
EXOS 16.x | download required |
Version History¶
2.1.0.3 |
---|
fixes issue where VLANs added by Extreme Management Center Java client do not always get added to spanning tree ‘s0’ |
2.1.0.2 |
---|
fixes issue where ezspantree sometimes crashes on startup but works on 2nd try |
fixes show/stop reporting when ezspantree used on an EXOS stack |
2.0.0.1 |
---|
Added support for EXOS 16.x |
1.0.0.1 |
---|
Initial release |
Files¶
File | Description |
---|---|
summitX-ezspantree-2.1.0.3.xmod | Easy Spanning Tree download for EXOS Summit switches |
onie-ezspantree-2.1.0.3.xmod | Easy Spanning Tree download for EXOS ONIE switches |
vm-ezspantree-2.1.0.3.xmod | Easy Spanning Tree download for EXOS Virtual Machine |
See download instructions
Usage¶
When first started, ezspantree.py:
- removes the connection of any VLANs associated with EXOS stpd s0
- disables auto-bind of any VLANs associated with EXOS stpd s0
- reconfigures stpd s0 mode to MSTP/CIST
- scans all VLANs not connected to any stpd
- adds the VLANs to stpd s0
- enables auto-bind for the VLANs for stpd s0
ezspantree.py will continue running in the background and monitor EXOS for newly created VLANs. If EXOS is rebooted, ezspantree.py will automatically be restarted.
As VLANs are created, the VLAN:
- is automatically connected to stpd s0
- is enabled for auto-bind
In the usage examples, let’s assume the command below was used to create VLANs VID 10-15
Command
create vlan 10-15
EXOS automatically names the VLANs:
- VLAN_0010
- VLAN_0011
- VLAN_0012
- VLAN_0013
- VLAN_0014
- VLAN_0015
Getting help¶
Command
run script ezspantree.py -h
Display
usage: ezspantree [-h] [-d] {start,stop,show}
positional arguments:
{start,stop,show} start Start automatically adding VLANs to spanning tree s0.
stop Stop automatically adding VLANs to spanning tree s0.
show Show the running status of ezspantree.
optional arguments:
-h, --help show this help message and exit
-d, --debug Enable debug
start
¶
ezspantree.py only needs to be started once. It will become part of the EXOS environment and continue to run in the background. If the EXOS switch is rebooted, ezspantree.py will restart automatically.
Command
run script ezspantree.py start
Display
Spanning Tree Easy Setup
- Configures spanning tree s0 mode to MSTP/CIST
- Scans all VLANs
if a VLAN is not connected to spanning tree, it is added to s0
if a VLAN is already connected to spanning tree s0, it is updated
VLANs connected to spanning tree(s) other than s0 are not affected
- Starts a VLAN monitoring process for any new VLANS
newly created VLANS are automatically added to spanning tree s0
Do you wish to proceed? [y/N] y
Collecting VLANs assigned to spanning trees. This may take a moment ...
.
Configuring STP s0 to MSTP/CIST
Enabling STP s0
ezspantree started
Scanning all VLANs
VLANs not connected to STP will be automatically added to s0
.
These VLAN(s) will be added to Spanning Tree s0:
Default, VLAN_0010, VLAN_0011, VLAN_0012, VLAN_0013, VLAN_0014, VLAN_0015
Adding VLAN(s) to Spanning Tree s0:
.
To see how ezspantree did, you can use the EXOS command:
Display
show stpd s0
Display
Stpd: s0 Stp: ENABLED Number of Ports: 54
Rapid Root Failover: Disabled
Operational Mode: MSTP Default Binding Mode: 802.1D
MSTI Instance: CIST
802.1Q Tag: (none)
Ports: 1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
51,52,53,54
Participating Vlans: Default
Auto-bind Vlans: Default,VLAN_0010,VLAN_0011,VLAN_0012,VLAN_0013,
VLAN_0014,VLAN_0015
Bridge Priority : 32768 Bridge Priority Mode: 802.1t
Operational Bridge Priority: 32768
BridgeID : 80:00:00:04:96:97:d1:84
Designated root : 80:00:00:04:96:97:d1:84
CIST Root : 80:00:00:04:96:97:d1:84
CIST Regional Root : 80:00:00:04:96:97:d1:84
External RootPathCost : 0 Internal RootPathCost: 0
Root Port : ----
MaxAge : 20s HelloTime : 2s ForwardDelay : 15s
CfgBrMaxAge : 20s CfgBrHelloTime: 2s CfgBrForwardDelay: 15s
RemainHopCount: 20 CfgMaxHopCount: 20
Topology Change Time : 35s Hold time : 1s
Topology Change Detected : FALSE Topology Change : FALSE
Number of Topology Changes : 0
Time Since Last Topology Change: 0s
Topology Change initiated locally on Port none
Topology Change last received on Port none from none
Backup Root : Off Backup Root Activated : FALSE
Loop Protect Event Window : 180s Loop Protect Threshold : 3
New Root Trap : On Topology Change Trap : Off
Tx Hold Count : 6
show
¶
To check the running status of ezspantree.py
Command
run script ezspantree.py show
Display
ezspantree Version: 2.1.0.3 process is running
VLANs are automatically added to spanning tree s0
stop
¶
Stopping ezspantree does not change any existing configurations that have already happened. ezspantree.py will no longer automatically add newly created VLANs to STP s0.
Command
run script ezspantree.py stop
Display
ezspantree stopped
To see that ezspanning tree is no longer running:
Command
run script ezspantree.py show
Display
ezspantree Version: 2.1.0.3 process is not running
VLANs are not automatically added to spanning tree s0
You can see that existing configurations are unaffected by using the command:
Command
show stpd s0
Display
Stpd: s0 Stp: ENABLED Number of Ports: 54
Rapid Root Failover: Disabled
Operational Mode: MSTP Default Binding Mode: 802.1D
MSTI Instance: CIST
802.1Q Tag: (none)
Ports: 1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
51,52,53,54
Participating Vlans: Default
Auto-bind Vlans: Default,VLAN_0010,VLAN_0011,VLAN_0012,VLAN_0013,
VLAN_0014,VLAN_0015
Bridge Priority : 32768 Bridge Priority Mode: 802.1t
Operational Bridge Priority: 32768
BridgeID : 80:00:00:04:96:97:d1:84
Designated root : 80:00:00:04:96:97:d1:84
CIST Root : 80:00:00:04:96:97:d1:84
CIST Regional Root : 80:00:00:04:96:97:d1:84
External RootPathCost : 0 Internal RootPathCost: 0
Root Port : ----
MaxAge : 20s HelloTime : 2s ForwardDelay : 15s
CfgBrMaxAge : 20s CfgBrHelloTime: 2s CfgBrForwardDelay: 15s
RemainHopCount: 20 CfgMaxHopCount: 20
Topology Change Time : 35s Hold time : 1s
Topology Change Detected : FALSE Topology Change : FALSE
Number of Topology Changes : 0
Time Since Last Topology Change: 0s
Topology Change initiated locally on Port none
Topology Change last received on Port none from none
Backup Root : Off Backup Root Activated : FALSE
Loop Protect Event Window : 180s Loop Protect Threshold : 3
New Root Trap : On Topology Change Trap : Off
Tx Hold Count : 6
Download¶
EXOS offers a variety of download methods. All of the methods below assume the EXOS switch has been configured with an IP address either on the mgmt VLAN (for the management port) or default VLAN (for the front panel ports).
Download over tftp¶
To download summitX-ezspantree-2.1.0.3.xmod to an EXOS switch, place the file in a server tftp directory.
Download tftp over management port¶
Enter the EXOS CLI command: - download image <serverIP> summitX-ezspantree-2.1.0.3.xmod
Command
download image 10.10.10.1 summitX-ezspantree-2.1.0.3.xmod
Download tftp over front panel port¶
Enter the EXOS CLI command: - download image <serverIP> summitX-ezspantree-2.1.0.3.xmod vr VR-Default
Command
download image 10.10.10.1 summitX-ezspantree-2.1.0.3.xmod vr VR-Default
Download over http¶
EXOS can download files from a web site using http. If your server does not have a web server and Python is installed, Python offers a simple HTTP web server. Python Simple Web Server
Example starting a simple python web server on port 8000
cd <directory>
python -m SimpleHTTPServer 8000
Copy summitX-ezspantree-2.1.0.3.xmod to <directory> used in the example above.
Download using EXOS web (Chalet) EXOS 21.x or later¶
- Using your browser, download summitX-ezspantree-2.1.0.3.xmod from github to your PC.
- Then using the EXOS web interface (Chalet), navigate to Apps->File Manager.
- Use: Upload files from Local Drive: to upload and install the file to the EXOS switch