On Sun, Sep 30, 2018 at 11:58:08AM +0200, Denis Fondras wrote:
>
> Index: rde.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v
> retrieving revision 1.430
> diff -u -p -r1.430 rde.c
> --- rde.c 29 Sep 2018 08:11:11 -0000 1.430
> +++ rde.c 30 Sep 2018 09:52:32 -0000
> @@ -3124,10 +3124,11 @@ rde_softreconfig_in(struct rib_entry *re
> peer = prefix_peer(p);
> force_eval = 0;
>
> + vstate = rde_roa_validity(&conf->rde_roa,
> + &prefix, pt->prefixlen, asp->source_as);
> +
> if (conf->rde_roa.dirty) {
> /* ROA validation state update */
> - vstate = rde_roa_validity(&conf->rde_roa,
> - &prefix, pt->prefixlen, asp->source_as);
> if (vstate != p->validation_state) {
> force_eval = 1;
> p->validation_state = vstate;
>
This is wrong. It should be initialized to:
vstate = p->validation_state;
--
:wq Claudio