Description

In VXLAN environment after Bridge Domain (BD) configuration is changed, BD status might change from Active to Destroyed.

Ideally, the BD state should be in Active state. This article explains how to recover the BD status when stuck with Destroyed state.

Symptoms

Junos: 15.1R7.9

Uer@MX> show version
Hostname: MX
Model: mx240
Junos: 15.1R7.9

Step 1-1. The BD state is Active.

User@MX> show bridge domain extensive

Routing instance: VX1600
Bridge domain: bd-1600                        State: Active
Bridge VLAN ID: 1600
Interfaces:
    ge-1/0/1.1600
    vtep.32769
    vtep.32770
Total MAC count: 0

Step 1-2. The BD config (vlan-id) is changed, then the state gets stuck in Destroyed state.

[edit]
User@MX# set interfaces ge-1/0/1 unit 1600 family bridge vlan-id 1700

[edit]
User@MX# set routing-instances VX1600 bridge-domains bd-1600 vlan-id 1700

[edit]
User@MX# show |compare
[edit interfaces ge-1/0/1 unit 1600 family bridge]
-      interface-mode trunk;
-      vlan-id 1600;
+      interface-mode trunk;
+      vlan-id 1700;
[edit routing-instances VX1600 bridge-domains bd-1600]
-     domain-type bridge;
-     vlan-id 1600;
-     vxlan {
-         vni 1600;
-         ingress-node-replication;
-     }
+     domain-type bridge;
+     vlan-id 1700;
+     vxlan {
+         vni 1600;
+         ingress-node-replication;
+     }

[edit]
User@MX# commit
commit complete

User@MX> show bridge domain extensive

Routing instance: VX1600
Bridge domain: bd-1600                        State: Destroyed
Bridge VLAN ID: 1600
Total MAC count: 0

Step1-3. Config rollback does not help.

[edit]
User@MX# rollback 1
load complete

[edit]
User@MX# show |compare
[edit interfaces ge-1/0/1 unit 1600 family bridge]
-      interface-mode trunk;
-      vlan-id 1700;
+      interface-mode trunk;
+      vlan-id 1600;
[edit routing-instances VX1600 bridge-domains bd-1600]
-     domain-type bridge;
-     vlan-id 1700;
-     vxlan {
-         vni 1600;
-         ingress-node-replication;
-     }
+     domain-type bridge;
+     vlan-id 1600;
+     vxlan {
+         vni 1600;
+         ingress-node-replication;
+     }

[edit]
User@MX# commit
commit complete

User@MX> show bridge domain extensive

Routing instance: VX1600
Bridge domain: bd-1600                        State: Destroyed
Bridge VLAN ID: 1600
Total MAC count: 0

Step1-4. After RE reboot, the State is back as Active

User@MX> show bridge domain extensive

Routing instance: VX1600
Bridge domain: bd-1600                        State: Active
Bridge VLAN ID: 1600
Interfaces:
    ge-1/0/1.1600
    vtep.32769
    vtep.32770
Total MAC count: 0

Junos: 16.1R1.11

Uer@MX> show version
Hostname: MX
Model: mx240
Junos: 16.1R1.11

Step 2-1. The BD state is Active.

User@MX> show bridge domain extensive

Routing instance: VX1600
Bridge domain: bd-1600                        State: Active
Bridge VLAN ID: 1600
Interfaces:
    vtep.32769
    vtep.32770
Total MAC count: 0

Step 2-2. The BD config(vlan-id) is changed, then the state remains Active.

[edit]
User@MX# set interfaces ge-1/0/1 unit 1600 family bridge vlan-id 1700

[edit]
User@MX# set routing-instances VX1600 bridge-domains bd-1600 vlan-id 1700

[edit]
User@MX# show |compare
[edit interfaces ge-1/0/1 unit 1600 family bridge]
-      interface-mode trunk;
-      vlan-id 1600;
+      interface-mode trunk;
+      vlan-id 1700;
[edit routing-instances VX1600 bridge-domains bd-1600]
-     domain-type bridge;
-     vlan-id 1600;
-     vxlan {
-         vni 1600;
-         ingress-node-replication;
-     }
+     domain-type bridge;
+     vlan-id 1700;
+     vxlan {
+         vni 1600;
+         ingress-node-replication;
+     }

[edit]
User@MX# commit
commit complete

User@MX> show bridge domain extensive

Routing instance: VX1600
Bridge domain: bd-1600                        State: Active
Bridge VLAN ID: 1700
Interfaces:
    vtep.32769
    vtep.32770
Total MAC count: 0

== configuration ==
User@MX> show configuration |display set
set interfaces ge-1/0/1 flexible-vlan-tagging
set interfaces ge-1/0/1 encapsulation flexible-ethernet-services
set interfaces ge-1/0/1 unit 1600 encapsulation vlan-bridge
set interfaces ge-1/0/1 unit 1600 family bridge interface-mode trunk
set interfaces ge-1/0/1 unit 1600 family bridge vlan-id 1600
set interfaces lo0 unit 4010 family inet address 2.2.2.2/32
set routing-instances VX1600 vtep-source-interface lo0.4010
set routing-instances VX1600 remote-vtep-list 100.100.101.4
set routing-instances VX1600 remote-vtep-list 100.100.101.132
set routing-instances VX1600 instance-type virtual-switch
set routing-instances VX1600 interface ge-1/0/1.1600
set routing-instances VX1600 bridge-domains bd-1600 domain-type bridge
set routing-instances VX1600 bridge-domains bd-1600 vlan-id 1600
set routing-instances VX1600 bridge-domains bd-1600 vxlan vni 1600
set routing-instances VX1600 bridge-domains bd-1600 vxlan ingress-node-replication

Solution

The following commands will help recover the Bridge Domain state when VXLAN BD (Bridge Domain) gets stuck in "Destroyed" state after changing BD configurations.

  1. RE reboot

    >request system reboot    (OR)
  2. Delete/re-configure the interfaces and the routing-instances configurations can restore the BD status

    #delete routing-instances <instance name>