Multiple instance spanning tree operation


[NOTE: ]

NOTE: All commands previously in the Summary of commands table are indexed under the entry Command syntax.


MSTP

Planning an MSTP application

Before configuring MSTP, keep in mind the following tips and considerations:

  • Be sure that the VLAN configuration in your network supports all of the forwarding paths necessary for the desired connectivity. All ports connecting one switch to another within a region and one switch to another between regions should be configured as members of all VLANs configured in the region.

  • Configure all ports or trunks connecting one switch to another within a region as members of all VLANs in the region. Otherwise, some VLANs could be blocked from access to the spanning tree root for an instance or for the region.

  • Plan individual regions based on VLAN groupings. That is, plan on all MSTP switches in a given region supporting the same set of VLANs. Within each region, determine the VLAN membership for each spanning tree instance. (Each instance represents a single forwarding path for all VLANs in that instance.)

  • Verify that there is one logical spanning tree path through the following:

    • Any inter-regional links

    • Any IST (Internal Spanning Tree) or MST instance within a region

    • Any legacy (802.1D or 802.1w) switch or group of switches. (Where multiple paths exist between an MST region and a legacy switch, expect the CST (Common Spanning Tree) to block all but one such path.)

  • Determine the root bridge and root port for each instance.

  • Determine the designated bridge and designated port for each LAN segment.

  • Determine which VLANs to assign to each instance, and use port trunks with 802.1Q VLAN tagging where separate links for separate VLANs would result in a blocked link preventing communication between nodes on the same VLAN.

  • Identify the edge ports connected to end nodes and enable the admin-edge-port setting for these ports. Leave the admin-edge-port setting disabled for ports connected to another switch, a bridge, or a half-duplex repeater.

Configuring MSTP at a glance

The general steps for configuring MSTP via the CLI are:

  1. Configure MSTP global parameters. This involves:

    • Selecting MSTP as the spanning tree mode:spanning-tree mode mstp

    • Clearing spanning tree debug counters:

      spanning-tree clear-debug-counters

    • Specifying required parameters for MST region identity:

      Region Name:spanning-tree config-name

      Region Revision Number:spanning-tree config-revision

    • Optionally, specifying MSTP parameter changes for region settings:

      HP recommends that you leave these parameters at their default settings for most networks. See the Caution below.

      • The maximum number of hops before the MSTP BPDU (Bridge Protocol Data Unit) is discarded: spanning-tree max-hops (default: 20)

      • Force-Version operation: spanning-tree force-version

      • Forward Delay: spanning-tree forward-delay

      • Hello Time (if it is the root device): spanning-tree hello-time

      • Maximum age to allow for STP packets before discarding: spanning-tree maximum-age

      • Device spanning tree priority. Specifies the priority value used along with the switch MAC address to determine which device is root. The lower a priority value, the higher the priority: spanning-tree priority

    • Enabling SNMP traps:

      [no] spanning-tree trap { errant-bpdu | loop-guard | new-root | root-guard }


    [CAUTION: ]

    CAUTION: When you enable MSTP on the switch, the default MSTP spanning tree configuration settings comply with the values recommended in the IEEE 802.1s Multiple Spanning Tree Protocol (MSTP) standard. Note that inappropriate changes to these settings can result in severely degraded network performance. For this reason, HP strongly recommends that changing these default settings be reserved only for experienced network administrators who have a strong understanding of the IEEE 802.1D/w/s standards and operation.


  2. Configure per port parameters. HP recommends that you use the default settings for these parameters and apply changes on a per-port basis only where a non-default setting is clearly indicated by the circumstances of individual links. Other features you might consider include BPDU Filtering or BPDU Protection—these provide additional per-port control over spanning tree operations and security on the switch.

  3. Configure MST instances. Configure one instance for each VLAN group that you want to operate as an active topology within the region to which the switch belongs. When you create the instance, you must include a minimum of one VID. You can add more VIDs later if desired. Use the following command:

    spanning-tree instance n vlan vid

    To move a VLAN from one instance to another, first use no spanning-tree instance n vlan vid to remove the mapping from the VLAN from the current instance, then add the VLAN to the other instance. (While the VLAN mapping is removed from an MSTI, it is associated with the region's IST instance.)

  4. Configure the priority for each instance with the following command: spanning-tree instance n priority n

  5. Configure MST instance port parameters. HP recommends that you apply changes on a per-port basis only where a non-default setting is clearly indicated by the circumstances of individual links. For example, you might want to set the path cost value for the ist or for the ports used by a specific MST instance. Use the following command:

    Syntax

    spanning-tree instance ist | 1..16 port-list path-cost
    [ auto | 1..200000000 ]

    Alternatively, leaving this setting at the default (auto) allows the switch to calculate the path-cost from the link speed.

  6. Enable spanning tree operation on the switch with the spanning-tree command.

Configuring MSTP operation mode and global settings

The commands in this section apply at the switch (global) level.

Selecting MSTP as the spanning tree mode

Syntax:

spanning-tree mode mstp

Specifies that spanning tree will run in MSTP mode.

Clearing spanning tree debug counters

Syntax:

spanning-tree clear-debug-counters

Clears spanning tree debug counters.

Resetting the configuration name of the MST region in which a switch resides

Syntax:

[no] spanning-tree config-name ascii-string

Resets the configuration name of the MST region in which the switch resides. This name can include up to 32 nonblank characters and is case-sensitive. On all switches within a given MST region, the configuration names must be identical. For more than one MSTP switch in the same MST region, the identical region name must be configured on all such switches. If the default configuration name is retained on a switch, it cannot exist in the same MST region with another switch.

The default name is a text string using the hexadecimal representation of the switch's MAC address.

The no form of the command overwrites the currently configured name with the default name.


[NOTE: ]

NOTE: This option is available only when the switch is configured for MSTP operation. There is no defined limit on the number of regions you can configure.


Designating the revision number of the MST region for a switch

Syntax:

spanning-tree config-revision revision-number

Configures the revision number designated for the MST region in which you want the switch to reside. This setting must be the same for all switches residing in the same region. Use this setting to differentiate between region configurations in situations such as the following:

  • Changing configuration settings within a region where you want to track the configuration versions you use

  • Creating a new region from a subset of switches in a current region and want to maintain the same region name.

  • Using the pending option to maintain two different configuration options for the same physical region.

This setting must be the same for all MSTP switches in the same MST region.

Range: 0 - 65535

Default: 0


[NOTE: ]

NOTE: This option is available only when the switch is configured for MSTP operation.


Setting the spanning tree compatibility mode

Syntax:

spanning-tree force-version [ stp-compatible | rstp-operation | mstp-operation ]

Sets the spanning tree compatibility mode. This command forces the switch to emulate behavior of earlier versions of spanning tree protocol, or return to MSTP behavior. The command is useful in test or debug applications, and removes the need to reconfigure the switch for temporary changes in spanning tree operation.

stp-compatible

The switch applies 802.1D STP operation on all ports.

rstp-operation

The switch applies 802.1w operation on all ports except those ports where it detects a system using 802.1D Spanning Tree. RSTP is Rapid Spanning Tree Protocol.

mstp-operation

The switch applies 802.1s MSTP operation on all ports where compatibility with 802.1D or 802.1w spanning tree protocols is not required.


[NOTE: ]

NOTE: Even when mstp-operation is selected, if the switch detects an 802.1D BPDU or an 802.1w BPDU on a port, it communicates with the device linked to that port using STP or RSTP BPDU packets. Also, if errors are encountered as described in Configuring MSTP at a glance, setting force-version to stp-compatible forces the MSTP switch to communicate out all ports using operations that are compatible with IEEE 802.1D STP.



[NOTE: ]

NOTE: When using MSTP rapid state transitions

Under some circumstances the rapid state transitions employed by MSTP can increase the rates of frame duplication and incorrect ordering in the switched LAN. To allow MSTP switches to support applications and protocols that may be sensitive to frame duplication and incorrect ordering, setting the Force Protocol Version (force-version) parameter to stp-compatible allows MSTP to operate with rapid transitions disabled. The value of this parameter applies to all ports on the switch.


Setting the time interval between listening, learning and forwarding states

Syntax:

spanning-tree forward-delay

Sets the time the switch waits between transitions from listening to learning and from learning to forwarding states.

Range: 4 - 30

Default: 15 seconds

Setting spanning tree to operate in 802. ID legacy mode

Syntax:

[no] spanning-tree legacy-mode

Forces spanning tree to operate in legacy (802.!D) mode.

Default: MSTP-operation.

The no form of this command returns the switch to the default 802.1s native mode (MSTP-operation.)

Setting spanning tree to operate with 802. ID legacy path cost values

Syntax:

spanning-tree legacy-path-cost

Forces spanning tree to operate with legacy (802.!D) path cost values.

Default: 802.1t.

The no form of the command returns the switch to the default 802.1t (not legacy) path cost values.

Specifying the time interval between BPDU transmissions

Syntax:

spanning-tree hello-time 1..10

If MSTP is running and the switch is operating as the CIST (Common and Internal Spanning Tree) root for your network, this command specifies the time in seconds between transmissions of BPDUs for all ports on the switch configured with the Global option (the default). This parameter applies in MSTP, RSTP and STP modes.

During MSTP operation, you can override this global setting on a per-port basis with this command: spanning-tree port-list hello-time 1..10 .

Default: 2 seconds.

Setting the hop limit for BPDUs

Syntax:

spanning-tree max-hops hop-count

Resets the number of hops allowed for BPDUs in an MST region. When an MSTP switch receives a BPDU, it decrements the hop-count setting the BPDU carries. If the hop-count reaches zero, the receiving switch drops the BPDU.

Note that the switch does not change the message-age and maximum-age data carried in the BPDU as it moves through the MST region and is propagated to other regions.

Range: 1 - 40

Default: 20

Setting the maximum age of received STP information

Syntax:

spanning-tree maximum age

Sets the maximum age time for received STP information before it is discarded.

Default: 20 seconds

Manipulating the pending MSTP configuration

Syntax:

spanning-tree pending [ apply | config-name | config-revision | instance | reset ]

Manipulates the pending MSTP configuration. The command is useful in test or debug applications, and enables rapid reconfiguration of the switch for changes in spanning tree operation.

apply

Applies pending MSTP configuration (swaps active and pending configurations).

config-name

Sets the pending MST region configuration name. Default is the switch's MAC address.

config-revision

Sets the pending MST region configuration revision number. Default is 0.

instance

Change pending MST instance configuration.

reset

Copies the active configuration to pending.

Setting the bridge priority for a region and determining the root switch

Syntax:

spanning-tree priority priority-multiplier

Every switch running an instance of MSTP has a Bridge Identifier, which is a unique identifier that helps distinguish this switch from all others. The switch with the lowest Bridge Identifier is elected as the root for the tree.

The Bridge Identifier is composed of a configurable priority component (2 bytes) and the bridge's MAC address (6 bytes). You can change the priority component provides flexibility in determining which switch will be the root for the tree, regardless of its MAC address.

This command sets the switch (bridge) priority for the designated region in which the switch resides. The switch compares this priority with the priorities of other switches in the same region to determine the root switch for the region. The lower the priority value, the higher the priority. If there is only one switch in the region, then that switch is the root switch for the region. The root bridge in a region provides the path to connected regions for the traffic in VLANs assigned to the region's IST instance. Traffic in VLANs assigned to a numbered STP instance in a given region moves to other regions through the root switch for that instance.

The priority range for an MSTP switch is 0-61440. However, this command specifies the priority as a multiplier (0 - 15) of 4096. That is, when you specify a priority multiplier value of 0 - 15, the actual priority assigned to the switch is: (priority-multiplier) x 4096

For example, with 2 as the priority-multiplier on a given MSTP switch, the Switch Priority setting is 8,192.


[NOTE: ]

NOTE: If multiple switches in the same MST region have the same priority setting, then the switch with the lowest MAC address becomes the root switch for that region.


Enabling SNMP traps

Syntax:

[no] spanning-tree trap { errant-bpdu | loop-guard | new-root |
root-guard }

Enables or disables SNMP traps for errant-BPDU, loop guard, new root, and root guard event notifications. Note that this command is designed to be used in conjunction with the spanning-tree bpdu-filter command and the bpdu-protection command.

errant-bpdu

Enables SNMP notification when an errant BPDU is received. Designed for use with BPDU filtering.

loop-guard

Enables SNMP notification when a loop guard inconsistency is detected. Designed for use with the Loop Guard option.

new-root

Enables SNMP notification when a new root is elected on any VLAN configured for MSTP on the switch.

root-guard

Enables SNMP notification when a root guard inconsistency is detected.

Default for all of the above options: Disabled

The no form of the command disables traps on the switch.

Configuring MSTP per-port parameters

In an MSTP topology, per-port parameters are set in the global configuration context. In most cases, HP recommends that you use the default settings for these parameters and apply changes on a per-port basis only where a non-default setting is clearly indicated by the circumstances of individual links. Some port parameters (such as admin-edge-port) affect all MSTI instances that consist of VLANs configured on the port. Other port parameters (such as path-cost) affect only the specified MST.

Enabling immediate transition to forwarding on end nodes

Syntax:

[no] spanning-tree port-list admin-edge-port

Enables admin-edge-port on ports connected to end nodes. During spanning tree establishment, ports with admin-edge-port enabled transition immediately to the forwarding state. If a bridge or switch is detected on the segment, the port automatically operates as non-edge, not enabled.

Default: Disabled

If admin-edge-port is disabled on a port and auto-edge-port has not been disabled, the auto-edge-port setting controls the behavior of the port.

The no form of this command disables edge port operation on the specified ports.

Identifying edge ports automatically

Syntax:

[no] spanning-tree port-list auto-edge-port

Enables automatic identification of edge ports for faster convergence. When enabled, the port looks for BPDUs for the first 3 seconds. If there are none, the port is classified as an edge port and immediately starts forwarding packets. If BPDUs are seen on the port, the port is classified as a non‐edge port and normal STP operation commences on that port.

If admin-edge-port is enabled for a port, the setting for auto-edge-port is ignored whether set to yes or no.

If admin-edge-port is set to no, and auto-edge-port has not been disabled (set to no), then the auto-edge-port setting controls the behavior of the port.


[NOTE: ]

NOTE: See“Caution”. Requires thorough knowledge of IEEE 802.1D/w/s standards and operation.


Default: Enabled

The no form of this command disables auto-edge-port operation on the specified ports.

Specifying the interval between BPDU transmissions

Syntax:

spanning-tree port-list hello-time [ global | 1 - 10 ]

When the switch is the CIST root, this parameter specifies the interval (in seconds) between periodic BPDU transmissions by the designated ports. This interval also applies to all ports in all switches downstream from each port in the port-list.

A setting of global indicates that the ports in port-list on the CIST root are using the value set by the global spanning tree hello-time value.

When a given switch X is not the CIST root, the per-port hello-time for all active ports on switch X is propagated from the CIST root, and is the same as the hello-time in use on the CIST root port in the currently active path from switch X to the CIST root. When switch X is not the CIST root, then the upstream CIST root's port hello-time setting overrides the hello-time setting configured on switch X.

Default Per-Port setting: Use Global.

Default Global Hello-Time: 2.

Forcing a port to send RST/MST BPDUs

Syntax:

spanning-tree port-list mcheck

Forces a port to send RST/MST BPDUs for 3 seconds. This tests whether all STP bridges on the attached LAN have been removed and the port can migrate to native MSTP mode and use RST/MST BPDUs for transmission.

Determining which ports are forwarding ports by assigning port cost

Syntax:

spanning-tree port-list path-cost [ auto | 1..200000000 ]

Assigns an individual port cost that the switch uses to determine which ports are forwarding ports in a given spanning tree. In the default configuration (auto) the switch determines a port's path cost by the port's type:

10 Mbps

2000000

100 Mbps

200000

1 Gbps

20000

Default: Auto

Informing the switch of the device type to which a port connects

Syntax:

spanning-tree port-list point-to-point-mac [ true | false | auto ]

Informs the switch of the type of device to which a specific port connects.

true

(Default) Indicates a point-to-point link to a device such as a switch, bridge, or end-node.

false

Indicates a connection to a half-duplex repeater (which is a shared LAN segment).

auto

Causes the switch to set Force-False on the port if it is not running at full duplex.

Determining which port to use for forwarding

Syntax:

spanning-tree port-list priority priority-multiplier

MSTP uses this parameter to determine the port to use for forwarding. The port with the lowest priority number has the highest priority for use.

The range is 0 to 240, and is configured by specifying a multiplier from 0 - 15. When you specify a priority multiplier of 0 - 15, the actual priority assigned to the switch is:

(priority-multiplier) x 16

If you configure 2 as the priority multiplier on a given port, the actual Priority setting is 32. After specifying the port priority multiplier, the switch displays the actual port priority (and not the multiplier) in the show spanning-tree or show spanning-tree port-list displays.

You can view the actual multiplier setting for ports by executing show running and looking for an entry in this format:

spanning-treeport-list priority priority-multiplier

For example, configuring port A2 with a priority multiplier of 3 results in the following line in the show running output:

spanning-tree A2 priority 3

Denying a port the role of root port

Syntax:

spanning-treeport-list root-guard

When a port is enabled as root-guard, it cannot be selected as the root port even if it receives superior STP BPDUs. The port is assigned an "alternate" port role and enters a blocking state if it receives superior STP BPDUs.

A superior BPDU contains both "better" information on the root bridge and path cost to the root bridge, which would normally replace the current root bridge selection.

The superior BPDUs received on a port enabled as root-guard are ignored. All other BPDUs are accepted and the external devices may belong to the spanning tree as long as they do not claim to be the Root device.

Use this command on MSTP switch ports that are connected to devices located in other administrative network domains to:

  • Ensure the stability of the core MSTP network topology so that undesired or damaging influences external to the network do not enter.

  • Protect the configuration of the CIST root bridge that serves as the common root for the entire network.

Default: Disabled

Denying a port propagation change information

Syntax:

spanning-tree port-list tcn-guard

When enabled for a port, this causes the port to stop propagating received topology change notifications and topology changes to other ports.

Default: Disabled