[PATCH 2/2] Table export: don't pop out_limit for a never-exported old route

Yifei Sun yifei.sun at inria.fr
Wed Jun 3 16:33:29 CEST 2026


Reverts commit 682d83eaa37893dcaf7527c326fd4379ddff4d37

  Table export: Drop redundant not-seen old route nullification

Forward-ported past refactor 34a8a2749b1cab415c48b2cbdb05bc8faf345374

  Table: Optimal and Any Export refactoring
---
 nest/rt-table.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/nest/rt-table.c b/nest/rt-table.c
index 2b35bf110..e1c32b8d7 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -1431,6 +1431,10 @@ rt_notify_basic(struct channel *c, const rte *new, const rte *old, const rte *tr
       /* Treat old rejected as never seen. */
       old = NULL;
     }
+    else if (!bmap_test(&c->export_accepted_map, old->id))
+      /* In neither map => never exported on this channel, so do_rt_notify()
+       * must not pop out_limit for it (would underflow: limit.h:35). */
+      old = NULL;
 
     /* Accepted bit is dropped in do_rt_notify() */
   }
-- 
2.54.0



More information about the Bird-users mailing list