summaryrefslogtreecommitdiff
path: root/nest/rt-attr.c
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-01-19 10:56:16 +0100
committerMaria Matejka <mq@ucw.cz>2023-01-19 11:10:25 +0100
commit4d8d81f144e72fe2e182d7569087f2a8c8c5b938 (patch)
tree2b9fae3a99e9e4abe362a90ad521e16063e5fba5 /nest/rt-attr.c
parent59a5bf18f997e11a3e3ddd70d59f597f77fa2b6c (diff)
Table prune routine doesn't walk over lists unless needed.
If no channel is flushing, table prune doesn't walk over routes in nets and also doesn't walk over importing channel lists. This helps to alleviate the memory caching burdens a lot.
Diffstat (limited to 'nest/rt-attr.c')
-rw-r--r--nest/rt-attr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/nest/rt-attr.c b/nest/rt-attr.c
index b41e56c2..761ec0d9 100644
--- a/nest/rt-attr.c
+++ b/nest/rt-attr.c
@@ -568,6 +568,8 @@ static struct resclass ea_class_ref_class = {
static void
ea_class_init(void)
{
+ ASSERT_DIE(ea_class_global == NULL);
+
idm_init(&ea_class_idm, rta_pool, EA_CLASS_INITIAL_MAX);
ea_class_global = mb_allocz(rta_pool,
sizeof(*ea_class_global) * (ea_class_max = EA_CLASS_INITIAL_MAX));