I'm probably forgetting or typo'ing something but assuming this:
OSPF, vlans, vstp, (and bfd to speed up ospf on p2p) should look like this:
dist1:
system {
host-name dist1;
}
interfaces {
ge-0/0/0 {
description "To edge";
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members [51 100];
}
}
}
}
ge-0/0/1 {
description "To dist2";
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members [ 100 ];
}
}
}
}
vlan {
unit 100 {
description data;
family inet {
address 172.16.1.2/24 {
vrrp-group 1 {
virtual-address 172.16.1.1;
priority 200;
}
}
}
}
unit 51 {
description "Edge uplink";
family inet {
address 10.0.0.0/31;
}
}
}
}
protocols {
ospf {
area 0.0.0.0 {
interface vlan.51 {
interface-type p2p;
bfd-liveness-detection {
minimum-interval 500;
}
}
interface vlan.100 {
passive;
}
}
}
vstp {
vlan all {
bridge-priority 4k;
}
}
}
vlans {
data {
vlan-id 100;
l3-interface vlan.100;
}
vlan51 {
vlan-id 51;
l3-interface vlan.51;
}
}
dist2:
system {
host-name dist2;
}
interfaces {
ge-0/0/0 {
description "To edge";
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members [52 100];
}
}
}
}
ge-0/0/1 {
description "To dist1";
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members [ 100 ];
}
}
}
}
vlan {
unit 100 {
description data;
family inet {
address 172.16.1.3/24 {
vrrp-group 1 {
virtual-address 172.16.1.1;
priority 100;
}
}
}
}
unit 52 {
description "Edge uplink";
family inet {
address 10.0.1.0/31;
}
}
}
}
protocols {
ospf {
area 0.0.0.0 {
interface vlan.52 {
interface-type p2p;
bfd-liveness-detection {
minimum-interval 500;
}
}
interface vlan.100 {
passive;
}
}
}
vstp {
vlan all {
bridge-priority 8k;
}
}
}
vlans {
data {
vlan-id 100;
l3-interface vlan.100;
}
vlan52 {
vlan-id 52;
l3-interface vlan.52;
}
}
edge:
system {
host-name edge;
}
interfaces {
ge-0/0/0 {
description "To dist1";
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members [51 100];
}
}
}
}
ge-0/0/1 {
description "To dist2";
unit 0 {
family ethernet-switching {
port-mode trunk;
vlan {
members [ 52 100 ];
}
}
}
}
ge-0/0/2 {
description "vlan100 edge port";
unit 0 {
family ethernet-switching {
port-mode access;
vlan {
members [ 100 ];
}
}
}
}
ge-0/0/3 {
description "vlan200 edge port";
unit 0 {
family ethernet-switching {
port-mode access;
vlan {
members [ 200 ];
}
}
}
}
ge-0/0/4 {
description "vlan300 edge port";
unit 0 {
family ethernet-switching {
port-mode access;
vlan {
members [ 300 ];
}
}
}
}
vlan {
unit 100 {
description data;
}
unit 200 {
description data;
family inet {
address 172.16.2.1/24 {
}
}
}
unit 300 {
description data;
family inet {
address 172.16.3.1/24 {
}
}
}
unit 51 {
description "Edge uplink to dist1";
family inet {
address 10.0.0.1/31;
}
}
unit 52 {
description "Edge uplink to dist2";
family inet {
address 10.0.1.1/31;
}
}
}
}
protocols {
ospf {
area 0.0.0.0 {
interface vlan.51 {
interface-type p2p;
bfd-liveness-detection {
minimum-interval 500;
}
}
interface vlan.52 {
interface-type p2p;
bfd-liveness-detection {
minimum-interval 500;
}
}
interface vlan.200 {
passive;
}
interface vlan.300 {
passive;
}
}
}
vstp {
vlan all {
bridge-priority 16k;
}
}
}
vlans {
data100 {
vlan-id 100;
}
data200 {
vlan-id 200;
l3-interface vlan.200;
}
data300 {
vlan-id 300;
l3-interface vlan.300;
}
vlan51 {
vlan-id 51;
l3-interface vlan.51;
}
vlan52 {
vlan-id 52;
l3-interface vlan.52;
}
}