MST BPDU Packet Capture

This packet capture contains MST (Multiple Spanning Tree) BPDUs between two Cisco switches. Where PVST+ sends a separate BPDU for every VLAN, MST sends one BPDU per port that carries everything: the CIST information in the normal BPDU fields, followed by an MST extension with the region configuration and one record for each MST instance.

You can read the whole region design from one frame: the region name and revision, and for each instance which switch is the root and what role this port plays. The MST lesson covers instances, regions and the configuration, and the PVST+ IEEE and SSTP BPDU Packet Capture shows the per-VLAN approach. More captures are in the Packet Capture Library.

Want to open this capture in Wireshark yourself? The pcap file is free with a NetworkLessons account. Your free account also unlocks all our free lessons and every capture in the Packet Capture Library.

Create a free account to download the pcap

Already have an account? Log in and the download button appears here.

Capture overview

File mst-bpdu-msti-records.pcapng
Packets 2
Protocol MSTP (IEEE 802.1s, now 802.1Q), BPDU version 3
Encapsulation IEEE 802.3 with LLC, destination 01:80:c2:00:00:00
Devices Cisco IOS switches SW1 (aa:bb:cc:00:6d:00) and SW2 (aa:bb:cc:00:6e:00), region NWL with instances 1 and 2
Wireshark filter stp.version == 3 or stp

Packets in this capture

No.  Time      Source             Destination              Protocol  Info
1    0.000000  aa:bb:cc:00:6d:00  Nearest-Customer-Bridge  STP       MST. Root = 4096/0/aa:bb:cc:00:6d:00 Cost = 0 Port = 0x8001
2    1.311292  aa:bb:cc:00:6e:00  Nearest-Customer-Bridge  STP       MST. Root = 4096/0/aa:bb:cc:00:6d:00 Cost = 0 Port = 0x8001

Packet walkthrough

MST BPDU from SW1 (packet 1)

Spanning Tree Protocol
    Protocol Identifier: Spanning Tree Protocol (0x0000)
    Protocol Version Identifier: Multiple Spanning Tree (3)
    BPDU Type: Rapid/Multiple Spanning Tree (0x02)
    BPDU flags: 0x7c, Agreement, Forwarding, Learning, Port Role: Designated
        .1.. .... = Agreement: Yes
        ..1. .... = Forwarding: Yes
        ...1 .... = Learning: Yes
        .... 11.. = Port Role: Designated (3)
    Root Identifier: 4096 / 0 / aa:bb:cc:00:6d:00
        Root Bridge Priority: 4096
        Root Bridge System ID: aa:bb:cc:00:6d:00 (aa:bb:cc:00:6d:00)
    Root Path Cost: 0
    Bridge Identifier: 4096 / 0 / aa:bb:cc:00:6d:00
        Bridge Priority: 4096
        Bridge System ID: aa:bb:cc:00:6d:00 (aa:bb:cc:00:6d:00)
    Port identifier: 0x8001
    Message Age: 0
    Max Age: 20
    Hello Time: 2
    Forward Delay: 15
    Version 3 Length: 96
    MST Extension
        MST Config ID format selector: 0
        MST Config name: NWL
        MST Config revision: 1
        MST Config digest: ca136a235706b316c8db8f921067a68f
        CIST Internal Root Path Cost: 0
        CIST Bridge Identifier: 4096 / 0 / aa:bb:cc:00:6d:00
            CIST Bridge Priority: 4096
            CIST Bridge Identifier System ID: aa:bb:cc:00:6d:00 (aa:bb:cc:00:6d:00)
        CIST Remaining hops: 20
        MSTID 1, Regional Root Identifier 8192 / aa:bb:cc:00:6d:00
            MSTI flags: 0x7c, Agreement, Forwarding, Learning, Port Role: Designated
                .1.. .... = Agreement: Yes
                ..1. .... = Forwarding: Yes
                ...1 .... = Learning: Yes
                .... 11.. = Port Role: Designated (3)
            0010 .... = Priority: 0x2
            .... 0000 0000 0001 = MSTID: 1
            Regional Root: aa:bb:cc:00:6d:00 (aa:bb:cc:00:6d:00)
            Internal root path cost: 0
            Bridge Identifier Priority: 2
            Port identifier priority: 8
            Remaining hops: 20
        MSTID 2, Regional Root Identifier 8192 / aa:bb:cc:00:6e:00
            MSTI flags: 0x78, Agreement, Forwarding, Learning, Port Role: Root
                .1.. .... = Agreement: Yes
                ..1. .... = Forwarding: Yes
                ...1 .... = Learning: Yes
                .... 10.. = Port Role: Root (2)
            0010 .... = Priority: 0x2
            .... 0000 0000 0010 = MSTID: 2
            Regional Root: aa:bb:cc:00:6e:00 (aa:bb:cc:00:6e:00)
            Internal root path cost: 2000000
            Bridge Identifier Priority: 8
            Port identifier priority: 8
            Remaining hops: 20

Let’s walk through the highlighted fields:

  • Protocol version 3, BPDU type 0x02: an MST BPDU. Version 2 would be RSTP, version 0 classic STP. The first 36 bytes look like an RSTP BPDU, so a switch that doesn’t run MST still understands the CIST part.
  • Root Identifier 4096 / 0 / aa:bb:cc:00:6d:00: the CIST root (for instance 0). SW1 is the root, with priority 4096.
  • MST Config name NWL, revision 1, and digest: these three define the region. The digest is a hash of the VLAN-to-instance mapping. Two switches are only in the same region if all three match. A mismatch is the most common MST problem, and this is where you see it.
  • CIST Remaining hops 20: MST counts hops inside a region instead of using message age.
  • MSTID 1: regional root SW1 (priority 8192), port role Designated. SW1 is the root for instance 1, so its port is designated.
  • MSTID 2: regional root SW2 (aa:bb:cc:00:6e:00), internal root path cost 2,000,000, port role Root. For instance 2, the other switch is the root, and this port is SW1’s path to it. SW1’s own bridge priority for this instance is 8 (× 4096 = 32768).
  • Every MSTI record has its own flags, priority, root path cost and remaining hops. That’s how one BPDU can carry a different topology per instance.

MST BPDU from SW2 (packet 2)

Packet 2 is SW2’s BPDU on the same link. It has the same region name, revision and digest, so both switches are in one region. For MSTID 2, SW2 reports itself as the regional root.