]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixed regression in route feeding.
authorMaria Matejka <mq@ucw.cz>
Tue, 30 Jan 2024 20:29:00 +0000 (21:29 +0100)
committerMaria Matejka <mq@ucw.cz>
Tue, 30 Jan 2024 20:31:13 +0000 (21:31 +0100)
We were, once again, forgetting to mark empty-net journal entries as
processed, as was fixed in 32bb548c116b40f79d077c10356c037770ed1005.

Introduced in 548dbb2252e80362789b8c98355f468491d47b34.
Caught by cf-ebgp-graceful.

nest/rt-table.c

index ec1cd71c5de9d4feef19d9448db4c5984a80e76e..80a1c2259cd236f8ccb8ce7b201ca70d35c8d930 100644 (file)
@@ -4280,10 +4280,16 @@ rt_feed_by_fib(void *data)
     for (; c->feed_index < tab->routes_block_size; c->feed_index++)
     {
       net *n = &tab->routes[c->feed_index];
-      if (!n->routes)
+      const net_addr *a;
+      if (n->routes)
+       a = n->routes->rte.net;
+      else if (!n->first)
        continue;
+      else if (n->first->old)
+       a = n->first->old->rte.net;
+      else
+       a = n->first->new->rte.net;
 
-      const net_addr *a = n->routes->rte.net;
       if (rt_prefilter_net(&c->h.req->prefilter, a))
       {
        if (!rt_prepare_feed(c, n, &block))