In this post i will share VPLS BGP Configuration in Juniper router.
Requirements:
- In Juniper you have to used Tunnel Service PIC (VT interface). If you don’t have any Tunnel PIC, you have to configure no-tunnel-services in the routing-instance. No-tunnel-services has limitation in several PIC in Junos 8.0
NOTE: The following interface types do not support the use of LSI interfaces with VPLS:
- Aggregated SONET/SDH (cannot be used as the core-facing interface)
- 1-port Gigabit Ethernet
- 2-port Gigabit Ethernet
- 4-port Fast Ethernet
However, I cannot see the documentation of this limitation in Junos 8.3
NOTE: The following interface types do not support the use of LSI interfaces with VPLS:
- Aggregated SONET/SDH interfaces (cannot be used as the core-facing interface)
- Channelized interfaces (cannot be used as the core-facing interface)
- ATM1 interfaces
Below is the configuration topology which is related with my work in VPLS BGP.

IP Address:
PE1 Lo0: 1.1.1.1/32
PE2 Lo0: 2.2.2.2/32
PE3 Lo0: 3.3.3.3/32
CE1, CE2 and CE3 has one subnet address.
CE1 interface: 11.0.0.1/24
CE2 interface: 11.0.0.2/24
CE3 interface: 11.0.0.3/24
RR Lo0: 4.4.4.4/32
IGP using OSPF area 0.0.0.0.
VPLS Interface Configurations:
PE1 to CE1 Interface
interfaces {
ge-3/3/0 {
encapsulation ethernet-vpls;
unit 0;
}
PE2 to CE2 Interface
interfaces {
ge-1/1/0 {
encapsulation ethernet-vpls;
unit 0;
}
PE3 to CE3 Interface
interfaces {
ge-2/0/1 {
encapsulation ethernet-vpls;
unit 0;
}
BGP Configuration:
RR:
protocols {
bgp {
group rr {
type internal;
local-address 4.4.4.4;
family inet-vpn {
unicast;
}
family l2vpn {
signaling;
}
cluster 1.1.1.1;
neighbor 1.1.1.1;
neighbor 2.2.2.2;
neighbor 3.3.3.3;
}
}
PE1:
protocols {
group rr {
type internal;
local-address 1.1.1.1;
family inet-vpn {
unicast;
}
family l2vpn {
signaling;
}
neighbor 4.4.4.4;
}
}
PE2:
bgp {
group rr {
type internal;
local-address 2.2.2.2;
family inet-vpn {
unicast;
}
family l2vpn {
signaling;
}
neighbor 4.4.4.4;
}
}
PE3:
bgp {
group rr {
type internal;
local-address 3.3.3.3;
family inet-vpn {
unicast;
}
family l2vpn {
signaling;
}
neighbor 4.4.4.4;
}
}
Routing-Instance Configuration:
PE1:
routing-instances {
vpls {
instance-type vpls;
interface ge-3/3/0.0;
route-distinguisher 10:10;
vrf-target target:10:10;
protocols {
vpls {
site-range 50;
site pe1 {
site-identifier 1;
interface ge-3/3/0.0;
}
}
}
}
PE2:
routing-instances {
vpls {
instance-type vpls;
interface ge-1/1/0.0;
route-distinguisher 10:10;
vrf-target target:10:10;
protocols {
vpls {
site-range 50;
site pe2 {
site-identifier 2;
interface ge-1/1/0.0;
}
}
}
}
PE3:
routing-instances {
vpls {
instance-type vpls;
interface ge-2/0/1.0;
route-distinguisher 10:10;
vrf-target target:10:10;
protocols {
vpls {
site-range 50;
tunnel-services {
primary vt-2/3/0;
}
site pe2 {
site-identifier 3;
interface ge-2/0/1.0;
}
}
}
}
Show route from PE1:
CE1_Juniper# run show route
inet.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.1.0/24 *[Direct/0] 15:56:05
> via ge-1/0/0.10
10.1.1.2/32 *[Local/0] 15:56:05
Local via ge-1/0/0.10
11.0.0.0/24 *[Direct/0] 14:28:56
> via ge-1/0/0.600
11.0.0.1/32 *[Local/0] 14:28:56
Local via ge-1/0/0.600
11.11.11.11/32 *[Direct/0] 1d 21:31:28
> via lo0.0
— truncate——
Ping Results from CE1:
CE1_Juniper# run ping 11.0.0.3
PING 11.0.0.3 (11.0.0.3): 56 data bytes
64 bytes from 11.0.0.3: icmp_seq=0 ttl=64 time=1.272 ms
64 bytes from 11.0.0.3: icmp_seq=1 ttl=64 time=1.036 ms
64 bytes from 11.0.0.3: icmp_seq=2 ttl=64 time=1.145 ms
C
– 11.0.0.3 ping statistics–
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.036/1.151/1.272/0.096 ms
CE1_Juniper# run ping 11.0.0.2
PING 11.0.0.2 (11.0.0.2): 56 data bytes
64 bytes from 11.0.0.2: icmp_seq=0 ttl=64 time=1.197 ms
64 bytes from 11.0.0.2: icmp_seq=1 ttl=64 time=1.050 ms
64 bytes from 11.0.0.2: icmp_seq=2 ttl=64 time=1.050 ms
C
– 11.0.0.2 ping statistics–
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.050/1.099/1.197/0.069 ms
CE1 able to ping CE2 and CE3.
Reference:
Feature guide Junos 8.0 VPLS (PDF)