Skip to content

Spanning Tree

Spanning Tree Protocol (STP) configuration prevents Layer 2 loops and provides redundant path management on NX-OS devices, supporting PVST+ (per-VLAN spanning tree) and MST (Multiple Spanning Tree) modes with bridge assurance and loop guard for enhanced network stability. Global settings control STP mode selection, pathcost method, FCoE integration, LC ISSU behavior, L2 gateway STP domain ID, and default edge port behavior. Per-VLAN settings allow customization of timers, priority, and root bridge designation. MST settings define the region (name, revision, and instance-to-VLAN mapping), global MST timers and hop count, PVST simulation, and per-instance priority and root bridge designation. Spanning tree interface-level configuration manages BPDU filter, BPDU guard, port cost, guard mode (root/loop), link type, port type (edge/network/normal), port priority, per-MST instance cost and port priority, and MST interoperability settings across Ethernet and port-channel interfaces.

Spanning Tree Protocol (STP) configuration prevents Layer 2 loops and provides redundant path management on NX-OS devices, supporting PVST+ (per-VLAN spanning tree) and MST (Multiple Spanning Tree) modes with bridge assurance and loop guard for enhanced network stability. Global settings control STP mode selection, pathcost method, FCoE integration, LC ISSU behavior, L2 gateway STP domain ID, and default edge port behavior. Per-VLAN settings allow customization of timers, priority, and root bridge designation. Spanning tree interface-level configuration manages BPDU filter, BPDU guard, port cost, guard mode (root/loop), link type, port type (edge/network/normal), port priority, and MST interoperability settings across Ethernet and port-channel interfaces.

NameTypeConstraintMandatoryDefault Value
devicesListdevicesNo
device_groupsListdevice_groupsNo
globalClassglobalNo
templatesListtemplatesNo
interface_groupsListinterface_groupsNo

NameTypeConstraintMandatoryDefault Value
devicesListdevicesNo
device_groupsListdevice_groupsNo
globalClassglobalNo
templatesListtemplatesNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
interfacesClassinterfacesNo
spanning_treeClassspanning_treeNo

NameTypeConstraintMandatoryDefault Value
ethernetsListethernetsNo
port_channelsListport_channelsNo

ethernets (nxos.devices.configuration.interfaces)

Section titled “ethernets (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
spanning_treeClassspanning_treeNo

port_channels (nxos.devices.configuration.interfaces)

Section titled “port_channels (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
spanning_treeClassspanning_treeNo

NameTypeConstraintMandatoryDefault Value
spanning_treeClassspanning_treeNo

spanning_tree (nxos.devices.configuration)

Section titled “spanning_tree (nxos.devices.configuration)”
NameTypeConstraintMandatoryDefault Value
bridge_assuranceBooleantrue, falseNo
fcoeBooleantrue, falseNo
l2gateway_stp_domain_idIntegermin: 0, max: 200000000No
lc_issuChoicedisruptive, non-disruptive, autoNo
loopguardBooleantrue, falseNo
modeChoicemst, rapid-pvstNo
pathcost_methodChoiceauto, short, longNo
port_type_edge_defaultBooleantrue, falseNo
port_type_edge_bpdufilter_defaultBooleantrue, falseNo
port_type_edge_bpduguard_defaultBooleantrue, falseNo
mstClassmstNo
vlansListvlansNo

spanning_tree (nxos.devices.configuration)

Section titled “spanning_tree (nxos.devices.configuration)”
NameTypeConstraintMandatoryDefault Value
bridge_assuranceBooleantrue, falseNo
fcoeBooleantrue, falseNo
l2gateway_stp_domain_idIntegermin: 0, max: 200000000No
lc_issuChoicedisruptive, non-disruptive, autoNo
loopguardBooleantrue, falseNo
modeChoicemst, rapid-pvstNo
pathcost_methodChoiceauto, short, longNo
port_type_edge_defaultBooleantrue, falseNo
port_type_edge_bpdufilter_defaultBooleantrue, falseNo
port_type_edge_bpduguard_defaultBooleantrue, falseNo
vlansListvlansNo

spanning_tree (nxos.devices.configuration.interfaces.ethernets)

Section titled “spanning_tree (nxos.devices.configuration.interfaces.ethernets)”
NameTypeConstraintMandatoryDefault Value
bpdufilterBooleantrue, falseNo
bpduguardBooleantrue, falseNo
costIntegermin: 0, max: 200000000No
guardChoiceroot, loop, noneNo
link_typeChoiceauto, point-to-point, sharedNo
port_typeChoiceedge, network, normalNo
port_priorityIntegermin: 0, max: 224No
mst_pre_standardBooleantrue, falseNo
mst_simulate_pvstBooleantrue, falseNo
mst_instancesListmst_instancesNo

spanning_tree (nxos.devices.configuration.interfaces.ethernets)

Section titled “spanning_tree (nxos.devices.configuration.interfaces.ethernets)”
NameTypeConstraintMandatoryDefault Value
bpdufilterBooleantrue, falseNo
bpduguardBooleantrue, falseNo
costIntegermin: 0, max: 200000000No
guardChoiceroot, loop, noneNo
link_typeChoiceauto, point-to-point, sharedNo
port_typeChoiceedge, network, normalNo
port_priorityIntegermin: 0, max: 224No
mst_pre_standardBooleantrue, falseNo
mst_simulate_pvstBooleantrue, falseNo

mst (nxos.devices.configuration.spanning_tree)

Section titled “mst (nxos.devices.configuration.spanning_tree)”
NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo
forward_timeIntegermin: 4, max: 30No
hello_timeIntegermin: 1, max: 10No
max_ageIntegermin: 6, max: 40No
max_hopsIntegermin: 1, max: 255No
simulate_pvst_globalBooleantrue, falseNo
instancesListinstancesNo

vlans (nxos.devices.configuration.spanning_tree)

Section titled “vlans (nxos.devices.configuration.spanning_tree)”
NameTypeConstraintMandatoryDefault Value
vlansClassvlansYes
forward_timeIntegermin: 4, max: 30No
hello_timeIntegermin: 1, max: 10No
max_ageIntegermin: 6, max: 40No
priorityIntegermin: 0, max: 61440No
rootChoiceprimary, secondaryNo
diameterIntegermin: 2, max: 7No

mst_instances (nxos.devices.configuration.interfaces.ethernets.spanning_tree)

Section titled “mst_instances (nxos.devices.configuration.interfaces.ethernets.spanning_tree)”
NameTypeConstraintMandatoryDefault Value
idIntegermin: 0, max: 4094Yes
costIntegermin: 0, max: 200000000No
port_priorityIntegermin: 0, max: 224No

configuration (nxos.devices.configuration.spanning_tree.mst)

Section titled “configuration (nxos.devices.configuration.spanning_tree.mst)”
NameTypeConstraintMandatoryDefault Value
nameStringNo
revisionIntegermin: 0, max: 65535No
instancesListinstancesNo

instances (nxos.devices.configuration.spanning_tree.mst)

Section titled “instances (nxos.devices.configuration.spanning_tree.mst)”
NameTypeConstraintMandatoryDefault Value
idIntegermin: 0, max: 4094Yes
priorityIntegermin: 0, max: 61440No
rootChoiceprimary, secondaryNo
diameterIntegermin: 2, max: 7No

vlans (nxos.devices.configuration.spanning_tree.vlans)

Section titled “vlans (nxos.devices.configuration.spanning_tree.vlans)”
NameTypeConstraintMandatoryDefault Value
idsListInteger[min: 1, max: 4094]No
rangesListrangesNo

instances (nxos.devices.configuration.spanning_tree.mst.configuration)

Section titled “instances (nxos.devices.configuration.spanning_tree.mst.configuration)”
NameTypeConstraintMandatoryDefault Value
idIntegermin: 1, max: 4094Yes
vlansClassvlansNo

ranges (nxos.devices.configuration.spanning_tree.vlans.vlans)

Section titled “ranges (nxos.devices.configuration.spanning_tree.vlans.vlans)”
NameTypeConstraintMandatoryDefault Value
fromIntegermin: 1, max: 4094Yes
toIntegermin: 1, max: 4094Yes

Example 1: PVST+ mode with bridge assurance, loopguard, and default edge port settings

nxos:
devices:
- name: LEAF1
configuration:
spanning_tree:
mode: rapid-pvst
loopguard: true
bridge_assurance: true
port_type_edge_default: true
port_type_edge_bpduguard_default: true

Example 2: MST mode with region configuration, timers, and per-instance root bridge settings

nxos:
devices:
- name: SPINE1
configuration:
spanning_tree:
mode: mst
bridge_assurance: true
loopguard: true
pathcost_method: long
mst:
configuration:
name: REGION1
revision: 5
instances:
- id: 1
vlans:
ranges:
- from: 10
to: 20
- id: 2
vlans:
ids: [30, 40]
forward_time: 20
hello_time: 5
max_age: 25
max_hops: 30
simulate_pvst_global: false
instances:
- id: 0
root: primary
- id: 1
priority: 4096
- id: 2
root: secondary

Example 3: Spanning tree with FCoE support, LC ISSU behavior, and L2 gateway domain ID

nxos:
devices:
- name: BORDER-LEAF1
configuration:
spanning_tree:
mode: rapid-pvst
bridge_assurance: true
loopguard: true
fcoe: true
lc_issu: non-disruptive
l2gateway_stp_domain_id: 100

Example 4: Per-VLAN spanning tree with root bridge designation and custom timers

nxos:
devices:
- name: LEAF1
configuration:
spanning_tree:
mode: rapid-pvst
vlans:
- vlans:
ids: [100]
priority: 4096
root: primary
diameter: 3
forward_time: 15
hello_time: 2
max_age: 20
- vlans:
ids: [200]
priority: 8192
root: secondary

Example 5: Interface-level spanning tree with edge port, BPDU guard, MST interop, and per-MST instance settings

nxos:
devices:
- name: LEAF1
configuration:
interfaces:
ethernets:
- id: 1/1
spanning_tree:
port_type: edge
bpduguard: true
guard: root
mst_pre_standard: true
mst_simulate_pvst: true
mst_instances:
- id: 1
cost: 100
port_priority: 64
port_channels:
- id: 100
spanning_tree:
port_type: network
guard: loop
link_type: point-to-point
cost: 500
port_priority: 128

Example 1: PVST+ mode with bridge assurance, loopguard, and default edge port settings

nxos:
devices:
- name: LEAF1
configuration:
spanning_tree:
mode: rapid-pvst
loopguard: true
bridge_assurance: true
port_type_edge_default: true
port_type_edge_bpduguard_default: true

Example 2: MST mode with long pathcost on a spine switch

nxos:
devices:
- name: SPINE1
configuration:
spanning_tree:
mode: mst
bridge_assurance: true
loopguard: true
pathcost_method: long

Example 3: Spanning tree with FCoE support, LC ISSU behavior, and L2 gateway domain ID

nxos:
devices:
- name: BORDER-LEAF1
configuration:
spanning_tree:
mode: rapid-pvst
bridge_assurance: true
loopguard: true
fcoe: true
lc_issu: non-disruptive
l2gateway_stp_domain_id: 100

Example 4: Per-VLAN spanning tree with root bridge designation and custom timers

nxos:
devices:
- name: LEAF1
configuration:
spanning_tree:
mode: rapid-pvst
vlans:
- vlans:
ids: [100]
priority: 4096
root: primary
diameter: 3
forward_time: 15
hello_time: 2
max_age: 20
- vlans:
ids: [200]
priority: 8192
root: secondary

Example 5: Interface-level spanning tree with edge port, BPDU guard, and MST interop settings

nxos:
devices:
- name: LEAF1
configuration:
interfaces:
ethernets:
- id: 1/1
spanning_tree:
port_type: edge
bpduguard: true
guard: root
mst_pre_standard: true
mst_simulate_pvst: true
port_channels:
- id: 100
spanning_tree:
port_type: network
guard: loop
link_type: p2p
cost: 500
port_priority: 128