diff --git a/nest/rt-table.c b/nest/rt-table.c index 29690414..d30573de 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -2293,9 +2293,6 @@ rt_free(resource *_r) DBG("Deleting routing table %s\n", r->name); ASSERT_DIE(r->use_count == 0); - if (r->internal) - return; - r->config->table = NULL; rem_node(&r->n); @@ -2362,25 +2359,22 @@ rt_setup(pool *pp, struct rtable_config *cf) }; init_list(&t->exporter.hooks); - if (!(t->internal = cf->internal)) + init_list(&t->imports); + + hmap_init(&t->id_map, p, 1024); + hmap_set(&t->id_map, 0); + + init_list(&t->subscribers); + + t->rt_event = ev_new_init(p, rt_event, t); + t->last_rt_change = t->gc_time = current_time(); + + t->rl_pipe = (struct tbf) TBF_DEFAULT_LOG_LIMITS; + + if (rt_is_flow(t)) { - init_list(&t->imports); - - hmap_init(&t->id_map, p, 1024); - hmap_set(&t->id_map, 0); - - init_list(&t->subscribers); - - t->rt_event = ev_new_init(p, rt_event, t); - t->last_rt_change = t->gc_time = current_time(); - - t->rl_pipe = (struct tbf) TBF_DEFAULT_LOG_LIMITS; - - if (rt_is_flow(t)) - { - t->flowspec_trie = f_new_trie(lp_new_default(p), 0); - t->flowspec_trie->ipv4 = (t->addr_type == NET_FLOW4); - } + t->flowspec_trie = f_new_trie(lp_new_default(p), 0); + t->flowspec_trie->ipv4 = (t->addr_type == NET_FLOW4); } return t; diff --git a/nest/rt.h b/nest/rt.h index 5a8c5a19..4b347170 100644 --- a/nest/rt.h +++ b/nest/rt.h @@ -50,7 +50,6 @@ struct rtable_config { int gc_max_ops; /* Maximum number of operations before GC is run */ int gc_min_time; /* Minimum time between two consecutive GC runs */ byte sorted; /* Routes of network are sorted according to rte_better() */ - byte internal; /* Internal table of a protocol */ byte trie_used; /* Rtable has attached trie */ btime min_settle_time; /* Minimum settle time for notifications */ btime max_settle_time; /* Maximum settle time for notifications */ @@ -98,7 +97,6 @@ typedef struct rtable { byte prune_trie; /* Prune prefix trie during next table prune */ byte hcu_scheduled; /* Hostcache update is scheduled */ byte nhu_state; /* Next Hop Update state */ - byte internal; /* This table is internal for some other object */ struct fib_iterator prune_fit; /* Rtable prune FIB iterator */ struct fib_iterator nhu_fit; /* Next Hop Update FIB iterator */ struct f_trie *trie_new; /* New prefix trie defined during pruning */