Saturday, May 11, 2013

iBGP next-hop-self Not Working

I've made some tests on dynamips ( ios 12.4 ) and next-hop-self
doesn't work for ibgp routes on route-reflectors. However this seems
to be the correct behavior according to cisco and juniper : :

Do not use the neighbor next-hop-self command to modify the next hop
attribute for a route reflector when this feature is enabled for a
route reflector client. Using the neighbor next-hop-self command on
the route reflector will modify next hop attributes only for routes
that are learned from eBGP peers and not the intended routes that are
being reflected from the route reflector clients. To modify the next
hop attribute when reflecting a route, use an outbound route map. :

This is expected behavior. When you use Next-hop self on RRs, the
cause only affects the next hop of eBGP learned routes (i.e.
non-reflected routes). A RR reflects the same gateway for IBGP routes
to other IBGP peers that it learns from the orginiating IBGP peer.
The next-hop can only be modified for a reflected route via an
outbound route-map.

Please refer to RFC 1966 section 8, as follows:

In some implementations, modification of the BGP path attribute,
NEXT_HOP is possible. For example, there could be a need for a RR to
modify NEXT_HOP for EBGP learned routes sent to its internal peers.
However, it must not be possible for an RR to set on reflected IBGP
routes as this breaks the basic principle of Route Reflection and will
result in potential black holeing of traffic.

No comments: