Professional Documents
Culture Documents
BGP RIB Failure and BGP Synchronization
BGP RIB Failure and BGP Synchronization
BGP RIB-Failures are common when BGP synchronization is enabled. In general BGP RIB-
Failures are BAD, but in the case of BGP Synchronization, they are GOOD. When you check the
reason for the RIB-Failure using the "sh ip bgp rib-failure" command you should see the comment
"Higher admin distance". Then if you check the output of the "sh ip bgp <route prefix/prefix-
length>" you should see the route as "synchronized". This is a GOOD RIB-Failure, because the
route is advertised to the eBGP speakers. See the example outputs below.
R3_AS65100#sh ip bgp
BGP table version is 48, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
On R5 we have two routes that show up as RIB-Failures. Again, when we look at the outputs of the
"sh ip bgp rib-failure" and "sh ip bgp <prefix/prefix-length> commands we want to look for the
those keywords "Higher admin distance" and "synchronized". See the outputs below.
R5_AS65100#sh ip bgp
BGP table version is 86, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
But what about the /12 subnet routes we have in the BGP table? Why do these show no RIB-
Failure, yet they are not advertised to our external BGP speaker R6? Because they are "not
synchronized". Remember the BGP Synchronization rule. See the output below.
Notice in R6s routing table there are no entries for the 20.0.0.0/12, 20.16.0.0/12, 20.32.0.0/12 and
20.48.0.0/12 subnets.
R6_AS65400#sh ip rou
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
So how do we get these to be advertised? We have to "synchronize" our iBGP and IGP. Then we
will see these routes on R6. We need to include the "subnets" keyword on our redistribution
command back on R3. Now the routes show as “synchronized” in the BGP table.
R6_AS65400#sh ip rou
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Notice we also get the /12 subnet routes for 30.0.0.0/8 network. In addition, you might have noticed
in the lab we have the same problem on R5 with the 40.0.0.0/8 network. I will let you try your hand
at fixing the 40.0.0.0/12, 40.16.0.0/12, 40.32.0.0/12 and 40.48.0.0/12 subnets received on R5 from
R6. Do you see these routes on R3? How about R1? R2? Go ahead give it try!