Claudio Jeker(cje...@diehard.n-r-g.com) on 2019.03.11 09:11:39 +0100: > This diff is cleaning up a few minor things. It removes the init_conf() > function in session.c and moves it to init_config() where all defaults > should be set. Because of this printconf is a bit changed to only print > values which diverge from the default. Finally move mrt_mergeconfig into
i'm unsure if i like that bit. On one side, this way you can use it to clean your config of useless lines. On the other side, you now have to find the defaults in the manpage. Thats not a no-go on this and otherwise i like it, but havent tested it yet because EBUSY until Wednesday. > merge_config. > > OK? > -- > :wq Claudio > > Index: config.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/config.c,v > retrieving revision 1.85 > diff -u -p -r1.85 config.c > --- config.c 7 Mar 2019 07:42:36 -0000 1.85 > +++ config.c 11 Mar 2019 08:01:05 -0000 > @@ -200,7 +200,6 @@ merge_config(struct bgpd_config *xconf, > if ((conf->flags & BGPD_FLAG_REFLECTOR) && conf->clusterid == 0) > conf->clusterid = conf->bgpid; > > - > /* adjust FIB priority if changed */ > /* if xconf is uninitialized we get RTP_NONE */ > if (xconf->fib_priority != conf->fib_priority) { > @@ -225,6 +224,9 @@ merge_config(struct bgpd_config *xconf, > filterlist_free(xconf->filters); > xconf->filters = conf->filters; > conf->filters = NULL; > + > + /* merge mrt config */ > + mrt_mergeconfig(xconf->mrt, conf->mrt); > > /* switch the roa, first remove the old one */ > free_prefixtree(&xconf->roa); > Index: parse.y > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v > retrieving revision 1.383 > diff -u -p -r1.383 parse.y > --- parse.y 9 Mar 2019 10:05:58 -0000 1.383 > +++ parse.y 11 Mar 2019 08:01:47 -0000 > @@ -3249,6 +3249,8 @@ init_config(struct bgpd_config *c) > u_int rdomid; > > c->min_holdtime = MIN_HOLDTIME; > + c->holdtime = INTERVAL_HOLD; > + c->connectretry = INTERVAL_CONNECTRETRY; > c->bgpid = get_bgpid(); > c->fib_priority = RTP_BGP; > c->default_tableid = getrtable(); > @@ -3362,7 +3364,6 @@ errors: > > optimize_filters(conf->filters); > > - mrt_mergeconfig(xconf->mrt, conf->mrt); > merge_config(xconf, conf, peer_l); > *xpeers = peer_l; > > Index: printconf.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/printconf.c,v > retrieving revision 1.132 > diff -u -p -r1.132 printconf.c > --- printconf.c 26 Feb 2019 10:49:15 -0000 1.132 > +++ printconf.c 11 Mar 2019 08:05:12 -0000 > @@ -378,11 +378,11 @@ print_mainconf(struct bgpd_config *conf) > printf("socket \"%s\"\n", conf->csock); > if (conf->rcsock) > printf("socket \"%s\" restricted\n", conf->rcsock); > - if (conf->holdtime) > + if (conf->holdtime != INTERVAL_HOLD) > printf("holdtime %u\n", conf->holdtime); > - if (conf->min_holdtime) > + if (conf->min_holdtime != MIN_HOLDTIME) > printf("holdtime min %u\n", conf->min_holdtime); > - if (conf->connectretry) > + if (conf->connectretry != INTERVAL_CONNECTRETRY) > printf("connect-retry %u\n", conf->connectretry); > > if (conf->flags & BGPD_FLAG_NO_EVALUATE) > @@ -405,8 +405,9 @@ print_mainconf(struct bgpd_config *conf) > printf("nexthop qualify via bgp\n"); > if (conf->flags & BGPD_FLAG_NEXTHOP_DEFAULT) > printf("nexthop qualify via default\n"); > - printf("fib-priority %hhu", conf->fib_priority); > - printf("\n\n"); > + if (conf->fib_priority != RTP_BGP) > + printf("fib-priority %hhu\n", conf->fib_priority); > + printf("\n"); > } > > void > @@ -732,7 +733,8 @@ print_announce(struct peer_config *p, co > printf("%s\tannounce %s\n", c, aid2str(aid)); > } > > -void print_as(struct filter_rule *r) > +void > +print_as(struct filter_rule *r) > { > if (r->match.as.flags & AS_FLAG_AS_SET_NAME) { > printf("as-set \"%s\" ", r->match.as.name); > Index: session.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/session.c,v > retrieving revision 1.375 > diff -u -p -r1.375 session.c > --- session.c 7 Mar 2019 07:42:36 -0000 1.375 > +++ session.c 11 Mar 2019 08:01:05 -0000 > @@ -57,7 +57,6 @@ > > void session_sighdlr(int); > int setup_listeners(u_int *); > -void init_conf(struct bgpd_config *); > void init_peer(struct peer *); > void start_timer_holdtime(struct peer *); > void start_timer_keepalive(struct peer *); > @@ -585,15 +584,6 @@ session_main(int debug, int verbose) > } > > void > -init_conf(struct bgpd_config *c) > -{ > - if (!c->holdtime) > - c->holdtime = INTERVAL_HOLD; > - if (!c->connectretry) > - c->connectretry = INTERVAL_CONNECTRETRY; > -} > - > -void > init_peer(struct peer *p) > { > TAILQ_INIT(&p->timers); > @@ -2619,7 +2609,6 @@ session_dispatch_imsg(struct imsgbuf *ib > npeers = NULL; > > copy_config(nconf, imsg.data); > - init_conf(nconf); > pending_reconf = 1; > break; > case IMSG_RECONF_PEER: >