BGP – Why Connected Routes Are Not Shown as RIB Failure

bgp

I know that “RIB failure” in a “show ip bgp” output indicates that a route offered to the RIB by BGP has not been accepted.
But why then the connected Routes that are being advertised by the BGP network/mask command in the local router, is not shown as "r" (rib failure) in the BGP table?.
Instead I get it as *> 192.168.0.4/32 0.0.0.0
Connected routes always wins (comparing with any Protocols-IGB/BGP).
So in this case BGP is failing to compete to insert the connect route in the RIB.

Configuration are as below:

Sh run int lo0
interface Loopback0
 ip address 192.168.0.4 255.255.255.255
end


sh run | s bgp

router bgp 65234
 bgp router-id 4.4.4.4
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 192.168.0.3 remote-as 65234
 neighbor 192.168.0.3 update-source Loopback0
 !
 address-family ipv4
  network 192.168.0.4 mask 255.255.255.255
  neighbor 192.168.0.3 activate
 exit-address-family

sh version
Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.6(2)T

enter image description here

Thanks in Advance,
Sajith

Best Answer

The difference is that R4 is originating the route to 192.168.0.4/32 (with the network statement), whereas the route to 192.168.0.2/32 is being received from another BGP router.

As BGP on R4 is originating the 192.168.0.4/32 route it would never attempt to install it in its routing table as it has a better local route that it sourced the information from. It will advertise this route to other BGP routers, but would not use it itself as it is the originator of the route.

The route to 192.168.0.2/32 on the other hand was received from another router via BGP and also another protocol. The other protocol had a lower AD so a RIB failure is shown in BGP for that route.