Re: next-hop-self for non-reflected routes only?

2019-10-17 Thread Neil Jerram
On Mon, Oct 14, 2019 at 3:07 PM Ondrej Zajicek 
wrote:

> On Mon, Oct 14, 2019 at 02:45:37PM +0100, Neil Jerram wrote:
> > > 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.)
>
> No, in the export filter. You import the route with the original next hop
> (e.g. one from AS 65001), but when exported to B,C it is reset to the
> local value.
>

Many thanks, I'll try this.

Neil


Re: next-hop-self for non-reflected routes only?

2019-10-14 Thread Ondrej Zajicek
On Mon, Oct 14, 2019 at 02:45:37PM +0100, Neil Jerram wrote:
> > 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.)

No, in the export filter. You import the route with the original next hop
(e.g. one from AS 65001), but when exported to B,C it is reset to the
local value.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."


signature.asc
Description: PGP signature


Re: next-hop-self for non-reflected routes only?

2019-10-14 Thread Neil Jerram
On Mon, Oct 14, 2019 at 2:10 PM Ondrej Zajicek 
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


Re: next-hop-self for non-reflected routes only?

2019-10-14 Thread Ondrej Zajicek
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;

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."


signature.asc
Description: PGP signature


next-hop-self for non-reflected routes only?

2019-10-14 Thread Neil Jerram
Hi - I have a topology like this, using BIRD 1.6.7:

   ---+  +--
AS 65001  |  | AS 65002
  |  |
  ++  |  | ++ iBGP
  | Router |---| Router |--- Router B
  | BIRD-A |  |  eBGP| | BIRD-B |--- Router C
  ++  |  | ++ .  .
  |  |.  .
  |  |
   ---+  +--

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

protocol bgp ra1 {
  description "Connection to BGP peer";
  local as 65002;
  gateway recursive;
  import all;
  export all;
  add paths on;
  connect delay time 2;
  connect retry time 5;
  error wait time 5,30;
  neighbor 172.31.1.2 as 65001;
}

and for the iBGP peerings

template bgp nodes {
  description "Connection to BGP peer";
  local as 65001;
  direct;
  gateway recursive;
  import all;
  export all;
  add paths on;
  graceful restart;
  connect delay time 2;
  connect retry time 5;
  error wait time 5,30;
  #next hop self;
}

protocol bgp node1 from nodes {
  neighbor 172.31.11.3 as 65001;
  rr client;
}

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.

Thanks in advance for any advice!

 Neil