MPLS VRF redundancy

Unanswered Question
Nov 1st, 2009

A present network scenario, i have a core router (VXR A) with a link connected to MPLS network M-1 Router an e-BGP (instance X), all the customer connected to MPLS network uses instance X of M-1 to VRX A for Internet reach ability.

Now changed for high availability network, i will be adding new Core Router VXR B. For this, VXR B will also be connected with MPLS network M-1 router an e-BGP (Instance Y), we have numbers of customer connected to our MPLS network example Customer A and Customer B, my requirement is that both the instance M-1 to VXR A and M-1 to VRX B should be on Active that means Customer A should be going through Instance X and Customer B should be going through Instance Y. In case of link failure between any VXR (A and B) to M-1, route of any customers should be going through the live one instance.

Here by I have also attached the network diagram.

Hopping for your help for implementing such network scenario.

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
Laurent Aubert Sun, 11/01/2009 - 09:08


For each eBGP session, you could set a different BGP community for the default-route so the remote PE could set a different local-pref based on the community. It will allow you to load-balance your customers on both SP and provide redundancy as well.



urs.shrestharana Sun, 11/01/2009 - 09:59

Hi Laurent,

Thank you for the response.

I am not much good in MPLS VRF and its route policy. As of now our MPLS network is very simple, all the customers are bounded in single Instance ( instance X). I am not getting the exact clue how to accomplish the above scenario. Could you please guide me providing the configuration in sort ( simple example) and the related link.

Thank you,


Giuseppe Larosa Mon, 11/02/2009 - 02:26

Hello Uttam,

it is not clear if your customers are in different VRFs or they are in global routing table.

router M-1 is the one that can associate different attributes to the default routes as suggested by Laurent.

a) global table

router M-1

router bgp yourAS

neigh VXRA.ipaddr remote-as 100

neigh VXRB.ipaddr remote-as 200


expanding Laurent's suggestion:

neigh VXRA route-map setComVXRA in

neigh VXRB route-map setComVXRB in

ip prefix-list only-default permit

route-map setComVXRA permit 10

match ip address prefix only-default

set community yourASN:101

route-map setComVXRB permit 10

match ip address prefix only-default

set community yourASN:102

b) customers in VRF and also eBGP sessions

the same idea can be used if you put the two eBGP sessions inside a VRF.

address-family ipv4 vrf ToVXRA

neigh VXRA.ipaddr remote-as 100

neigh VXRA.ipaddr route-map setComVXRA in

address-family ipv4 vrf ToVXRB

neigh VXRB.ipaddr remote-as 200

neigh VXRB.ipaddr route-map setComVXRB in

you need also to use route targets that are imported in all VRFs (if you are using VRFs)

Hope to help


Laurent Aubert Mon, 11/02/2009 - 06:31


To complete Giuseppe configuration, here is what is needed on M4:

route-map VXRA permit 10

match community 1

set local-preference 200


route-map VXRA permit 100


route-map VXRB permit 10

match community 2

set local-preference 200


route-map VXRB permit 100


ip community-list 1 permit ASN:101

ip community-list 2 permit ASN:102


ip vrf CustomerA

import-map VXRA


ip vrf CustomerB

import-map VXRB





urs.shrestharana Mon, 11/02/2009 - 09:06

Hi Giuseppe/ Laurent

We have all our customers are in VRF let's say vrf link_X (a single VRF), now we are adding one more vrf let's say vrf link_Y. And also all the customers are connected with Static VRF (static PE-CE).

The main thing is customers with the VRF link_X uses Instance_X primary for internet traffic and Instance_Y for backup and the customers with the VRF link_Y uses Instance_Y for primary path and Instance_X for backup.

I have also attached our exact network diagram herewith.

For outgoing traffic :

As per Giuseppe -

whenever M-1 receives default route from Link X (in Instance_X) and from Link Y ( in Instance_Y) it tag the community 65xx:101 and 65xx:102 respectively.

As per Laurent -

On any other PE (M-x) routers will import the RT of both Instance_X and Instance_Y.

If route with the community 65xx:101 than set the Loc-Pref higher (200) otherwise, make it default for the Customers with the VRF link_X.

If route with the community 65xx:102 than set the Loc-Pref higher (200) otherwise, make it default for the customers with the vrf link_Y

And finally import it on the appropriate VRF table.

Am I right ?

I will deploy it on our regular maintains day and update you consequently.

Thank you for the Help


Giuseppe Larosa Mon, 11/02/2009 - 23:58

Hello Uttam,

the setup we are suggesting should work.

As usual with VRFs you need to pay attention to route targets.

Customer VRFs need to be able to import the routes injected by VXRA and by VXRB.

This means to use appropriate route targets and you need also to take care of return path.

Hope to help



This Discussion