With release of NX-OS 5.2, Cisco started supporting peer-switch feature on Nexus 5K. When peer-switch is enabled, both VPC primary and secondary switches originate STP BPDUs on vPC ports and use the same designated bridge ID on vPC ports. This got me wandering what brige ID vPC primary switch uses when peer-switch is not enabled. I set up vPC switch-pair with downstream switch connected via vPC port-channel. The switches are running MST. Here is partial BPDU captured on downstream Nexus switch with command:
ethanalyzer local interface inbound-hi display-filter "stp" limit-captured-frames 20
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)
Root Identifier: 8192 / 0 / 54:7f:ee:01:15:81
Root Path Cost: 0
Bridge Identifier: 8192 / 0 / 54:7f:ee:01:15:81
Port identifier: 0x9063
Message Age: 0
Max Age: 20
Hello Time: 2
Forward Delay: 15
Version 1 Length: 0
Version 3 Length: 96
MST Extension
MST Config ID format selector: 0
MST Config name: blp-mst-Region-1
MST Config revision: 2
MST Config digest: d7e7e4984e26acd301b955c5289031ad
CIST Internal Root Path Cost: 0
CIST Bridge Identifier: 8192 / 0 / 00:23:04:ee:be:01
CIST Bridge Priority: 8192
CIST Bridge Identifier System ID Extension: 0
CIST Bridge Identifier System ID: 00:23:04:ee:be:01
CIST Remaining hops: 20
MSTID 1, Regional Root Identifier 8192 / 54:7f:ee:01:15:81
MSTID 2, Regional Root Identifier 8192 / 54:7f:ee:01:15:81
Note "Bridge Identifier" and "CIST Bridge Identifier". They are different. The former is "vPC local system-mac" and latter is "vPC system-mac". They can be found in "show vpc role" output:
nexus-primary# show vpc role
vPC Role status
----------------------------------------------------
vPC role : primary
Dual Active Detection Status : 0
vPC system-mac : 00:23:04:ee:be:01
vPC system-priority : 32667
vPC local system-mac : 54:7f:ee:01:15:81
vPC local role-priority : 8192
Here we can see, that without peer-switch enabled Nexus switch uses 2 different bridge IDs in the same BPDU. Why does it do it? I reached out to Cisco and will update when I hear anything.
When peer-switch is enabled, both vPC primary and secondary switches originate BPDUs on vPC ports and "Bridge Identifier" and "CIST Bridge Identifier" are the same and equal to "vPC system-mac"