I tried to make BGP routing on this topology .. After that I added 200.200.10.0 network and 200.200.20.0 network in R1, I had rib-failure (higher admin distance) on R2 and R3 .. but I was able to ping from client at R2 to 200.200.20.1 and client at R3 to 200.200.10.1. I tried deleting the network on bgp router 3000 on R1, the ribs-failure was disappear but, I could not do to ping public ip as before.
R1: Show run
router bgp 3000
bgp router-id 1.1.1.1
bgp log-neighbor-changes
network 200.200.10.0
network 200.200.20.0
neighbor 200.200.10.2 remote-as 3001
neighbor 200.200.20.2 remote-as 3002
R1: show ip bgp
BGP table version is 6, local router ID is 1.1.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
*> 192.168.27.0/26 200.200.10.2 0 0 3001 i
*> 192.168.27.64/26 200.200.20.2 0 0 3002 i
*> 192.168.27.128/29
200.200.10.2 0 0 3001 i
*> 200.200.10.0 0.0.0.0 0 32768 i
*> 200.200.20.0 0.0.0.0 0 32768 i
R2: Show run
router bgp 3001
bgp router-id 2.2.2.2
bgp log-neighbor-changes
network 192.168.27.0 mask 255.255.255.192
network 192.168.27.128 mask 255.255.255.248
neighbor 200.200.10.1 remote-as 3000
R2: show ip bgp and show ip bgp rib-failure
BGP table version is 6, local router ID is 2.2.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
*> 192.168.27.0/26 0.0.0.0 0 32768 i
*> 192.168.27.64/26 200.200.10.1 0 3000 3002 i
*> 192.168.27.128/29
0.0.0.0 0 32768 i
r> 200.200.10.0 200.200.10.1 0 0 3000 i
*> 200.200.20.0 200.200.10.1 0 0 3000 i
RouterHQ#show ip bgp rib-failure
Network Next Hop RIB-failure RIB-NH Matches
200.200.10.0 200.200.10.1 Higher admin distance n/a
R3: show run
router bgp 3002
bgp router-id 3.3.3.3
bgp log-neighbor-changes
network 192.168.27.64 mask 255.255.255.192
neighbor 200.200.20.1 remote-as 3000
R3: show ip bgp and show ip bgp rib-failure
BGP table version is 6, 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, 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
*> 192.168.27.0/26 200.200.20.1 0 3000 3001 i
*> 192.168.27.64/26 0.0.0.0 0 32768 i
*> 192.168.27.128/29
200.200.20.1 0 3000 3001 i
*> 200.200.10.0 200.200.20.1 0 0 3000 i
r> 200.200.20.0 200.200.20.1 0 0 3000 i
RouterBranch#show ip bgp rib-failure
Network Next Hop RIB-failure RIB-NH Matches
200.200.20.0 200.200.20.1 Higher admin distance n/a
Best Answer
The
rib-failure
is telling you the learned BGP route isn't best because there is another route -- in this case, directly connected routes -- with a better Admin Distance (AD). On R1 & R3 there is a directly connected200.200.20.0/24
route configured on an interface, so that route has AD 0, which is the best AD value; higher is worse.Use
show route
orshow ip route
to see the directly connected route for these routes where you see rib-failure.BGP AD is configurable but defaults to 20 (eBGP, like your example network) or 200 (iBGP, within same AS or confederation.) Here is Cisco's table showing the default values for AD per routing protocol. Common ones for simple network:
There's not anything wrong with your configuration. You've just misunderstood that you don't have to learn
200.200.20.0/24
on R1 or R3 since those routers are already directly-connected to that subnet. That is what rib-failure is indicating.