From: Theo Buehler Subject: Re: bgpd: drop PREFIX_FLAG_DEAD from rib walker callbacks To: tech@openbsd.org Date: Fri, 14 Nov 2025 17:17:29 +0100 On Fri, Nov 14, 2025 at 02:01:16PM +0100, Claudio Jeker wrote: > No need to check for PREFIX_FLAG_DEAD in the prefix tree walker > callbacks. prefix_dump_r() already skips those via prefix_is_dead(). ok tb > > -- > :wq Claudio > > Index: rde.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v > diff -u -p -r1.663 rde.c > --- rde.c 12 Nov 2025 21:50:47 -0000 1.663 > +++ rde.c 14 Nov 2025 12:54:16 -0000 > @@ -3050,7 +3050,7 @@ rde_dump_adjout_upcall(struct prefix *p, > > if ((p->flags & PREFIX_FLAG_ADJOUT) == 0) > fatalx("%s: prefix without PREFIX_FLAG_ADJOUT hit", __func__); > - if (p->flags & (PREFIX_FLAG_WITHDRAW | PREFIX_FLAG_DEAD)) > + if (p->flags & PREFIX_FLAG_WITHDRAW) > return; > rde_dump_filter(p, &ctx->req, 1); > } > Index: rde_peer.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/rde_peer.c,v > diff -u -p -r1.51 rde_peer.c > --- rde_peer.c 24 Sep 2025 14:04:04 -0000 1.51 > +++ rde_peer.c 14 Nov 2025 12:53:21 -0000 > @@ -520,9 +520,7 @@ peer_blast_upcall(struct prefix *p, void > { > struct rde_peer *peer; > > - if (p->flags & PREFIX_FLAG_DEAD) { > - /* ignore dead prefixes, they will go away soon */ > - } else if ((p->flags & PREFIX_FLAG_MASK) == 0) { > + if ((p->flags & PREFIX_FLAG_MASK) == 0) { > peer = prefix_peer(p); > /* put entries on the update queue if not already on a queue */ > p->flags |= PREFIX_FLAG_UPDATE; >