BGP Vs EIGRP route race

Unanswered Question
Sep 12th, 2008
User Badges:

Consider the scenario:


CE1------CE2------PE1----PE2-----CE3---CE4


CE2 and PE1, PE2 and CE3 have eBGP session

CE1 and CE2, CE3 and CE4 have EIGRP session

On CE2 and CE3 there is a mutual red between EIGRP and BGP.


If we inject route X from CE1 it reaches and gets installed in all the routers (CE2,PE1, PE2, CE3 and CE4). Now if we inject the "same route" X from CE4 it doesn't get installed on CE3 (where mutual red is happening) BGP table even though it is present in the EIGRP topology table. So the PE2 doesn't get this route from CE3. So at any point in time only one route could be present in the network. But if I shutdown the link between CE3 and PE2, CE3 install the route coming from CE4 in its BGP table. When I unshut the link it sends the route to the PE2. Now PE2 carries both the route. But CE3 doesn't install the route coming from PE2 into its BGP table. It is a race condition in BGP. It looks like whichever route comes first will be installed in the BGP table. Apparently the BGP decision process is completely bypassed. I have played with all BGP attributes (weight, metric, bgp best path commands) and admin distance but the result is whichever route comes first will be installed first and later route from other ways are discarded and are not installed in the BGP table. So if the CE4 route comes first than CE3 install that int its BGP table and keep it there even after that it receives the same route from PE2. Again, if CE3 receives the route from PE2 first it keeps the route and doesn't install the same route coming in from CE4.


Any solution pls?

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
Loading.
Giuseppe Larosa Fri, 09/12/2008 - 07:08
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

Hello King,

I'm not sure I've understood your experiment.

you say :

if we inject the "same route" X from CE4 it doesn't get installed on CE3.


Are you trying to have CE4 inject in EIGRP exactly the same IP prefix that has been advertised by CE1 on the other VRF site in EIGRP, then advertised by CE2 in EBGP to PE1, passed via MP BGP to PE2, advertised by PE2 in EBGP to CE3 ?

Or are you using another prefix ?


in the first case two notes:

a) the reason of what you see


what you see is the conseguence of different AD of an EBGP path and an EIGRP route:

CE3 has already an EBGP entry coming from PE2 for prefix X.

This entry has parameters B [ 20 m ] in the routing table.

The EIGRP advertisement is suggesting a route with the following parameters:

D [ 90 eigrp_metric]

being 90 > 20 the eigrp advertisement is not installed in the routing table

Not being installed in the routing table this EIGRP entry is not considered when redistributing EIGRP into BGP.

This is what is happening here.

You have built an example that shows that only prefixes that are installed in the routing table are considered when redistributing in another protocol.

This is not a BGP issue, but part of how redistribution works.


b) in the real world two different VRF sites will advertise different subnets or they will be a single site (ok there are some DR designs that call for the same subnets on different sites but this is a special case).


I would investigate what happens if:

CE2-PE1, PE2-CE3 use EIGRP as the PE-CE routing protocol.

In this case the mutual redistribution is moved to the PE nodes and is between

af ipv4 vrf vrfname


and

router eigrp 100

address-family ipv4 vrf vrfname


Hope to help

Giuseppe


merryllem Fri, 09/12/2008 - 16:52
User Badges:

The BGP weight should have fixed this problem. A few things.


1. Would it be possible to see the configs that you used when you attempted to fix the problem using BGP weigth.

2. Which route would like to be installed in CE3? the one from BGP or EIGRP?


sasif Mon, 09/15/2008 - 02:40
User Badges:

Thank you all for your replies.


I was able to resolve this issue by setting BGP and EIGRP with the same AD and than making IGP route more attractive(Weight) in the BGP best path descision process. I have not looked if this would cause other issues. My idea was to have IGP route take precedence all the time and send it to the PE via BGP. Without this it was a race condition and non-determinstic behaviour. Whichever route shows up first stays in the routing table.

Actions

This Discussion