]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Original prefix always keeps its status
authorIgor Putovny <igor.putovny@nic.cz>
Thu, 23 Jan 2025 16:35:11 +0000 (17:35 +0100)
committerIgor Putovny <igor.putovny@nic.cz>
Thu, 23 Jan 2025 16:35:11 +0000 (17:35 +0100)
proto/aggregator/aggregator.c

index 7c8b17e646c60ddb1c5fc7e1e0b05a07e3b9a8b6..3ea6a7f875a15829430e7e494682d023e376c232 100644 (file)
@@ -630,6 +630,9 @@ third_pass_helper(struct aggregator_proto *p, struct trie_node *node)
     /* Selected bucket is NULL as it has never been assigned */
     node->selected_bucket = NULL;
     node->status = NON_FIB;
+
+    /* Original prefix stays original */
+    node->px_origin = ORIGINAL == node->px_origin ? ORIGINAL : FILLER;
   }
   else
   {
@@ -639,7 +642,7 @@ third_pass_helper(struct aggregator_proto *p, struct trie_node *node)
     node->selected_bucket = choose_lowest_id_bucket(p, node);
     node->status = IN_FIB;
 
-    /* If prefix was original it stays original */
+    /* Original prefix stays original */
     node->px_origin = ORIGINAL == node->px_origin ? ORIGINAL : AGGREGATED;
     assert(node->selected_bucket != NULL);
   }