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
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: