On Mon, Oct 14, 2019 at 2:10 PM Ondrej Zajicek <santiago@crfreenet.org> wrote:
On Mon, Oct 14, 2019 at 11:08:50AM +0100, Neil Jerram wrote:
> Hi - I have a topology like this, using BIRD 1.6.7:
>
> I want BIRD-B to reflect routes within its own AS, but also propagate
> routes to and from AS 65001.  So for the eBGP peering I have

> My question is how to get the ideal next-hop-self behaviour, which I
> think is
>
> - Do next-hop-self for routes from AS 65001 that are being passed on
>   to Router B, C etc.  Otherwise those routes will be unreachable.
>
> - Don't do next-hop-self for reflected routes.  Next-hop-self isn't
>   needed here, because the downstream Router B, C etc are already
>   directly connected.

Hello

We implemented extension for next-hop-self in version 2.0.3 that allows
to specify 'next hop self ebgp', this solves exactly this issue.

For older versions, you would need to workaround that in filters,
something like:

if proto = "bgpX" then
  bgp_next_hop = A.b.C.D;

Thanks Ondrej.  Am I right in thinking that I should do this in the import filter?  (From reading the code, it appears that "next hop self" takes effect on import.)

Best wishes,
    Neil