Since a long while 'route-collector yes' did not work correctly anymore. The problem is that the RDE is too strict when it comes to handle the flag. While it is not possible to turn the mode off it has to be possible to enable it since the initial config is reloaded as well. This diff changes the behaviour to only not allow turning route-collector mode back off after it was turned on once.
-- :wq Claudio Index: rde.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v retrieving revision 1.441 diff -u -p -r1.441 rde.c --- rde.c 26 Oct 2018 06:48:59 -0000 1.441 +++ rde.c 28 Oct 2018 14:00:50 -0000 @@ -2802,14 +2802,10 @@ rde_reload_done(void) int reload = 0; /* first merge the main config */ - if ((nconf->flags & BGPD_FLAG_NO_EVALUATE) - != (conf->flags & BGPD_FLAG_NO_EVALUATE)) { - log_warnx("change to/from route-collector " - "mode ignored"); - if (conf->flags & BGPD_FLAG_NO_EVALUATE) - nconf->flags |= BGPD_FLAG_NO_EVALUATE; - else - nconf->flags &= ~BGPD_FLAG_NO_EVALUATE; + if ((conf->flags & BGPD_FLAG_NO_EVALUATE) && + (nconf->flags & BGPD_FLAG_NO_EVALUATE) == 0) { + log_warnx("disabling of route-collector mode ignored"); + nconf->flags |= BGPD_FLAG_NO_EVALUATE; } SIMPLEQ_INIT(&prefixsets_old);