Claudio Jeker(cje...@diehard.n-r-g.com) on 2018.10.28 15:07:47 +0100: > 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.
ok benno@ > > -- > :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); >