Description

This article describes the best practice for BGP configuration when route reflectors will be used specifically with regard to next hop self.

Symptoms

The /30 IP addresses usually used for EBGP peers are often not shared in the IGP. For this reason, routes learned from EBGP peers must go through an export policy with a next-hop of self when being given to IBGP peers. It's quickest to issue set protocols bgp group IBGP export nhs-policy .

This works perfectly except when the router is a Route Reflector. In this case, routes that are reflected also have their next-hop set to self by the reflector server, even though this is not needed, as the IGP has a route to the reflector client.   The result is that BGP-routed traffic bound for the reflector client will go through the reflector server before going to the client even though there may be an IGP or MPLS route which can bypass the reflector server.

Solution


The best practice when setting up BGP is to have a policy on the BGP global level set as:

user@router# show policy-options
policy-statement bgp-export {

term ebgp {
from route-type external;
then {
next-hop self;
accept;
}
}
term ibgp {
from route-type internal;
then accept;
}
}

Related Information