I have reachability to a certain /25 prefix at two different sites. These sites advertise the /25 via EBGP into a L3 IPVPN (MPLS). I am AS-path prepending one of these sites' advertisements to make it a "backup" path for the /25. However, remote sites participating in this L3 IPVPN only ever learn one of the routes/paths via EBGP. How can I get both of these routes/paths installed into the routing tables of my remote sites?

I've performed a test where I advertise from both of these sites, and get the same results. When I remove the advertisement from one of the sites, the route remains in the routing table. It only disappears from the remote site routing table when I stop advertising it from both sites. The duration of the route being learned doesn't change when one of the sites stops advertising, indicating that my provider seems to let the other site's advertisement come through.

These are Juniper devices running 12.1 code.

2 Answers 2


BGP only selects one path to put into the routing table. It sounds like your MPLS is actually working as you planned. You have the primary site in the routing table. When it goes down, BGP will insert the backup site into the routing table.

If you type

show route protocol bgp

at a remote site, you should see both routes in the BGP table.

  • 1
    Thanks for the reply. I did check this, and only see one path. Have also added the "all" and "inactive-path" or "inactive-prefix" options. Have also tried using "show route receive-protocol bgp <neighbor> all". It only shows the one path, and it has the "" next to it to indicate it was the best path. I would expect to see two paths: one with a "" and one without. Mar 15, 2014 at 19:46
  • If you disable the primary path, what do you see?
    – Ron Trunk
    Mar 15, 2014 at 22:30

To have the two routes from the two sites be installed simultaneously in remotes sites, the typical solution for MPLS VPNs is to use distinct Route Distinguishers on the PEs attaching your site. This is a way to have the BGP subsystem consider the two routes distinct.

You can use distinct as:number RDs, or you can use PE-loopback:local-id RDs.

To do the latter, on JunOS, you can let JunOS automatically assign a PE-loopback:local-id RD, by simply specifying route-distinguisher-id under routing-options in the global config (with your PE loopback), and not specify route-distinguisher in the routing instances configurations.

(Another way is to enable add path extension, but for MPLS VPNs, using distinct RDs is simpler)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.