*node = (struct rte_withdrawal) {
.next = p->rte_withdrawal_stack,
- .addr = *addr,
.bucket = bucket,
};
+ net_copy(&node->addr, (net_addr *)addr);
+
p->rte_withdrawal_stack = node;
p->rte_withdrawal_count++;
while (node)
{
assert(node != NULL);
- rte_update2(p->dst, (net_addr *)&node->addr, NULL, node->bucket->last_src);
+ rte_update2(p->dst, &node->addr, NULL, node->bucket->last_src);
node = node->next;
p->rte_withdrawal_stack = node;
p->rte_withdrawal_count--;
static void print_prefixes(const struct trie_node *, int);
static void
-trie_process_update(struct aggregator_proto *p, struct aggregator_route *old, struct aggregator_route *new)
+trie_process_update(struct aggregator_proto *p, struct aggregator_route *old UNUSED, struct aggregator_route *new)
{
assert(p != NULL);
assert(new != NULL);
assert(updated_node != NULL);
assert(updated_node->original_bucket != NULL);
- assert(updated_node->potential_buckets_count == 1);
- assert(BIT32R_TEST(updated_node->potential_buckets, updated_node->original_bucket->id));
assert(updated_node->status == NON_FIB);
+ assert(updated_node->px_origin == ORIGINAL);
struct trie_node *node = updated_node;