Claudio Jeker wrote:
On Thu, Apr 27, 2006 at 04:24:57PM +0100, Dunc wrote:
Hi all,
I'm trying to configure an OpenBSD box as a BGP route reflector.
I have an iBGP peer configured to one of our core routers which has an eBGP
session to one of our providers. I have configured that neighbor with the
"route-reflector" option in bgpd.conf. If I log updates, and watch the log
as the session comes up, I see a lot of updates come in, with the next-hop
attribute set to the IP of our provider, which is what I would expect as
the next-hop should not be changed in iBGP.
If I then show fib or show rib with bgpctl, the next-hop for all these
routes is actually the IP of our core router, rather than that of our provider.
I have configured a static route on the OpenBSD box to our provider's IP,
so the problem isn't that it is an unreachable network.
I think I must be missing something, because AFAIK, this isn't the correct
behaviour for iBGP.
Show rib and show fib shows the true nexthop and not the exit nexthop.
The true nexthop is the one that is one hop from your router whereas the
exit nexthop is the nexthop sent to you by the BGP update.
Ok, I configured another router to have an iBGP peer, and set both
neighbors to be route-reflector clients, and can see that it is indeed
passing routes on with the exit nexthop set.
This behaviour of putting the true next hop into the routing table seems
weird to me though, surely it should be the job of whatever IGP one
uses, or even just by using static routes, to decide how to get to the
exit nexthop, rather than the true nexthop be entered into the routing
tables?
In any case, is there any way I can see the actual routes received from
a peer? ( I've noticed that I can do this by logging updates, but is
there a bgpctl command equivalent to "show ip bgp neighbors <neighbor>
received-routes" ? )
Many thanks for replying to my original question,
Regards,
Dunc