BGP routes are propagated into the BGP table, and out to a BGP speaker. The process is
Adj-RIB-In —> Loc-RIB —> Adj-RIB-Out
Adj-RIB-In: The Adj-RIBs-In contains unprocessed routing information that has been advertised to the local BGP speaker by its peers.
Loc-RIB: The Loc-RIB contains the routes that have been selected by the local BGP speaker's Decision Process.
Adj-RIB-Out: The Adj-RIBs-Out contains the routes for advertisement to specific peers by means of the local speaker's UPDATE messages. This is actually just a pointer back to the record in the Loc-RIB.
If soft-reconfiguration inbound is configured, the router stores a copy of all unprocessed updates received by its peers for future use, otherwise this table is discarded after putting the routes in Loc-RIB. BGP soft-reconfiguration inbound can be configured by following command:
neighbor x.x.x.x soft-reconfiguration inbound
The contents of Adj-RIB-In can be seen by using the following command:
#show ip bgp neighbors x.x.x.x received-routes
example:
R1#sh ip bgp neighbors 172.16.12.2 received-routes
% Inbound soft reconfiguration not enabled on 172.16.12.2
R2(config-router)#neighbor 172.16.12.1 soft-reconfiguration inbound
R2#sh ip bgp neighbors 172.16.12.1 advertised-routes
BGP table version is 4, local router ID is 10.10.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.10.2.0/24 0.0.0.0 0 32768 ?
*> 172.16.12.0/24 0.0.0.0 0 32768 ?
** Adj-RIB-In**
To view the contents of Loc-RIB table from a specific neighbor, issue the following command:
#show ip bgp neighbors x.x.x.x routes
example:
R2#show ip bgp neighbors 172.16.12.1 routes
BGP table version is 4, local router ID is 10.10.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i 10.10.1.0/24 172.16.12.1 0 100 0 ?
* i 172.16.12.0/24 172.16.12.1 0 100 0 ?
Total number of prefixes 2
Loc-RIB
To view the contents of Adj-RIB-Out table, the following command can be used. Note that there is no such actual table stored in memory, this is actually just a pointer back to the record in the Loc-RIB.
#show ip bgp neighbors x.x.x.x advertised-routes
example:
R1#sh ip bgp neighbors 172.16.12.2 advertised-routes
BGP table version is 5, local router ID is 10.10.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.10.1.0/24 0.0.0.0 0 32768 ?
*> 172.16.12.0/24 0.0.0.0 0 32768 ?
Total number of prefixes 2
Adj-RIB-Out