From: Maria Matejka Date: Mon, 10 Mar 2025 08:15:53 +0000 (+0100) Subject: Table export: Relaxing too strict inconsistency assert X-Git-Tag: v3.0.2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0e49abe91739f48bac1cb0dd37e811b399cc897;p=thirdparty%2Fbird.git Table export: Relaxing too strict inconsistency assert In case of refeeds, we may get old routes which we have not seen, the table does not know that and the channel ingress is the right place to detect it. Bug introduced in commit 25557fceb08c8db6daead02a2f4b7a99d8a1f922 by Maria Matejka , Mon Mar 3 19:48:58 2025 +0100 Table export: Another inconsistency in refeeds --- diff --git a/nest/rt-table.c b/nest/rt-table.c index 648f18640..553849cec 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -1184,7 +1184,7 @@ rt_notify_basic(struct channel *c, const rte *new, const rte *old) /* If the old route exists, it is either in rejected or in accepted map. */ int rejected = bmap_test(&c->export_rejected_map, old->id); int accepted = bmap_test(&c->export_accepted_map, old->id); - ASSERT_DIE(rejected != accepted); + ASSERT_DIE(!rejected || !accepted); if (rejected) {