BGP RIB-Failure – Understanding Higher Admin Distance

bgpgns3Network

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.

Network Topology

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 connected 200.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 or show 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:

Protocol       Admin Distance default
Connected      0
Static         1
eBGP           20
OSPF           110
IS-IS          115
RIP            120
iBGP           200

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.