An infrequent, yet interesting issue that comes up occasionally is when BGP encounters RIB failures. Usually, it takes the form of a prefix which you’d expect a router to learn via eBGP in its RIB being learnt via a routing protocol with a worse administrative distance.
To understand this problem, we first need to realise that “RIB failure” in a “show ip bgp” output implies that a route offered to the RIB by BGP has not been accepted. This is not a cause for concern if you have a static, or connected route to to that network on the router, but if you’re expecting it to be via eBGP then you can infer that something is misconfigured with your routing.
This can also be simplified to “BGP does not care about administrative distance when selecting a path”.
For reference, the path selection algorithm goes:
Network layer reachability information.
Weight (Cisco proprietary). Bigger is better.
Locally originated route
AS path length
Origin code. IGP>EGP>Incomplete
Median Exit Discriminator. Lower is better.
Neighbour type. eBGP better than iBGP.
IGP metric to Next Hop. Lowest Router ID wins.