Description

When MSTP (Multiple Spanning Tree Protocol) and Dynamic GVRP (GARP Vlan Registration Protocol) are enabled it is possible that network convergence, or the STP state on the non-root bridge is not stable.  The purpose of this article defines how to use Static GVRP to prevent this.


Symptoms

It is been observed that the implementation of an MSTP topology with dynamic GVRP on the EX-series Switches may create a stability issue with non-root bridges.


Solution

GARP (Generic Attribute Registration Protocol) VLAN Registration Protocol (GVRP) defines a GARP application that provides the 802.1Q compliant VLAN pruning and dynamic VLAN creation on 802.1Q VLANs.  The IEEE 802.1P standard allows for the control of 802.1Q VLANs.

MSTP 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.

In order to integrate MSTP topology and GVRP VLAN pruning a STATIC GVRP should be configured instead of a dynamic GVRP configuration.  This prevents any instability or network convergence issues for non-root bridges.

NOTE:
Only trunk interfaces can be enabled for GVRP.

alt

Configuration using the cli :

  • STEP 1: Create Vlans named vlan100 and vlan200 for EX-Series Switch 1, EX-Series Switch 2 and EX-Series Switch 3.
vlan100 {
vlan-id 100;
}
vlan200 {
vlan-id 200;
}

  • STEP 2: Create a trunk port on EX-Series Switch..

NOTE: Make sure that between every two switches only one port is configured as a member of all the vlans ,and the other is not.  Membership will be advertised on the trunks and they should dynamically become members of those vlans.

EX Switch 1 (EX4200):


[edit]
user@EX1# show interfaces ge-0/0/8
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members all;


[edit]
user@EX1# show interfaces ge-0/0/2
unit 0 {
family ethernet-switching {
port-mode trunk;

EX Switch 2 (EX8200):

[edit]
user@EX2# show interfaces ge-0/0/2
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members all;


[edit]
user@EX2# show interfaces ge-0/0/3
unit 0 {
family ethernet-switching {
port-mode trunk;

EX Switch 3 (EX4200):

[edit]
user@EX3# show interfaces ge-0/0/8
unit 0 {
family ethernet-switching {
port-mode trunk;

[edit]
user@EX3# show interfaces ge-0/0/3
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members all;
  • STEP 3: Enable GVRP on all trunked ports (i.e on EX-Switch 1, EX-Switch 2 and EX-Switch 3) and connect them together:

EX Switch 1 (EX4200):


[edit]
user@EX1# show protocols gvrp
enable;
join-timer 40;
leave-timer 120;
leaveall-timer 2000;
interface ge-0/0/2.0;
interface ge-0/0/8.0;

EX Switch 2 (EX8200):


[edit]
user@EX2# show protocols gvrp
enable;
join-timer 40;
leave-timer 120;
leaveall-timer 2000;
interface ge-0/0/2.0;
interface ge-0/0/3.0;

EX Switch 3 (EX4200):


[edit]
user@EX3# show protocols gvrp
enable;
join-timer 40;
leave-timer 120;
leaveall-timer 2000;
interface ge-0/0/3.0;
interface ge-0/0/8.0;
  • STEP 4: Configuring MSTP on Switches (i.e on EX-Switch 1, EX-Switch 2 and EX-Switch 2)

EX Switch 3 (EX4200):


[edit]
user@EX1# show protocols mstp
configuration-name region1;
bridge-priority 32k;
msti 1 {
bridge-priority 16k;
vlan 100;
}
msti 2 {
bridge-priority 8k;
vlan 200;
}

EX Switch 2 (EX8200):


[edit]
user@EX2# show protocols mstp
configuration-name region3;
bridge-priority 16k;
msti 1 {
bridge-priority 16k;
vlan 100;
}
msti 2 {
bridge-priority 8k;
vlan 200;
}

EX Switch 3 (EX4200):


user@EX3# show protocols mstp
configuration-name region2;
msti 1 {
bridge-priority 16k;
vlan 100;
}
msti 2 {
bridge-priority 8k;
vlan 200;
}

Verification:

  • Output on EX Switch 1 (EX4200):
user@EX1> show spanning-tree interface

Spanning tree interface parameters for instance 0

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/2.0 128:515 128:515 16384.002283685600 20000 FWD ROOT
ge-0/0/6.0 128:519 128:519 16384.002283685600 20000 BLK ALT
ge-0/0/8.0 128:521 128:521 32768.001f12326b80 20000 FWD DESG
ge-0/0/10.0 128:523 128:523 32768.001f12326b80 20000 FWD DESG
ge-0/0/12.0 128:525 128:525 32768.001f12326b80 20000 FWD DESG

Spanning tree interface parameters for instance 1

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/2.0 128:515 128:515 16385.001f12326b80 20000 FWD MSTR
ge-0/0/8.0 128:521 128:521 16385.001f12326b80 20000 FWD DESG

Spanning tree interface parameters for instance 2

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/2.0 128:515 128:515 8194.001f12326b80 20000 FWD MSTR
ge-0/0/8.0 128:521 128:521 8194.001f12326b80 20000 FWD DESG

user@EX1> show vlans
Name Tag Interfaces
default
ge-0/0/0.0, ge-0/0/1.0, ge-0/0/3.0, ge-0/0/4.0,
ge-0/0/5.0, ge-0/0/6.0*, ge-0/0/7.0, ge-0/0/9.0,
ge-0/0/10.0*, ge-0/0/11.0, ge-0/0/12.0*, ge-0/0/13.0,
ge-0/0/14.0, ge-0/0/15.0, ge-0/0/16.0, ge-0/0/17.0,
ge-0/0/18.0, ge-0/0/19.0, ge-0/0/20.0, ge-0/0/21.0,
ge-0/0/22.0, ge-0/0/23.0, ge-0/0/24.0, ge-0/0/25.0,
ge-0/0/26.0, ge-0/0/27.0, ge-0/0/28.0, ge-0/0/29.0,
ge-0/0/30.0, ge-0/0/31.0, ge-0/0/32.0, ge-0/0/33.0,
ge-0/0/34.0, ge-0/0/35.0, ge-0/0/36.0, ge-0/0/37.0,
ge-0/0/38.0, ge-0/0/39.0, ge-0/0/40.0, ge-0/0/41.0,
ge-0/0/42.0, ge-0/0/43.0, ge-0/0/44.0, ge-0/0/45.0,
ge-0/0/46.0, ge-0/0/47.0, xe-0/1/1.0
vlan100 100
ge-0/0/2.0*, ge-0/0/8.0*
vlan200 200
ge-0/0/2.0*, ge-0/0/8.0*

  • Output on EX Switch 2 (EX8200):
user@EX2> show spanning-tree interface

Spanning tree interface parameters for instance 0

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/2.0 128:515 128:515 16384.002283685600 20000 FWD DESG
ge-0/0/3.0 128:516 128:516 16384.002283685600 20000 FWD DESG
ge-0/0/5.0 128:518 128:518 16384.002283685600 20000 FWD DESG
ge-0/0/6.0 128:519 128:519 16384.002283685600 20000 FWD DESG
ge-0/0/7.0 128:520 128:520 16384.002283685600 20000 FWD DESG

Spanning tree interface parameters for instance 1

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/2.0 128:515 128:515 16385.002283685600 20000 FWD DESG
ge-0/0/3.0 128:516 128:516 16385.002283685600 20000 FWD DESG

Spanning tree interface parameters for instance 2

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/2.0 128:515 128:515 8194.002283685600 20000 FWD DESG
ge-0/0/3.0 128:516 128:516 8194.002283685600 20000 FWD DESG

user@EX2> show vlans
Name Tag Interfaces
default
ge-0/0/4.0, ge-0/0/5.0*, ge-0/0/6.0*, ge-0/0/7.0*,
ge-0/0/8.0
vlan100 100
ge-0/0/2.0*, ge-0/0/3.0*
vlan200 200
ge-0/0/2.0*, ge-0/0/3.0*

  • Output on EX Switch 3 (EX4200):

user@EX3> show spanning-tree interface

Spanning tree interface parameters for instance 0

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/3.0 128:516 128:516 16384.002283685600 20000 FWD ROOT
ge-0/0/5.0 128:518 128:518 16384.002283685600 20000 BLK ALT
ge-0/0/7.0 128:520 128:520 16384.002283685600 20000 BLK ALT
ge-0/0/8.0 128:521 128:521 32768.001f12326b80 20000 BLK ALT
ge-0/0/10.0 128:523 128:523 32768.001f12326b80 20000 BLK ALT
ge-0/0/12.0 128:525 128:525 32768.001f12326b80 20000 BLK ALT

Spanning tree interface parameters for instance 1

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/3.0 128:516 128:516 16385.001f123ace80 20000 FWD MSTR
ge-0/0/8.0 128:521 128:521 16385.001f123ace80 20000 BLK ALT

Spanning tree interface parameters for instance 2

Interface Port ID Designated Designated Port State Role
port ID bridge ID Cost
ge-0/0/3.0 128:516 128:516 8194.001f123ace80 20000 FWD MSTR
ge-0/0/8.0 128:521 128:521 8194.001f123ace80 20000 BLK ALT

user@EX3> show vlans
Name Tag Interfaces
default
ge-0/0/0.0, ge-0/0/1.0, ge-0/0/2.0, ge-0/0/4.0,
ge-0/0/5.0*, ge-0/0/7.0*, ge-0/0/9.0, ge-0/0/10.0*,
ge-0/0/11.0, ge-0/0/12.0*, ge-0/0/13.0, ge-0/0/14.0,
ge-0/0/15.0, ge-0/0/16.0, ge-0/0/17.0, ge-0/0/18.0,
ge-0/0/19.0, ge-0/0/20.0, ge-0/0/21.0, ge-0/0/22.0,
ge-0/0/23.0
vlan100 100
ge-0/0/3.0*, ge-0/0/8.0*
vlan200 200
ge-0/0/3.0*, ge-0/0/8.0*