Download raw body.
bgpd: drop PREFIX_FLAG_DEAD from rib walker callbacks
No need to check for PREFIX_FLAG_DEAD in the prefix tree walker
callbacks. prefix_dump_r() already skips those via prefix_is_dead().
--
: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;
bgpd: drop PREFIX_FLAG_DEAD from rib walker callbacks