BPDU

Configuring BPDU filtering

The STP BPDU filter feature allows control of spanning tree participation on a per-port basis. It can be used to exclude specific ports from becoming part of spanning tree operations. A port with the BPDU filter enabled will ignore incoming BPDU packets and stay locked in the spanning tree forwarding state. All other ports will maintain their role.

Syntax:

[no] spanning-tree [ port-list all] bpdu-filter

Enables or disables the BPDU filter feature on specified port(s). This forces a port to always stay in the forwarding state and be excluded from standard STP operation.

Sample scenarios in which this feature may be used are:

  • To have STP operations running on selected ports of the switch rather than every port of the switch at a time.

  • To prevent the spread of errant BPDU frames.

  • To eliminate the need for a topology change when a port's link status changes. For example, ports that connect to servers and workstations can be configured to remain outside of spanning tree operations.

  • To protect the network from denial of service attacks that use spoofing BPDUs by dropping incoming BPDU frames. For this scenario, BPDU protection offers a more secure alternative, implementing port shut down and a detection alert when errant BPDU frames are received.


[CAUTION: ]

CAUTION: Ports configured with the BPDU filter mode remain active (learning and forward frames); however, spanning tree cannot receive or transmit BPDUs on the port. The port remains in a forwarding state, permitting all broadcast traffic. This can create a network storm if there are any loops (that is, trunks or redundant links) using these ports. If you suddenly have a high load, disconnect the link and disable the bpdu-filter (using the no command).


Configuring BPDU filtering

To configure BPDU filtering on port a9, enter:

HP Switch(config)#: spanning-tree a9 bpdu-filter

Viewing BPDU filtering

Syntax:

spanning-tree show port configuration

Displays the BPDU filter state.

Viewing BPDU filter status using the show spanning tree command

Viewing BPDU filters using the show configuration command

BPDU filters per port are displayed as separate entries of the spanning tree category within the configuration file.

Enabling and disabling BPDU protection

Syntax:

[no] spanning-tree port-list bpdu-protection

Enables or disables BPDU protection on specified port(s).

Syntax:

[no] spanning-tree port-list bpdu-protection-timeout timeout

Configures the duration in seconds when protected ports receiving unauthorized BPDUs will remain disabled. The default value of 0 (zero) sets an infinite timeout (that is, ports that are disabled by bpdu-protection are not, by default, re-enabled automatically).

Range: 0-65535 seconds

Default: 0

Syntax:

[no] spanning-tree trap errant-bpdu

Enables or disables the sending of errant BPDU traps.


[CAUTION: ]

CAUTION: This command should only be used to guard edge ports that are not expected to participate in STP operations. Once BPDU protection is enabled, it will disable the port as soon as any BPDU packet is received on that interface.


Configuring BPDU protection

To configure BPDU protection on ports 1 to 10 with SNMP traps enabled, enter:

HP Switch(config)#: spanning-tree 1-10 bpdu protection
HP Switch(config)#: spanning-tree trap errant-bpdu

The following steps will then be set in progress:

  1. When an STP BPDU packet is received on ports 1-10, STP treats it as an unauthorized transmission attempt and shuts down the port that the BPDU came in on.

  2. An event message is logged and an SNMP notification trap is generated.

  3. The port remains disabled until re-enabled manually by a network administrator using the interfaceport-list enable command.


[NOTE: ]

NOTE: To re-enable the BPDU-protected ports automatically, configure a timeout period using the spanning-tree bpdu-protection-timeout command.


Viewing BPDU protection status

Syntax:

show spanning-tree bpdu-protection

Displays a summary listing of ports with BPDU protection enabled. To display detailed per port status information, enter the specific port numbers as shown here.

Viewing BPDU protection status

Viewing BPDU protection status

BPDU protected ports are displayed as separate entries of the spanning tree category within the configuration file.

Viewing BPDU filters using the show configuration command

Viewing BPDU filters using the show configuration command

MSTP BPDU throttling

Overview

When a STP enabled HP Switch is hit by a MSTP BPDU storm, the CPU usage rises and the manageability of the switch goes down. In BYOD solution , the HP Switch is connected to a HUB where there is a loop. The HP Switch generates a single MSTP BPDU, which goes through the loop in the HUB and results in a BPDU storm eventually. Since all STP packets are taken to the CPU for processing, CPU usage goes high and the switch response slows down. The switch can become unmanageable as a result of this BPDU storm. BPDU throttling will take care of BPDU storms automatically via rate-limiting.

MSTP BPDU path

MSTP BPDU path

BPDU throttling is enabled when the spanning-tree in MSTP mode is enabled. When spanning tree is enabled, all modules and members are assigned corresponding throttle values from the configuration. The default throttle value is 256.

An option is also provided to enabling/disabling BPDU throttling. This option is enabled by default if the switch does not support “V1 modules”. The spanning-tree is enabled in MSTP mode by default.

Configuring MSTP BPDU throttling

The CLI allows you to configure MSTP BPDU throttling.

Configuring MSTP BPDU throttling

Syntax

[no]spanning-tree bpdu-throttle [Throttle-Value]

Configures BPDU throttling on a device. BPDU throttling limits the number of BPDUs that are sent to the switch’s CPU. The result prevents high CPU utilization on the switch when the network undergoes a broadcast storm or loop. The BPDU throttle value is in packets per second (pps). The valid BPDU throttle values are 64, 128, and 256 pps. The default throttle value is 256 pps.

Show MSTP BPDU configuration

The CLI allows you to show MSTP BPDU throttling configurations.

Syntax

show spanning-tree bpdu-throttle

Displays the configured throttle value.

Example
Show spanning-tree bpdu-throttle
BPDU Throttling State  : Enabled
BPDU Throttle value    : 256
Show running configuration
Syntax

show running configuration

Show running configuration will display any one of the following line based on the configuration.

no spanning-tree bpdu throttle
spanning-tree bpdu throttle 128
spanning-tree bpdu throttle 64

Event Log

Event log

Event Message

When the HW meter goes over the bandwidth, system generates a log message.

stp: BPDU Throttling triggered for STP BPDUs on portGroup 1-24.

On a 5400 series switch, when allow-v1-modules is enabled, BPDU throttling is disabled and the system generates a log message.

stp: BPDU Throttling is disabled, because allow-v1-module is enabled.

When QinQ is enabled, BPDU throttling is disabled and the system generates a log message.

stp: BPDU Throttling is disabled, because QinQ is enabled.

When meshing is enabled, BPDU throttling is disabled and the system generates a log message.

stp: BPDU Throttling is disabled, because Meshing is enabled.

Validation Rules

Validation rules

Validation Error/Warning/Prompt

Throttle value not within the range of 64 to 256.

The BPDU throttle value is invalid. The valid values are 64, 128 and 256.

Configuring lower throttle value (64).

Configuring lower throttle value may cause legitimate BPDU’s to be dropped.

Enabling QinQ when BPDU throttling is configured.

Q-in-Q cannot be enabled when BPDU throttling is configured.

Configuring BPDU throttling when QinQ is enabled.

BPDU throttling cannot be configured when Q-in-Q is enabled.

Configuring BPDU throttling when meshing is configured.

BPDU throttling cannot be configured when meshing is configured.

Configuring meshing when BPDU throttling is configured.

Meshing cannot be configured when BPDU throttling is configured.


[NOTE: ]

NOTE: This feature is exclusively for MSTP BPDUs and not applicable for any other IEEE BPDUs such as LLDP, slow protocols etc.