Support Support Downloads Knowledge Base Case Manager My Juniper Community

Knowledge Base

Search our Knowledge Base sites to find answers to your questions.

Ask All Knowledge Base Sites All Knowledge Base Sites JunosE Defect (KA)Knowledge BaseSecurity AdvisoriesTechnical BulletinsTechnotes Sign in to display secure content and recently viewed articles

EX-Series Switch Multiple Spanning Tree (MST) Interoperability issues with other switches



Article ID: KB11362 KB Last Updated: 04 Mar 2017Version: 4.0

It is been observed that the implementation of Multiple Spanning Tree (MST) differs in various vendor switches.  Few vendors use proprietary hashing algorithm while exchanging Bridge Protocol Data Units (BDPU) or use pre-standard MSTP method of BPDU exchanges.  The EX-Series Switch uses post standard method of exchanging BPDUs.

Whenever EX-Series Switches interoperate with switches which use pre-standard MSTP, it fails to recognize BPDUs and it leads to a spanning tree convergence failure between the two switches.



The EX-Series Switches (EX3200 and EX4200) support Multiple Spanning Tree (MST); the multiple spanning tree originally defined in the IEEE 802.1s draft and later incorporated into the IEEE 802.1Q-2003 specification.  MST extends the IEEE 802.1w rapid spanning tree (RST) algorithm to multiple spanning trees. This extension provides both rapid convergence and load balancing in a VLAN environment.

All common spanning tree environments contain CST, which is used to interconnect individual MST regions or MST regions with independent Rapid Spanning Tree Protocol (RSTP) devices. A single root bridge is elected and tasked with path calculation for the Common Spanning Tree (CST). MSTP connects all switches and LANs with single common and internal spanning tree (CIST). 

Interoperability issue:

EX-Series Switches follow the post-standard version of IEEE Multiple Spanning Tree (MST).  Whereas some other vendors are using pre-standard as well as post-standard version of IEEE implementation of MST. Switches which are using pre-standard version of IEEE MSTP do not inter operate with EX-Series Switches and MST between them fails. It is good practice to check the kind of MST version other switches are using before interoperating with the EX-Series Switch.



If the EX switches are connected to other switches running pre-standard MSTP, you may see following output in spanning tree debug. Check the MSTP version used by other vendor's firmware.

NOTE: EX-Series Switches will only interoperate with post-standard MST version.

  • Other switches will drop BPDU'd received from EX switches with the errors similar to following:
    <Following is the output from Cisco 3350 switch running IOS version 12.0>

    Cisco#debug spanning-tree mstp all 
    00:08:39: STP: Gi1/16 Sanity Check --> BPDU with invalid v3 length(16384)
    00:08:39: MST[0]: Gi1/16 ( rootbridgeid, fromMyregion 0)
    00:08:39: MST[0]: Gi1/16 rcvd_bpdu (Superior- res != 0, Wasboundary 0, fromMyregion 0)
    00:08:39: MST:BPDU DUMP [rcvd_bpdu Gi1/16 Other]
    00:08:39: MST:   Proto:0 Version:2 Type:2 Role: DesgFlags[  AF    ]
    00:08:39: MST:   Port_id:33393 cost:0
    00:08:39: MST:   root_id  :0019.e251.76c0 Prio:49152
    00:08:39: MST:   br_id    :0019.e251.76c0 Prio:49152
    00:08:39: MST:   age:0 max_age:20 hello:2 fwdelay:15
    00:08:39: MST:BPDU DUMP [tx_mst_bpdu Gi1/16 ]
    00:08:39: MST:   Proto:0 Version:3 Type:2 Role: DesgFlags[   FL   ]
    00:08:39: MST:   Port_id:32784 cost:0
    00:08:39: MST:   root_id  :0014.69d5.3b40 Prio:32768
    00:08:39: MST:   br_id    :0014.69d5.3b40 Prio:32768
    00:08:39: MST:   age:0 max_age:20 hello:2 fwdelay:15
    00:08:39: MST:   V3_len:64 PathCost:0 region: rev:0
    00:08:39: MST:   ist_m_id :0014.69d5.3b40 Prio:32768  Hops:20  Num Mrec: 0
    00:08:40: MST[0] Tree timer expired (code 1)
    00:08:40: MST[0]: Gi1/1 (hello=0 mport_count=0 tx_count=1
    00:08:40: MST[0]: Gi1/16 (hello=0 mport_count=0 tx_count=2
    00:08:40: MST[0] (re)starting transmit timer
    00:08:41: STP: MST00 port Gi1/16 agreement from non-root/design
  • To set debug on EX switches use following:
    user@EX# set protocols mstp traceoptions file mst-debug
    user@Ex# set protocols mstp traceoptions flag all
  • To view spanning-tree debug use following:
    user@EX# run file show /var/log/mst-debug

    Mar 31 21:11:30 trace_on: Tracing to "/var/log/mst-debug" started
    Mar 31 21:11:30.837167 BPDU
      1 80 c2  0  0  0  0 14 69 d5 3b 4f  0 6a 42 42
      3  0  0  3  2 3c 80  0  0 14 69 d5 3b 40  0  0
      0  0 80  0  0 14 69 d5 3b 40 80 10  0  0 14  0
      2  0  f  0  0  0  0 40  0  0  0  0  0  0  0  0
      0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
      0  0  0  0  0  0  0  0  0  0 bb 3b 6c 15 ef 8d
      8 9b b5 5e d1  d 24 df 44 de 80  0  0 14 69 d5
     3b 40  0  0  0  0 14  0

    Mar 31 21:11:30.846159 MSG: Port ge-1/0/0.0: Validating received bpdu ...
    Mar 31 21:11:30.846197 MSG: Port ge-1/0/0.0: Extracting Info from BPDU ...
    Mar 31 21:11:30.846238 MSG: Invalid CIST regional root: 3b:40:00:00:00:00
    Mar 31 21:11:30.846269 MSG: Invalid BPDU on Port: ge-1/0/0.0
    Mar 31 21:11:30.846297 MSG: Received Bpdu Validations FAILED!
    Mar 31 21:11:31.473985 TMR: Port 625: HELLOWHEN Timer EXPIRED for Instance: 0
    Mar 31 21:11:31.474091 TXSM: Port ge-1/0/0.0: Tx Machine Called with Event: HELLOWHEN_EXP,State: IDLE of Instance 0
    Mar 31 21:11:31.474128 TMR: Starting Timer HELLOWHEN for port ge-1/0/0.0 and Instance 0 for duration 2
    Mar 31 21:11:31.474177 TMR: Port ge-1/0/0.0: Inst 0: Started Timer HELLOWHEN for duration 0
    Mar 31 21:11:31.474213 TXSM: Port ge-1/0/0.0: Moved to state TRANSMIT_PERIODIC
    Mar 31 21:11:31.474244 TXSM: Port ge-1/0/0.0: Moved to state IDLE
    Mar 31 21:11:31.474273 TMR: Expired Timer processed
    Mar 31 21:11:31.474302 TMR: Timer Expiry event successfully processed

  • NOTE:
    • Topology changes will be not reflected on MSTP instances.
    • Debug spanning tree processes on all the switches and capture BPDU's exchange.



Comment on this article > Affected Products Browse the Knowledge Base for more articles related to these product categories. Select a category to begin.

Getting Up and Running with Junos

Getting Up and Running with Junos Security Alerts and Vulnerabilities Product Alerts and Software Release Notices Problem Report (PR) Search Tool EOL Notices and Bulletins JTAC User Guide Customer Care User Guide Pathfinder SRX High Availability Configurator SRX VPN Configurator Training Courses and Videos End User Licence Agreement Global Search