Contents

Introduction

Prerequisites

Requirements

Components Used

BGP RIB-Failure

The Command bgp suppress-inactive

Configuration

Network Topology Diagram

Related Information

Introduction

This document describes what RIB-failure is in Border Gateway Protocol (BGP) and the use of the command bgp suppress-inactive .

Prerequisites

Requirements

Cisco recommends that you have knowledge of this topic:

- Border Gateway Protocol (BGP)

Components Used

The information in this document is based on a Cisco Router with Cisco IOS® version 15.6(2).

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

BGP RIB-Failure

When a Router receives a BGP UPDATE packet that contains Network Layer Reachability Information (NLRI) - this is, a route; the packet is processed in the next order:

Step 1. BGP checks for the NLRI (prefix received) against any BGP inbound filter configured on the Router.

Step 2. If the NLRI is not filtered, the prefix can be seen in the BGP table with the  show ip bgp  command.

Step 3. If the Routing Table already has the same prefix/prefix-length entry with a lower Administrative Distance (AD) as seen in show ip bgp, BGP marks the route received with RIB-Failure.

Note: For further details on Step 2, refer to the section "Why Routers Ignore Paths" in the document BGP Best Path Selection Algorithm.

Note: This document makes use of the terms NLRI, prefix and route interchangeably.

In this example, routes 10.10.1.1/32 and 10.10.3.3/32 are received via BGP and are installed in the Routing Table.

The outputs show both routes in the BGP table with the use of the show ip bgp:

Router

Router#show ip bgp

BGP table version is 5, local router ID is 10.2.3.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.1/32       10.1.2.1                 0    100      0 i

*>  10.10.3.3/32       10.2.3.3                 0             0 2 i

Router#

The routing table shows both routes with the command show ip route bgp:

Router

Router#show ip route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

& - replicated local route overrides by connected

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks

B        10.10.1.1/32 [200/0] via 10.1.2.1, 00:05:23

B        10.10.3.3/32 [20/0] via 10.2.3.3, 00:01:46

An example of RIB-failure can be seen with Static Routes configured for the same prefixes since those have precedence over BGP in the Routing Table because of a lower AD.

Note: The Administrative Distance (AD) of Static Routes is 1. The AD of iBGP routes is 200. The AD of eBGP routes is 20. In case of a tie, the routes learned via the protocol with the lowest AD value are selected and installed in the Routing Table.

The outputs show Static Routes added to the configuration and how these override the BGP routes in the routing table:

Router

Router#show running-config | include ip route

ip route 10.10.1.1 255.255.255.255 Null0

ip route 10.10.3.3 255.255.255.255 Null0

Router#

Router#show ip route static

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

& - replicated local route overrides by connected

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks

S        10.10.1.1/32 is directly connected, Null0

S        10.10.3.3/32 is directly connected, Null0  Router#

BGP marks its routes with an r in the BGP table which shows that those are in RIB-failure state. This is because the routes received via BGP are not in the routing table.

Router

Router#show ip bgp

BGP table version is 5, local router ID is 10.2.3.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

r>i 10.10.1.1/32       10.1.2.1                 0    100      0 i

r>  10.10.3.3/32       10.2.3.3                 0             0 2 i

Router#

The Command bgp suppress-inactive

It is important to mention that BGP still advertises networks in RIB-Failure state on Cisco Routers that runs Cisco IOS.

Note: EIGRP does not advertise routes that are not installed in the Routing Table. Those are marked as Zero Successor in the EIGRP topology table.

The command  bgp suppress-inactive  modifies this behavior to stop the advertisement of the prefixes that are in RIB-Failure state.

Note: Only the networks in RIB-Failure condition which have a different next-hop in BGP than its same entry in Routing Table are suppressed with the  bgp suppress-inactive  command.

Configuration

Network Topology Diagram

On Router R2, routes are shown in the BGP table in RIB-Failure condition:

R2

R2#show ip bgp

BGP table version is 14, local router ID is 10.2.3.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

r>i 10.10.1.1/32       10.1.2.1                 0    100      0 i

r>  10.10.3.3/32       10.2.3.3                 0             0 2 i

R2#

The reason is because Static Routes are configured:

R2

R2#show running-config | include ip route

ip route 10.10.1.1 255.255.255.255 10.1.2.254

ip route 10.10.3.3 255.255.255.255 10.2.3.3

R2#

- The Static Route for 10.10.1.1/32 defines a next-hop to 10.1.2.254 which differs from the next-hop received via BGP which is 10.1.2.1.

- The Static Route for 10.10.3.3/32 defines a next-hop which is equal to the next-hop received via BGP which is 10.2.3.3.

The command show ip bgp rib-failure   can inform about the next-hop that matches or not between the routes in BGP RIB-Failure and Routing Table as seen under the RIB-NH Matches column.

R2

R2#show ip bgp rib-failure

Network            Next Hop                      RIB-failure   RIB-NH Matches

10.10.1.1/32         10.1.2.1            Higher admin distance               No

10.10.3.3/32         10.2.3.3            Higher admin distance              Yes

R2#

In the absence of bgp suppress-inactive , even in RIB-Failure state, R2 continues to advertise both networks to Router R4 via BGP since this is the default behavior.

In Router R4, you can see both routes are received via BGP:

R4

R4#show ip bgp

BGP table version is 3, local router ID is 10.2.4.4

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.1/32       10.2.4.2                               0 1 i

*>  10.10.3.3/32       10.2.4.2                               0 1 2 i

R4#

With  bgp suppress-inactive  added to the BGP configuration on Router R2, the routes in RIB-Failure state and with RIB-NH Matches set to No are not advertised anymore:

R2

R2#show running-config partition router bgp 1

!

router bgp 1

bgp suppress-inactive

. . .

The next output shows that Router R4 does not receive the route 10.10.1.1/32 via BGP since Router R2 does not advertise it anymore.

R4

R4#show ip bgp

BGP table version is 4, local router ID is 10.2.4.4

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.3.3/32       10.2.4.2                               0 1 2 i

R4#

Through this example, it has been demonstrated that by default, BGP continues to advertise routes in RIB-Failure condition. Those are routes received via BGP and that are not installed in the Routing Table.

The bgp suppress-inactive command is available to modify this behavior.

Related Information

- Cisco Technical Supprt & Downloads