]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Table: fixed export_all flush when export_best is idle
authorMaria Matejka <mq@ucw.cz>
Wed, 12 Jun 2024 10:00:11 +0000 (12:00 +0200)
committerMaria Matejka <mq@ucw.cz>
Wed, 12 Jun 2024 12:48:33 +0000 (14:48 +0200)
nest/rt-table.c

index 59cc975d26a5b376a2d117931ef3ff22caefb3da..0266964e5c69ff09d65b5e9bffb21df114455d05 100644 (file)
@@ -1442,8 +1442,8 @@ rte_announce(struct rtable_private *tab, const struct netindex *i UNUSED, net *n
     if (best_rpe)
       /* Announced best, need an anchor to all */
       best_rpe->seq_all = all_rpe->it.seq;
-    else if (new_best != old_best)
-      /* Would announce best but it's empty with no reader */
+    else if (!lfjour_pending_items(&tab->export_best.journal))
+      /* Best is idle, flush its recipient immediately */
       rt_flush_best(tab, all_rpe->it.seq);
 
     rt_check_cork_high(tab);