Consider the scenario:
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?