]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Refactor aggregator_start()
authorIgor Putovny <igor.putovny@nic.cz>
Fri, 7 Mar 2025 15:26:00 +0000 (16:26 +0100)
committerIgor Putovny <igor.putovny@nic.cz>
Fri, 7 Mar 2025 15:26:00 +0000 (16:26 +0100)
proto/aggregator/aggregator.c

index 057138517ebda38d9d2e2d854640d70456cc1052..8ec2a992790d4cbc79301b7ec9c562ecc25a9d16 100644 (file)
@@ -876,6 +876,9 @@ aggregator_start(struct proto *P)
     .data = p,
   };
 
+  hmap_init(&p->bucket_id_map, p->p.pool, 1024);
+  hmap_set(&p->bucket_id_map, 0);       /* 0 is default value, do not use it as ID */
+
   if (p->aggr_mode == PREFIX_AGGR)
   {
     ASSERT_DIE(p->trie_slab == NULL);
@@ -884,15 +887,13 @@ aggregator_start(struct proto *P)
     ASSERT_DIE(p->bucket_list == NULL);
     ASSERT_DIE(p->bucket_list_size == 0);
     ASSERT_DIE(p->bucket_list_count == 0);
+
     p->bucket_list_size = BUCKET_LIST_INIT_SIZE;
     p->bucket_list = mb_allocz(p->p.pool, sizeof(p->bucket_list[0]) * p->bucket_list_size);
-  }
 
-  hmap_init(&p->bucket_id_map, p->p.pool, 1024);
-  hmap_set(&p->bucket_id_map, 0);       /* 0 is default value, do not use it as ID */
-
-  p->rte_withdrawal_pool = lp_new(P->pool);
-  p->rte_withdrawal_count = 0;
+    p->rte_withdrawal_pool = lp_new(P->pool);
+    p->rte_withdrawal_count = 0;
+  }
 
   return PS_UP;
 }