STP Configuration Module
This configuration module enables support for Spanning Tree Protocol (STP) to avoid loops by dynamically blocking ports. Many platforms already support and enable STP by default; this module provides explicit control over those settings
Platform Support
The following table describes per-platform support of individual STP features:
Operating system |
STP |
MSTP |
RSTP |
Per-VLAN |
Enable |
---|---|---|---|---|---|
Arista EOS[1] |
✅ |
✅ |
✅ |
✅ |
✅ |
Aruba AOS-CX[2] |
❗ |
✅ |
❌ |
✅ |
✅ |
Cumulus Linux 4.x[3] |
✅ |
❌ |
✅ |
❌ |
✅ |
Cumulus 5.x (NVUE)[3] |
✅ |
❌ |
✅ |
❌ |
✅ |
Dell OS10[4] |
✅ |
✅ |
✅ |
❗ |
✅ |
FRR[5] |
✅ |
❌ |
❌ |
❌ |
❌ |
Tip
MSTP/RSTP ports fall back to regular STP upon receiving a plain STP BPDU.
Global Parameters
stp.protocol (one of
stp
,mstp
,rstp
orpvrst
) – Global STP flavor to run on supporting nodes, defaultstp
stp.stub_port_type (one of
normal
,edge
,network
,auto
ornone
) – Port type to configure on ports with only hosts connected, defaultnone
Global, Node, Link, Interface, and VLAN Parameters
stp.enable (bool) – Enable STP. Optional, default: True. Set this to False explicitly to disable STP on platforms that enable it by default. We’re not responsible for the loops you might get as a result.
Tip
You can set the stp.enable parameter in the vlans dictionary to enable per-VLAN STP.
Node Parameters (global or per VLAN)
stp.priority (int 0…61440 in increments of 1024) – STP priority for root election, by default, all nodes have equal priority 32656. In case of equal priority, the bridge with the lowest MAC address becomes root; note that MAC addresses are assigned randomly in Netlab
stp.port_type (one of
normal
,edge
,network
orauto
) – STP port type for all interfaces connected to this node
Interface Parameters
stp.port_priority (int 0…15) – STP port priority for selecting between multiple ports; ports are blocked based on priority (lower value = higher priority). The priority is sent over the wire (4 bits) as the most significant part of the port ID; it is used by the node receiving it (!) to decide which port(s) to unblock. Note that on many platforms, the value that ends up in the configuration is a multiple (x16) of this attribute
stp.port_type (one of
normal
,edge
,network
orauto
) – STP port type for this interface, defaultnormal