From 54491f9606e8178807cdd9dc65d8c32a2f6301bc Mon Sep 17 00:00:00 2001 From: Igor Putovny Date: Tue, 21 Nov 2023 12:41:14 +0100 Subject: [PATCH] Run ORTC algorithm --- proto/aggregator/aggregator.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/proto/aggregator/aggregator.c b/proto/aggregator/aggregator.c index 10392e98..2ed6f55c 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. */