From: Igor Putovny Date: Tue, 21 Nov 2023 11:41:14 +0000 (+0100) Subject: Run ORTC algorithm X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b6cfd2065ece85acd27b792158029219c5b5d6f;p=thirdparty%2Fbird.git Run ORTC algorithm --- diff --git a/proto/aggregator/aggregator.c b/proto/aggregator/aggregator.c index 10392e98a..2ed6f55c7 100644 --- a/proto/aggregator/aggregator.c +++ b/proto/aggregator/aggregator.c @@ -612,6 +612,30 @@ print_prefixes(const struct trie_node *node) log("==== END PREFIXES ===="); } +/* + * Run Optimal Routing Table Constructor (ORTC) algorithm + */ +static void +calculate_trie(void *p) +{ + struct aggregator_proto *proto = (struct aggregator_proto *)p; + + log("====PREFIXES BEFORE ===="); + print_prefixes(proto->root); + + first_pass(proto->root, proto->trie_slab); + log("====FIRST PASS===="); + print_prefixes(proto->root); + + second_pass(proto->root); + log("====SECOND PASS===="); + print_prefixes(proto->root); + + third_pass(proto->root); + log("====THIRD PASS===="); + print_prefixes(proto->root); +} + /* * Set static attribute in @rta from static attribute in @old according to @sa. */