In this post we will explain Juniper version of configuration for Inter-AS MPLS Option B that was defined in RFC4364.

Configuration

Configuration Option B on Juniper is pretty straight forward. Here, only the most important details will be highlighted. A detailed configuration is available at http://www.juniper.net/documentation/en_US/junos15.1/topics/example/mpls-vpn-option2-configuration.html.

Key pieces for configuring Option B are to be found under the BGP configuration.

BGP configuration

PE1

group int-bgp-65002 {
type internal;
neighbor 4.4.4.4 {
local-address 1.1.1.1;
family inet-vpn {
unicast;
}
}
}

ASBR1

group ext-65003 {
type external;
peer-as 65003;
neighbor 10.34.0.3 {
family inet-vpn {
unicast;
}
peer-as 65003;
}
}
group int-65002 {
type internal;
neighbor 1.1.1.1 {
local-address 4.4.4.4;
family inet-vpn {
unicast;
}
}
}

ASBR2

group ext-65002 {
type external;
neighbor 10.34.0.4 {
family inet-vpn {
unicast;
}
peer-as 65002;
}
}
group int-65003 {
type internal;
neighbor 5.5.5.5 {
local-address 3.3.3.3;
family inet-vpn {
unicast;
}
}
}

PE2

group int-65003 {
type internal;
neighbor 3.3.3.3 {
local-address 5.5.5.5;
family inet-vpn {
unicast;
}
}
}

Trivia

What configuration error made on ASBR1 will result in following? 1.1.1.1 is the loopback IP of PE1 and 4.4.4.4 is the loopback IP of ASBR1.

admin@PE1> show route advertising-protocol bgp 4.4.4.4 extensive
vpn-a.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
* 192.0.2.0/24 (1 entry, 1 announced)
BGP group int-bgp-65002 type Internal
Route Distinguisher: 1.1.1.1:1
VPN Label: 300176
Nexthop: Self
Flags: Nexthop Change
Localpref: 100
AS path: [65002] 65101 I
Communities: target:65101:101
admin@ASBR1> show route receive-protocol bgp 1.1.1.1 extensive 
inet.0: 12 destinations, 13 routes (12 active, 0 holddown, 0 hidden)
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
mpls.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)