Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
bgpd: rename rde_generate_updates to rde_enqueue_updates
To:
tech@openbsd.org
Date:
Thu, 21 May 2026 16:50:46 +0200

Download raw body.

Thread
See subject no other changes in that diff :)

rde_generate_updates() no longer generates updates. It enqueues them so
they can be processed later.

-- 
:wq Claudio

Index: rde.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v
diff -u -p -r1.702 rde.c
--- rde.c	20 May 2026 15:29:46 -0000	1.702
+++ rde.c	20 May 2026 20:32:59 -0000
@@ -4284,7 +4284,7 @@ rde_softreconfig_out(struct rib_entry *r
 		/* no valid path for prefix */
 		return;
 
-	rde_generate_updates(re, NULL, 0, EVAL_RECONF);
+	rde_enqueue_updates(re, NULL, 0, EVAL_RECONF);
 }
 
 static void
Index: rde.h
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde.h,v
diff -u -p -r1.350 rde.h
--- rde.h	20 May 2026 18:33:21 -0000	1.350
+++ rde.h	20 May 2026 20:32:59 -0000
@@ -420,7 +420,7 @@ struct rde_peer	*peer_add(uint32_t, stru
 struct rde_filter	*peer_apply_out_filter(struct rde_peer *,
 			    struct filter_head *);
 
-void		 rde_generate_updates(struct rib_entry *, struct prefix *,
+void		 rde_enqueue_updates(struct rib_entry *, struct prefix *,
 		    uint32_t, enum eval_mode);
 void		 peer_process_updates(struct rde_peer *, void *);
 
Index: rde_decide.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_decide.c,v
diff -u -p -r1.107 rde_decide.c
--- rde_decide.c	20 May 2026 14:00:59 -0000	1.107
+++ rde_decide.c	20 May 2026 21:00:14 -0000
@@ -575,20 +575,20 @@ prefix_evaluate(struct rib_entry *re, st
 		 */
 		if ((rib->flags & F_RIB_NOFIB) == 0)
 			rde_send_kroute(rib, newbest, oldbest);
-		rde_generate_updates(re, new, old_pathid_tx, EVAL_DEFAULT);
+		rde_enqueue_updates(re, new, old_pathid_tx, EVAL_DEFAULT);
 		return;
 	}
 
 	/*
 	 * If there are peers with 'rde evaluate all' every update needs
 	 * to be passed on (not only a change of the best prefix).
-	 * rde_generate_updates() will then take care of distribution.
+	 * rde_enqueue_updates() will then take care of distribution.
 	 */
 	if (rde_evaluate_all()) {
 		/* no old path to remove and path is ineligible, skip rest */
 		if (old_pathid_tx == 0 && new == NULL)
 			return;
-		rde_generate_updates(re, new, old_pathid_tx, EVAL_ALL);
+		rde_enqueue_updates(re, new, old_pathid_tx, EVAL_ALL);
 	}
 }
 
@@ -665,15 +665,15 @@ prefix_evaluate_nexthop(struct prefix *p
 		 */
 		if ((rib->flags & F_RIB_NOFIB) == 0)
 			rde_send_kroute(rib, newbest, oldbest);
-		rde_generate_updates(re, new, old_pathid_tx, EVAL_DEFAULT);
+		rde_enqueue_updates(re, new, old_pathid_tx, EVAL_DEFAULT);
 		return;
 	}
 
 	/*
 	 * If there are peers with 'rde evaluate all' every update needs
 	 * to be passed on (not only a change of the best prefix).
-	 * rde_generate_updates() will then take care of distribution.
+	 * rde_enqueue_updates() will then take care of distribution.
 	 */
 	if (rde_evaluate_all())
-		rde_generate_updates(re, new, old_pathid_tx, EVAL_ALL);
+		rde_enqueue_updates(re, new, old_pathid_tx, EVAL_ALL);
 }
Index: rde_peer.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_peer.c,v
diff -u -p -r1.73 rde_peer.c
--- rde_peer.c	20 May 2026 18:33:21 -0000	1.73
+++ rde_peer.c	21 May 2026 14:42:41 -0000
@@ -300,7 +300,7 @@ peer_generate_update(struct rde_peer *pe
 }
 
 void
-rde_generate_updates(struct rib_entry *re, struct prefix *newpath,
+rde_enqueue_updates(struct rib_entry *re, struct prefix *newpath,
     uint32_t old_pathid_tx, enum eval_mode mode)
 {
 	struct rde_peer	*peer;
Index: rde_rib.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_rib.c,v
diff -u -p -r1.295 rde_rib.c
--- rde_rib.c	20 May 2026 20:32:50 -0000	1.295
+++ rde_rib.c	21 May 2026 08:32:27 -0000
@@ -1066,7 +1066,7 @@ prefix_flowspec_update(struct rde_peer *
 
 	if (old != NULL)
 		old_pathid_tx = old->path_id_tx;
-	rde_generate_updates(re, new, old_pathid_tx, EVAL_DEFAULT);
+	rde_enqueue_updates(re, new, old_pathid_tx, EVAL_DEFAULT);
 
 	if (old != NULL) {
 		TAILQ_REMOVE(&re->prefix_h, old, rib_l);
@@ -1092,7 +1092,7 @@ prefix_flowspec_withdraw(struct rde_peer
 	p = prefix_bypeer(re, peer, 0);
 	if (p == NULL)
 		return 0;
-	rde_generate_updates(re, NULL, p->path_id_tx, EVAL_DEFAULT);
+	rde_enqueue_updates(re, NULL, p->path_id_tx, EVAL_DEFAULT);
 	TAILQ_REMOVE(&re->prefix_h, p, rib_l);
 	prefix_unlink(p);
 	prefix_free(p);