Topology: CE1(R4) ------------- PE1(R1) ---------------------- P(R2) ----------------------- PE2(R3) -------------------- CE2(R5) lab@MX80-27# show | no-more ## Last changed: 2012-09-01 01:46:58 UTC version 11.2R5.4; groups { LOGICAL { system { login { class <*> { logical-system <*>; permissions all; } user { authentication { encrypted-password "$1$5aEgbrGN$of80pvyk6mAUGEruMbIu/1"; ## SECRET-DATA } } } } } } apply-groups LOGICAL; system { default-address-selection; root-authentication { encrypted-password "$1$Qatj2wH6$VxxxV9Jnw8pHTLaiVNSJR."; ## SECRET-DATA } login { class R1 { logical-system R1; } class R2 { logical-system R2; } user R1 { uid 2000; class R1; } user R2 { uid 2001; class R2; } user lab { uid 2012; class super-user; authentication { encrypted-password "$1$sma1WkMc$G5LzPjObRV5g.daDz1mgW0"; ## SECRET-DATA } } } services { ftp; telnet; } syslog { user * { any emergency; } file messages { any any; authorization info; } file interactive-commands { interactive-commands any; } } } logical-systems { R1; R2; R4 { interfaces { ge-1/1/4 { unit 0 { family inet { address 150.1.14.4/24; } } } } protocols { bgp { group ebgp { type external; export stat-to-bgp; peer-as 65000; neighbor 150.1.14.1; } } } policy-options { policy-statement stat-to-bgp { term 1 { from protocol static; then accept; } } } routing-options { static { route 172.16.50.0/24 receive; route 172.16.60.0/24 receive; } autonomous-system 65100; } } } chassis { fpc 1 { pic 2 { tunnel-services { bandwidth 1g; } } } } interfaces { ge-1/1/5 { unit 0 { family inet { address 150.1.14.1/24; } } } ge-1/2/5 { unit 0 { family inet { address 150.1.12.1/24; } } } fxp0 { unit 0 { family inet { address 10.141.227.27/24; } } } lo0 { unit 0 { family inet { address 192.168.10.1/32; } } } } routing-options { static { route 0.0.0.0/0 next-hop 10.141.227.100; } autonomous-system 65000; dynamic-tunnels { pune { source-address 192.168.10.1; gre; destination-networks { 192.168.10.0/24; } } } } protocols { bgp { group ibgp { type internal; local-address 192.168.10.1; family inet { unicast; } family inet-vpn { unicast; } neighbor 192.168.10.3; } } ospf { traffic-engineering; area 0.0.0.0 { interface ge-1/2/5.0; interface lo0.0; } } } routing-instances { VPNA { instance-type vrf; interface ge-1/1/5.0; route-distinguisher 192.168.10.1:100; vrf-target target:65000:1; protocols { bgp { group ebgp { type external; peer-as 65100; neighbor 150.1.14.4; } } } } } [edit] ======================================================== lab@MX80-26# show | no-more ## Last changed: 2012-09-01 09:50:36 UTC version 10.4R3.4; groups { LOGICAL { system { login { class <*> { logical-system <*>; permissions all; } user { authentication { encrypted-password "$1$5aEgbrGN$of80pvyk6mAUGEruMbIu/1"; ## SECRET-DATA } } } } } } apply-groups LOGICAL; system { default-address-selection; root-authentication { encrypted-password "$1$Qatj2wH6$VxxxV9Jnw8pHTLaiVNSJR."; ## SECRET-DATA } login { class R1 { logical-system R1; } class R2 { logical-system R2; } class R5 { logical-system R5; } user R1 { uid 2000; class R1; } user R2 { uid 2001; class R2; } user R5 { uid 2002; class R5; } user lab { uid 2012; class super-user; authentication { encrypted-password "$1$sma1WkMc$G5LzPjObRV5g.daDz1mgW0"; ## SECRET-DATA } } } services { ftp; telnet; } syslog { user * { any emergency; } file messages { any any; authorization info; } file interactive-commands { interactive-commands any; } } } logical-systems { R1; R2; R5 { interfaces { ge-1/1/4 { unit 0 { family inet { address 150.1.35.5/24; } } } } protocols { bgp { group ebgp { type external; export stat-to-bgp; peer-as 65000; neighbor 150.1.35.3; } } } policy-options { policy-statement stat-to-bgp { term 1 { from protocol static; then accept; } } } routing-options { static { route 172.16.80.0/24 receive; route 172.16.90.0/24 receive; } autonomous-system 65200; } } } chassis { fpc 1 { pic 2 { tunnel-services { bandwidth 1g; } } } } interfaces { ge-1/1/5 { unit 0 { family inet { address 150.1.35.3/24; } } } ge-1/2/4 { unit 0 { family inet { address 150.1.23.3/24; } family mpls; } } fxp0 { unit 0 { family inet { address 10.141.227.26/24; } } } lo0 { unit 0 { family inet { address 192.168.10.3/32; } } } } routing-options { static { route 0.0.0.0/0 next-hop 10.141.227.100; } router-id 192.168.10.3; autonomous-system 65000; dynamic-tunnels { mumbai { source-address 192.168.10.3; gre; destination-networks { 192.168.10.0/24; } } } } protocols { bgp { group ibgp { type internal; local-address 192.168.10.3; family inet { unicast; } family inet-vpn { unicast; } neighbor 192.168.10.1; } } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface ge-1/2/4.0; } } } routing-instances { VPNA { instance-type vrf; interface ge-1/1/5.0; route-distinguisher 192.168.10.3:100; vrf-target target:65000:1; protocols { bgp { group ebgp { type external; peer-as 65200; neighbor 150.1.35.5; } } } } } [edit] <<<< Dynamic GRE tunnel is established between PE1 and PE2, and the BGP next-hops are present in inet.3 table. lab@MX80-27# run show interfaces gr-1/2/10 Physical interface: gr-1/2/10, Enabled, Physical link is Up Interface index: 191, SNMP ifIndex: 739 Type: GRE, Link-level type: GRE, MTU: Unlimited, Speed: 1000mbps Device flags : Present Running Interface flags: Point-To-Point SNMP-Traps Input rate : 0 bps (0 pps) Output rate : 0 bps (0 pps) Logical interface gr-1/2/10.32769 (Index 321) (SNMP ifIndex 746) Flags: Point-To-Point SNMP-Traps 0x0 IP-Header 192.168.10.3:192.168.10.1:47:df:64:0000080000000000 Encapsulation: GRE-NULL Copy-tos-to-outer-ip-header: Off Gre keepalives configured: Off, Gre keepalives adjacency state: up Input packets : 11 Output packets: 8 Protocol inet, MTU: 1476 Flags: None Protocol mpls, MTU: 1464, Maximum labels: 3 Flags: None lab@MX80-27# run show route table inet.3 inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.10.0/24 *[Tunnel/300] 00:29:33 Tunnel 192.168.10.3/32 *[Tunnel/300] 00:26:58 > via gr-1/2/10.32769 <<< Routes advertized by PE2 are getting installed into bgp.l3vpn.0 with next-hop as the gr- interface lab@MX80-27# run show route table bgp.l3vpn.0 bgp.l3vpn.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.10.3:100:150.1.35.0/24 *[BGP/170] 00:12:48, localpref 100, from 192.168.10.3 AS path: I > via gr-1/2/10.32769, Push 299792 192.168.10.3:100:172.16.80.0/24 *[BGP/170] 00:12:48, localpref 100, from 192.168.10.3 AS path: 65200 I > via gr-1/2/10.32769, Push 299792 192.168.10.3:100:172.16.90.0/24 *[BGP/170] 00:12:48, localpref 100, from 192.168.10.3 AS path: 65200 I > via gr-1/2/10.32769, Push 299792 lab@MX80-27# run show route receive-protocol bgp 192.168.10.3 extensive inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden) inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) VPNA.inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden) * 150.1.35.0/24 (1 entry, 1 announced) Import Accepted Route Distinguisher: 192.168.10.3:100 VPN Label: 299808 Nexthop: 192.168.10.3 Localpref: 100 AS path: I Communities: target:65000:1 * 172.16.80.0/24 (1 entry, 1 announced) Import Accepted Route Distinguisher: 192.168.10.3:100 VPN Label: 299808 Nexthop: 192.168.10.3 Localpref: 100 AS path: 65200 I Communities: target:65000:1 * 172.16.90.0/24 (1 entry, 1 announced) Import Accepted Route Distinguisher: 192.168.10.3:100 VPN Label: 299808 Nexthop: 192.168.10.3 Localpref: 100 AS path: 65200 I Communities: target:65000:1 mpls.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden) bgp.l3vpn.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) * 192.168.10.3:100:150.1.35.0/24 (1 entry, 0 announced) Import Accepted Route Distinguisher: 192.168.10.3:100 VPN Label: 299808 Nexthop: 192.168.10.3 Localpref: 100 AS path: I Communities: target:65000:1 * 192.168.10.3:100:172.16.80.0/24 (1 entry, 0 announced) Import Accepted Route Distinguisher: 192.168.10.3:100 VPN Label: 299808 Nexthop: 192.168.10.3 Localpref: 100 AS path: 65200 I Communities: target:65000:1 * 192.168.10.3:100:172.16.90.0/24 (1 entry, 0 announced) Import Accepted Route Distinguisher: 192.168.10.3:100 VPN Label: 299808 Nexthop: 192.168.10.3 Localpref: 100 AS path: 65200 I Communities: target:65000:1 [edit] lab@MX80-27# <<< Routes advertised by remote PE's are installed into forwarding table with gr- interface. lab@MX80-27# run show route forwarding-table destination 172.16.80.0 vpn VPNA Routing table: VPNA.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif 172.16.80.0/24 user 0 indr 1048574 4 Push 299808 752 2 gr-1/2/10.32769 [edit] lab@MX80-27# run show route forwarding-table destination 172.16.90.0 vpn VPNA Routing table: VPNA.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif 172.16.90.0/24 user 0 indr 1048574 4 Push 299808 752 2 gr-1/2/10.32769 <<< CE1 is able to ping remote destinations R4@MX80-27:R4> show route protocol bgp inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 150.1.35.0/24 *[BGP/170] 00:05:23, localpref 100 AS path: 65000 I > to 150.1.14.1 via ge-1/1/4.0 172.16.80.0/24 *[BGP/170] 00:05:23, localpref 100 AS path: 65000 65200 I > to 150.1.14.1 via ge-1/1/4.0 172.16.90.0/24 *[BGP/170] 00:05:23, localpref 100 AS path: 65000 65200 I > to 150.1.14.1 via ge-1/1/4.0 R4@MX80-27:R4> ping 172.16.80.0 PING 172.16.80.0 (172.16.80.0): 56 data bytes 64 bytes from 150.1.35.5: icmp_seq=0 ttl=62 time=0.675 ms 64 bytes from 150.1.35.5: icmp_seq=1 ttl=62 time=0.560 ms 64 bytes from 150.1.35.5: icmp_seq=2 ttl=62 time=0.598 ms 64 bytes from 150.1.35.5: icmp_seq=3 ttl=62 time=0.484 ms 64 bytes from 150.1.35.5: icmp_seq=4 ttl=62 time=0.604 ms 64 bytes from 150.1.35.5: icmp_seq=5 ttl=62 time=0.640 ms 64 bytes from 150.1.35.5: icmp_seq=6 ttl=62 time=0.632 ms 64 bytes from 150.1.35.5: icmp_seq=7 ttl=62 time=0.571 ms