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