Description

This article describes the issue of aggregate routes coming in as unusable or hidden via BGP.

Symptoms

Assume that IBGP is running between two sites, US-SRX and UK-SRX, and you are aggregating routes on US SRX (192.168.0.0/16) to send it to UK SRX; so that the routing table on UK SRX does not get full.

The routes on the US-SRX were learnt from another router, so the next hop for the routes points to the router, from which routes have been received. In such cases, the aggregate route learnt on the UK SRX are hidden, as show below:


root@UK># run show route receive-protocol bgp 192.168.1.1
inet.0: 16 destinations, 16 routes (15 active, 0 holddown, 1 hidden

Solution

This issue occurs when the route received by UK-SRX has the IP as next-hop, for which UK-SRX dose not have a route.

The solution is to have a route for the next-hop IP. However, this is not a feasible option, as the dynamic routing protocol is being run. The ideal solution would be to change the next-hop to the router, from which aggregate routes are received; that is, the device sending the aggregate route should change the next hop to self.

In this example, US-SRX should change the next-hop for the aggregate routes. The following configuration needs to be implemented on US-SRX:

 
root@US# show policy-options policy-statement next-hop-self
term next-hop-self {
    then {
        next-hop self;
    }
}

This is applicable for all routers and not just SRX. The configuration will differ for each vendor. This issue also occurs if BGP is enabled on the loopback interface.