On Wed, Jul 11, 2018 at 10:18:59PM +0200, Sebastian Benoit wrote:
> 
> ok?

OK claudio@
 
> (benno_check_rdomain.diff)
> 
> diff --git usr.sbin/bgpd/config.c usr.sbin/bgpd/config.c
> index 2a2e5dfa314..4f8134e6b68 100644
> --- usr.sbin/bgpd/config.c
> +++ usr.sbin/bgpd/config.c
> @@ -46,6 +46,7 @@ struct bgpd_config *
>  new_config(void)
>  {
>       struct bgpd_config      *conf;
> +     u_int                    rdomid;
>  
>       if ((conf = calloc(1, sizeof(struct bgpd_config))) == NULL)
>               fatal(NULL);
> @@ -54,6 +55,10 @@ new_config(void)
>       conf->bgpid = get_bgpid();
>       conf->fib_priority = RTP_BGP;
>       conf->default_tableid = getrtable();
> +     ktable_exists(conf->default_tableid, &rdomid);
> +     if (rdomid != conf->default_tableid)
> +             fatalx("current routing table %u is not a routing domain",
> +                 conf->default_tableid);
>  
>       if (asprintf(&conf->csock, "%s.%d", SOCKET_NAME,
>           conf->default_tableid) == -1)
> 

-- 
:wq Claudio

Reply via email to