policy-options { policy-statement bgp-export-ce-to-l3vpn { term connected-routes { from protocol [ direct static ]; then accept; } term default { then reject; } } policy-statement bgp-export-l3vpn-to-ce { term default-route { from { protocol static; route-filter 0.0.0.0/0 exact; } then accept; } term default { then reject; } } policy-statement vpn-export-my-test-l3vpn { term connected-routes { from protocol direct; then { community add rt-my-test-l3vpn; accept; } } term bgp-routes { from protocol bgp; then { community add rt-my-test-l3vpn; next-hop peer-address; accept; } } term default { then reject; } } } routing-instances { my-test-ce { instance-type virtual-router; interface lt-0/1/0.2; interface lo0.100; protocols { bgp { group ce-to-l3vpn { type external; family inet { unicast { loops 2; # required to overcome loop issue due to local virtual router instance } } export bgp-export-ce-to-l3vpn; peer-as 64512; local-as 64599; neighbor 10.10.10.1; } } } } my-test-l3vpn { instance-type vrf; interface lt-0/1/0.1; route-distinguisher 1.1.1.1:1; vrf-export vpn-export-my-test-l3vpn; vrf-target target:64512:99; vrf-table-label; routing-options { static { route 0.0.0.0/0 discard; } } protocols { bgp { group l3vpn-to-ce { type external; family inet { unicast { loops 2; # required to overcome loop issue due to local virtual router instance } } export bgp-export-l3vpn-to-ce; peer-as 64599; local-as 64512; neighbor 10.10.10.2 { egress-te; } } } } } }