BGP RIB Failures and BGP Synchronization - The Cisco Learning ...
BGP RIB Failures and BGP Synchronization - The Cisco Learning ...
BGP RIB Failures and BGP Synchronization - The Cisco Learning ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
<strong>BGP</strong> <strong>RIB</strong>-<strong>Failures</strong> are common when <strong>BGP</strong> synchronization is enabled. In general <strong>BGP</strong> <strong>RIB</strong>-<strong>Failures</strong><br />
are BAD, but in the case of <strong>BGP</strong> <strong>Synchronization</strong>, they are GOOD. When you check the reason for the<br />
<strong>RIB</strong>-Failure using the "sh ip bgp rib-failure" comm<strong>and</strong> you should see the comment "Higher admin<br />
distance". <strong>The</strong>n if you check the output of the "sh ip bgp " you should see<br />
the route as "synchronized". This is a GOOD <strong>RIB</strong>-Failure, because the route is advertised to the e<strong>BGP</strong><br />
speakers. See the example outputs below.<br />
R3_AS65100#sh ip bgp<br />
<strong>BGP</strong> table version is 48, local router ID is 3.3.3.3<br />
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,<br />
r <strong>RIB</strong>-failure, S Stale<br />
Origin codes: i - IGP, e - EGP, ? - incomplete<br />
Network Next Hop Metric LocPrf Weight Path<br />
* i10.0.0.0 10.10.45.5 0 100 0 i<br />
*> 0.0.0.0 0 32768 i<br />
*> 20.0.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 20.0.0.0 192.168.13.1 0 0 65200 i<br />
*> 20.16.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 20.32.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 20.48.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 30.0.0.0/12 192.168.23.2 0 0 65300 i<br />
*> 30.0.0.0 192.168.23.2 0 0 65300 i<br />
*> 30.16.0.0/12 192.168.23.2 0 0 65300 i<br />
*> 30.32.0.0/12 192.168.23.2 0 0 65300 i<br />
*> 30.48.0.0/12 192.168.23.2 0 0 65300 i<br />
* i40.0.0.0/12 10.10.45.5 0 100 0 65400 i<br />
r>i40.0.0.0 10.10.45.5 0 100 0 65400 i<br />
* i40.16.0.0/12 10.10.45.5 0 100 0 65400 i<br />
* i40.32.0.0/12 10.10.45.5 0 100 0 65400 i<br />
* i40.48.0.0/12 10.10.45.5 0 100 0 65400 i<br />
R3_AS65100#sh ip bgp rib-failure<br />
Network Next Hop <strong>RIB</strong>-failure <strong>RIB</strong>-NH Matches<br />
40.0.0.0 10.10.45.5 Higher admin distance n/a<br />
R3_AS65100#sh ip bgp 40.0.0.0/8<br />
<strong>BGP</strong> routing table entry for 40.0.0.0/8, version 38<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
65400, (received & used)<br />
10.10.45.5 (metric 128) from 10.10.45.5 (5.5.5.5)<br />
© BTS Communications, LLC 1 01/02/12
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R3_AS65100#sh ip bgp nei 192.168.13.1 advertised-routes<br />
<strong>BGP</strong> table version is 48, local router ID is 3.3.3.3<br />
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,<br />
r <strong>RIB</strong>-failure, S Stale<br />
Origin codes: i - IGP, e - EGP, ? - incomplete<br />
Network Next Hop Metric LocPrf Weight Path<br />
*> 10.0.0.0 0.0.0.0 0 32768 i<br />
*> 20.0.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 20.0.0.0 192.168.13.1 0 0 65200 i<br />
*> 20.16.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 20.32.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 20.48.0.0/12 192.168.13.1 0 0 65200 i<br />
*> 30.0.0.0/12 192.168.23.2 0 0 65300 i<br />
*> 30.0.0.0 192.168.23.2 0 0 65300 i<br />
*> 30.16.0.0/12 192.168.23.2 0 0 65300 i<br />
*> 30.32.0.0/12 192.168.23.2 0 0 65300 i<br />
*> 30.48.0.0/12 192.168.23.2 0 0 65300 i<br />
r>i40.0.0.0 10.10.45.5 0 100 0 65400 i
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
* i30.0.0.0/12 10.10.34.3 0 100 0 65300 i<br />
r>i30.0.0.0 10.10.34.3 0 100 0 65300 i<br />
* i30.16.0.0/12 10.10.34.3 0 100 0 65300 i<br />
* i30.32.0.0/12 10.10.34.3 0 100 0 65300 i<br />
* i30.48.0.0/12 10.10.34.3 0 100 0 65300 i<br />
*> 40.0.0.0/12 192.168.56.6 0 0 65400 i<br />
*> 40.0.0.0 192.168.56.6 0 0 65400 i<br />
*> 40.16.0.0/12 192.168.56.6 0 0 65400 i<br />
*> 40.32.0.0/12 192.168.56.6 0 0 65400 i<br />
*> 40.48.0.0/12 192.168.56.6 0 0 65400 i<br />
R5_AS65100#sh ip bgp rib-failure<br />
Network Next Hop <strong>RIB</strong>-failure <strong>RIB</strong>-NH Matches<br />
20.0.0.0 10.10.34.3 Higher admin distance n/a<br />
30.0.0.0 10.10.34.3 Higher admin distance n/a<br />
R5_AS65100#sh ip bgp 20.0.0.0/8<br />
<strong>BGP</strong> routing table entry for 20.0.0.0/8, version 72<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R5_AS65100#sh ip bgp 30.0.0.0/8<br />
<strong>BGP</strong> routing table entry for 30.0.0.0/8, version 73<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
65300, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R5_AS65100#<br />
But what about the /12 subnet routes we have in the <strong>BGP</strong> table? Why do these show no <strong>RIB</strong>-Failure,<br />
yet they are not advertised to our external <strong>BGP</strong> speaker R6? Because they are "not synchronized".<br />
Remember the <strong>BGP</strong> <strong>Synchronization</strong> rule. See the output below.<br />
R5_AS65100#sh ip bgp 20.0.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.0.0.0/12, version 0<br />
Paths: (1 available, no best path)<br />
© BTS Communications, LLC 3 01/02/12
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
Not advertised to any peer<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, not synchronized<br />
R5_AS65100#sh ip bgp 20.16.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.16.0.0/12, version 0<br />
Paths: (1 available, no best path)<br />
Not advertised to any peer<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, not synchronized<br />
R5_AS65100#sh ip bgp 20.32.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.32.0.0/12, version 0<br />
Paths: (1 available, no best path)<br />
Not advertised to any peer<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, not synchronized<br />
R5_AS65100#sh ip bgp 20.48.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.48.0.0/12, version 0<br />
Paths: (1 available, no best path)<br />
Not advertised to any peer<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, not synchronized<br />
R5_AS65100#<br />
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 <strong>and</strong><br />
20.48.0.0/12 subnets.<br />
R6_AS65400#sh ip rou<br />
Codes: C - connected, S - static, R - RIP, M - mobile, B - <strong>BGP</strong><br />
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area<br />
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2<br />
E1 - OSPF external type 1, E2 - OSPF external type 2<br />
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2<br />
ia - IS-IS inter area, * - c<strong>and</strong>idate default, U - per-user static route<br />
o - ODR, P - periodic downloaded static route<br />
© BTS Communications, LLC 4 01/02/12
Gateway of last resort is not set<br />
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
B 20.0.0.0/8 [20/0] via 192.168.56.5, 00:28:33<br />
C 192.168.56.0/24 is directly connected, Serial0/0<br />
40.0.0.0/8 is variably subnetted, 5 subnets, 2 masks<br />
C 40.32.0.0/12 is directly connected, Loopback32<br />
C 40.48.0.0/12 is directly connected, Loopback48<br />
C 40.0.0.0/12 is directly connected, Loopback0<br />
S 40.0.0.0/8 is directly connected, Null0<br />
C 40.16.0.0/12 is directly connected, Loopback16<br />
B 10.0.0.0/8 [20/0] via 192.168.56.5, 00:12:12<br />
B 30.0.0.0/8 [20/0] via 192.168.56.5, 00:28:33<br />
R6_AS65400#<br />
So how do we get these to be advertised? We have to "synchronize" our i<strong>BGP</strong> <strong>and</strong> IGP. <strong>The</strong>n we will<br />
see these routes on R6. We need to include the "subnets" keyword on our redistribution comm<strong>and</strong> back<br />
on R3. Now the routes show as “synchronized” in the <strong>BGP</strong> table.<br />
R5_AS65100#sh ip bgp 20.0.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.0.0.0/12, version 90<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R5_AS65100#sh ip bgp 20.16.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.16.0.0/12, version 88<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R5_AS65100#sh ip bgp 20.32.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.32.0.0/12, version 97<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
© BTS Communications, LLC 5 01/02/12
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R5_AS65100#sh ip bgp 20.48.0.0/12<br />
<strong>BGP</strong> routing table entry for 20.48.0.0/12, version 98<br />
Paths: (1 available, best #1, table Default-IP-Routing-Table, <strong>RIB</strong>-failure(17))<br />
Advertised to update-groups:<br />
2<br />
65200, (received & used)<br />
10.10.34.3 (metric 128) from 10.10.34.3 (3.3.3.3)<br />
Origin IGP, metric 0, localpref 100, valid, internal, synchronized, best<br />
R5_AS65100#<br />
Now we see the routes in R6s routing table as well.<br />
R6_AS65400#sh ip rou<br />
Codes: C - connected, S - static, R - RIP, M - mobile, B - <strong>BGP</strong><br />
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area<br />
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2<br />
E1 - OSPF external type 1, E2 - OSPF external type 2<br />
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2<br />
ia - IS-IS inter area, * - c<strong>and</strong>idate default, U - per-user static route<br />
o - ODR, P - periodic downloaded static route<br />
Gateway of last resort is not set<br />
20.0.0.0/8 is variably subnetted, 5 subnets, 2 masks<br />
B 20.16.0.0/12 [20/0] via 192.168.56.5, 00:11:23<br />
B 20.0.0.0/12 [20/0] via 192.168.56.5, 00:11:23<br />
B 20.0.0.0/8 [20/0] via 192.168.56.5, 01:08:48<br />
B 20.48.0.0/12 [20/0] via 192.168.56.5, 00:11:23<br />
B 20.32.0.0/12 [20/0] via 192.168.56.5, 00:11:23<br />
C 192.168.56.0/24 is directly connected, Serial0/0<br />
40.0.0.0/8 is variably subnetted, 5 subnets, 2 masks<br />
C 40.32.0.0/12 is directly connected, Loopback32<br />
C 40.48.0.0/12 is directly connected, Loopback48<br />
C 40.0.0.0/12 is directly connected, Loopback0<br />
S 40.0.0.0/8 is directly connected, Null0<br />
C 40.16.0.0/12 is directly connected, Loopback16<br />
B 10.0.0.0/8 [20/0] via 192.168.56.5, 00:52:28<br />
30.0.0.0/8 is variably subnetted, 5 subnets, 2 masks<br />
B 30.16.0.0/12 [20/0] via 192.168.56.5, 00:11:24<br />
© BTS Communications, LLC 6 01/02/12
<strong>BGP</strong> <strong>RIB</strong> <strong>Failures</strong> <strong>and</strong> <strong>BGP</strong> <strong>Synchronization</strong><br />
B 30.0.0.0/12 [20/0] via 192.168.56.5, 00:11:24<br />
B 30.0.0.0/8 [20/0] via 192.168.56.5, 01:08:48<br />
B 30.48.0.0/12 [20/0] via 192.168.56.5, 00:11:24<br />
B 30.32.0.0/12 [20/0] via 192.168.56.5, 00:11:24<br />
R6_AS65400#<br />
Notice we also get the /12 subnet routes for 30.0.0.0/8 network. In addition, you might have noticed in<br />
the lab we have the same problem on R5 with the 40.0.0.0/8 network. I will let you try your h<strong>and</strong> at<br />
fixing the 40.0.0.0/12, 40.16.0.0/12, 40.32.0.0/12 <strong>and</strong> 40.48.0.0/12 subnets received on R5 from R6.<br />
Do you see these routes on R3? How about R1? R2? Go ahead give it try!<br />
© BTS Communications, LLC 7 01/02/12