dellemc / dellemc.enterprise_sonic / 2.4.0 / module / sonic_stp Manage STP configuration on SONiC | "added in version" 2.3.0 of dellemc.enterprise_sonic" Authors: Shade Talabi (@stalabi1)dellemc.enterprise_sonic.sonic_stp (2.4.0) — module
Install with ansible-galaxy collection install dellemc.enterprise_sonic:==2.4.0
collections: - name: dellemc.enterprise_sonic version: 2.4.0
This module provides configuration management of STP for devices running SONiC
# Using merged # # Before State: # ------------- # # sonic# show running-configuration spanning-tree # (No spanning-tree configuration present) - name: Merge STP configurations dellemc.enterprise_sonic.sonic_stp: config: global: enabled_protocol: mst loop_guard: true bpdu_filter: true disabled_vlans: - 4-6 hello_time: 5 max_age: 10 fwd_delay: 20 bridge_priority: 4096 interfaces: - intf_name: Ethernet20 edge_port: true link_type: shared guard: loop bpdu_guard: true bpdu_filter: true uplink_fast: true shutdown: true cost: 20 port_priority: 30 stp_enable: true mstp: mst_name: mst1 revision: 1 max_hop: 3 hello_time: 6 max_age: 9 fwd_delay: 12 mst_instances: - mst_id: 1 bridge_priority: 2048 vlans: - 1 interfaces: - intf_name: Ethernet20 cost: 60 port_priority: 65 state: merged
# After State: # ------------ # # sonic# show running-configuration spanning-tree # no spanning-tree vlan 4-6 # spanning-tree mode mst # spanning-tree edge-port bpdufilter default # spanning-tree forward-time 20 # spanning-tree hello-time 5 # spanning-tree max-age 10 # spanning-tree loopguard default # spanning-tree mst hello-time 6 # spanning-tree mst forward-time 12 # spanning-tree mst max-age 9 # spanning-tree mst max-hops 3 # spanning-tree mst 1 priority 2048 # ! # spanning-tree mst configuration # name mst1 # revision 1 # instance 1 vlan 1 # activate # ! # interface Ethernet20 # spanning-tree bpdufilter enable # spanning-tree guard loop # spanning-tree bpduguard port-shutdown # spanning-tree cost 20 # spanning-tree link-type shared # spanning-tree port-priority 30 # spanning-tree port type edge # spanning-tree uplinkfast # spanning-tree mst 1 cost 60 # spanning-tree mst 1 port-priority 65 # Using replaced # # Before State: # ------------- # # sonic# show running-configuration spanning-tree # no spanning-tree vlan 4-6 # spanning-tree mode mst # spanning-tree edge-port bpdufilter default # spanning-tree loopguard default # spanning-tree mst hello-time 6 # spanning-tree mst forward-time 12 # spanning-tree mst max-age 9 # spanning-tree mst max-hops 3 # spanning-tree mst 1 priority 2048 # ! # spanning-tree mst configuration # name mst1 # revision 1 # instance 1 vlan 1 # activate # ! # interface Ethernet20 # spanning-tree bpdufilter enable # spanning-tree guard loop # spanning-tree bpduguard port-shutdown # spanning-tree cost 20 # spanning-tree link-type shared # spanning-tree port-priority 30 # spanning-tree port type edge # spanning-tree uplinkfast # spanning-tree mst 1 cost 60 # spanning-tree mst 1 port-priority 65 - name: Replace STP configurations dellemc.enterprise_sonic.sonic_stp: config: interfaces: - intf_name: Ethernet20 cost: 25 port_priority: 35 mstp: mst_name: mst2 revision: 2 max_hop: 4 hello_time: 7 max_age: 10 fwd_delay: 13 state: replaced
# After State: # ------------ # # sonic# show running-configuration spanning-tree # no spanning-tree vlan 4-6 # spanning-tree mode mst # spanning-tree edge-port bpdufilter default # spanning-tree loopguard default # spanning-tree mst hello-time 7 # spanning-tree mst forward-time 13 # spanning-tree mst max-age 10 # spanning-tree mst max-hops 4 # ! # spanning-tree mst configuration # name mst2 # revision 2 # activate # ! # interface Ethernet20 # spanning-tree cost 25 # spanning-tree port-priority 35 # Using overridden # # Before State: # ------------- # # sonic# show running-configuration spanning-tree # no spanning-tree vlan 4-6 # spanning-tree mode mst # spanning-tree edge-port bpdufilter default # spanning-tree loopguard default # spanning-tree mst hello-time 7 # spanning-tree mst forward-time 13 # spanning-tree mst max-age 10 # spanning-tree mst max-hops 4 # ! # spanning-tree mst configuration # name mst2 # revision 2 # activate # ! # interface Ethernet20 # spanning-tree cost 25 # spanning-tree port-priority 35 - name: Override STP configurations dellemc.enterprise_sonic.sonic_stp: config: global: enabled_protocol: pvst bpdu_filter: true root_guard_timeout: 25 portfast: true hello_time: 5 max_age: 10 fwd_delay: 20 bridge_priority: 4096 pvst: - vlan_id: 1 hello_time: 4 max_age: 6 fwd_delay: 8 bridge_priority: 4096 interfaces: - intf_name: Ethernet20 cost: 10 port_priority: 50 state: overridden
# After State: # ------------ # # sonic# show running-configuration spanning-tree # spanning-tree mode pvst # spanning-tree edge-port bpdufilter default # spanning-tree forward-time 20 # spanning-tree guard root timeout 25 # spanning-tree hello-time 5 # spanning-tree max-age 10 # spanning-tree priority 4096 # spanning-tree portfast default # spanning-tree vlan 1 hello-time 4 # spanning-tree vlan 1 forward-time 8 # spanning-tree vlan 1 max-age 6 # sonic# show running-configuration interface Ethernet 20 | grep spanning-tree # spanning-tree vlan 1 cost 10 # spanning-tree vlan 1 port-priority 50 # Using deleted # # Before State: # ------------- # # sonic# show running-configuration spanning-tree # spanning-tree mode pvst # spanning-tree edge-port bpdufilter default # spanning-tree forward-time 20 # spanning-tree guard root timeout 25 # spanning-tree hello-time 5 # spanning-tree max-age 10 # spanning-tree priority 4096 # spanning-tree portfast default # spanning-tree vlan 1 hello-time 4 # spanning-tree vlan 1 forward-time 8 # spanning-tree vlan 1 max-age 6 # sonic# show running-configuration interface Ethernet 20 | grep spanning-tree # spanning-tree vlan 1 cost 10 # spanning-tree vlan 1 port-priority 50 - name: Delete STP configurations dellemc.enterprise_sonic.sonic_stp: config: global: bpdu_filter: true root_guard_timeout: 25 pvst: - vlan_id: 1 interfaces: - intf_name: Ethernet20 state: deleted
state: choices: - merged - deleted - replaced - overridden default: merged description: - The state of the configuration after module completion type: str config: description: - Specifies STP configurations - I(mstp), I(pvst) and I(rapid_pvst) are mutually exclusive. suboptions: global: description: - Global STP configuration suboptions: bpdu_filter: default: false description: - Enables edge port BPDU filter type: bool bridge_priority: default: 32768 description: - The manageable component of the bridge identifier - Value must be a multiple of 4096 in the range of 0-61440 type: int disabled_vlans: description: - List of disabled STP VLANs. The value of a list item can be a single VLAN ID or a range of VLAN IDs - separated by '-' or '..'; for example 70-100 or 70..100. elements: str type: list enabled_protocol: choices: - mst - pvst - rapid_pvst description: - Specifies the type of STP enabled on the device type: str fwd_delay: default: 15 description: - Delay in seconds used by STP bridges to transition root and designated ports to forwarding - Range 4-30 type: int hello_time: default: 2 description: - Interval in seconds between periodic transmissions of configuration messages by designated ports - Range 1-10 type: int loop_guard: default: false description: - The loop guard default setting for the bridge type: bool max_age: default: 20 description: - Maximum age in seconds of the information transmitted by the bridge when it is the root bridge - Range 6-40 type: int portfast: default: false description: - Enables PortFast globally on all access ports - Configurable for pvst protocol type: bool root_guard_timeout: description: - Specifies root guard recovery timeout in seconds before the port is moved back to forwarding state - Range 5-600 type: int type: dict interfaces: description: - Interfaces STP configuration elements: dict suboptions: bpdu_filter: default: false description: - Enables edge port BPDU filter type: bool bpdu_guard: default: false description: - Enable edge port BPDU guard type: bool cost: description: - The port's contribution, when it is the root port, to the root path cost for the bridge type: int edge_port: default: false description: - Configure interface as an STP edge port type: bool guard: choices: - loop - root - none description: - Enables root guard or loop guard type: str intf_name: description: - Name of interface required: true type: str link_type: choices: - point-to-point - shared description: - Specifies the interface's link type type: str port_priority: description: - The manageable component of the port identifier - Range 0-240 type: int portfast: default: false description: - Enable/Disable portfast on specified interface - Configurable for pvst protocol type: bool shutdown: default: false description: - Port to be shutdown when it receives a BPDU type: bool stp_enable: default: true description: - Enables STP on the interface type: bool uplink_fast: default: false description: - Enables uplink fast type: bool type: list mstp: description: - Multi STP configuration suboptions: fwd_delay: description: - Delay in seconds used by STP bridges to transition root and designated ports to forwarding - Range 4-30 type: int hello_time: description: - Interval in seconds between periodic transmissions of configuration messages by designated ports - Range 1-10 type: int max_age: description: - Maximum age in seconds of the information transmitted by the bridge when it is the root bridge - Range 6-40 type: int max_hop: description: - Number of bridges in an MST region that a BPDU can traverse before it is discarded type: int mst_instances: description: - Configuration for MST instances elements: dict suboptions: bridge_priority: description: - The manageable component of the bridge identifier - Value must be a multiple of 4096 type: int interfaces: description: - List of STP enabled interfaces elements: dict suboptions: cost: description: - The port's contribution, when it is the root port, to the root path cost for the bridge type: int intf_name: description: - Reference to the STP interface required: true type: str port_priority: description: - The manageable component of the port identifier type: int type: list mst_id: description: - Value used to identify MST instance required: true type: int vlans: description: - List of VLANs mapped to the MST instance. The value of a list item can be a single VLAN ID or a range of VLAN IDs - separated by '-' or '..'; for example 70-100 or 70..100. elements: str type: list type: list mst_name: description: - Name of the MST configuration identifier type: str revision: description: - Revision level of the MST configuration identifier type: int type: dict pvst: description: - Per VLAN STP configuration elements: dict suboptions: bridge_priority: description: - The manageable component of the bridge identifier - Value must be a multiple of 4096 type: int fwd_delay: description: - Delay in seconds used by STP bridges to transition root and designated ports to forwarding - Range 4-30 type: int hello_time: description: - Interval in seconds between periodic transmissions of configuration messages by designated ports - Range 1-10 type: int interfaces: description: - List of STP enabled interfaces elements: dict suboptions: cost: description: - The port's contribution, when it is the root port, to the root path cost for the bridge type: int intf_name: description: - Reference to the STP interface required: true type: str port_priority: description: - The manageable component of the port identifier type: int type: list max_age: description: - Maximum age in seconds of the information transmitted by the bridge when it is the root bridge - Range 6-40 type: int vlan_id: description: - VLAN identifier required: true type: int type: list rapid_pvst: description: - Rapid per VLAN STP configuration elements: dict suboptions: bridge_priority: description: - The manageable component of the bridge identifier - Value must be a multiple of 4096 type: int fwd_delay: description: - Delay in seconds used by STP bridges to transition root and designated ports to forwarding - Range 4-30 type: int hello_time: description: - Interval in seconds between periodic transmissions of configuration messages by designated ports - Range 1-10 type: int interfaces: description: - List of STP enabled interfaces elements: dict suboptions: cost: description: - The port's contribution, when it is the root port, to the root path cost for the bridge type: int intf_name: description: - Reference to the STP interface required: true type: str port_priority: description: - The manageable component of the port identifier type: int type: list max_age: description: - Maximum age in seconds of the information transmitted by the bridge when it is the root bridge - Range 6-40 type: int vlan_id: description: - VLAN identifier required: true type: int type: list type: dict
after: description: The resulting configuration model invocation. returned: when changed sample: 'The configuration returned will always be in the same format of the parameters above. ' type: list before: description: The configuration prior to the model invocation. returned: always sample: 'The configuration returned will always be in the same format of the parameters above. ' type: list commands: description: The set of commands pushed to the remote device. returned: always sample: - command 1 - command 2 - command 3 type: list