[PATCH,RFC 1/3] BGP: Implement secondary remote AS number support.

Ondrej Zajicek santiago at crfreenet.org
Thu Mar 9 17:53:51 CET 2017


On Thu, Mar 09, 2017 at 04:29:40PM +0200, Lennert Buytenhek wrote:
> This patch implements the latter option, and this functionality is
> enabled by specifying two different remote AS numbers for a peer in
> the neighbor statement.  Instead of specifying:
> 
> 	neighbor 1.2.3.4 as 12345;
> 
> Specify this:
> 
> 	neighbor 1.2.3.4 as 12345 as 23456;

I would prefer if the secondary as would either have a separate keyword,
(e.g. neighbor 1.2.3.4 as 12345 secondary as 23456) or it was just plain
positional (e.g. neighbor 1.2.3.4 as 12345 23456).


> (bird's config grammar already allows specifying multiple remote AS
> numbers for a peer, and it will use the last AS number you specify
> this way if you do that.  With this patch, it will use the last two
> AS numbers you specify.)
> ---
>  proto/bgp/bgp.c     | 17 +++++++++--------
>  proto/bgp/bgp.h     |  2 +-
>  proto/bgp/config.Y  |  2 +-
>  proto/bgp/packets.c |  8 ++++++--
>  4 files changed, 17 insertions(+), 12 deletions(-)
> 
> diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
> index 0f1c944..bceae4a 100644
> --- a/proto/bgp/bgp.c
> +++ b/proto/bgp/bgp.c
> @@ -1278,8 +1278,6 @@ bgp_init(struct proto_config *C)
>  
>    p->cf = c;
>    p->local_as = c->local_as;
> -  p->remote_as = c->remote_as;
> -  p->is_internal = (c->local_as == c->remote_as);
>    p->rs_client = c->rs_client;
>    p->rr_client = c->rr_client;
>    p->igp_table = get_igp_table(c);
> @@ -1291,8 +1289,6 @@ bgp_init(struct proto_config *C)
>  void
>  bgp_check_config(struct bgp_config *c)
>  {
> -  int internal = (c->local_as == c->remote_as);
> -

I don't like changes in bgp_check_config(). I think that if you set
remote_as as EBGP, while remote_as2 as IBGP, you could end up with
inconsistent settings. IMHO allowing remote_as2 only in EBGP makes
sense, as in IBGP remote ASN must be the same as local ASN. So we
could make internal / is_internal fixed, as it was.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at 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."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20170309/5b6b173c/attachment.asc>


More information about the Bird-users mailing list