summaryrefslogtreecommitdiff
path: root/nest/route.h
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2021-11-30 18:16:49 +0100
committerMaria Matejka <mq@ucw.cz>2021-11-30 21:38:25 +0100
commit385b3ea3956aefc2868cdd838fc0a90f1d8a7857 (patch)
treed954b853724153e4a2411d57be5f29e5b9236251 /nest/route.h
parentab0994a10c26bd76b4154a675267d96d19dfb509 (diff)
For safer memory allocations, resources are bound to loops.
Also all loops have their basic resource pool for allocations which are auto-freed when the loop is stopping.
Diffstat (limited to 'nest/route.h')
-rw-r--r--nest/route.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/nest/route.h b/nest/route.h
index b5d44040..f060ad63 100644
--- a/nest/route.h
+++ b/nest/route.h
@@ -174,7 +174,7 @@ typedef struct rtable_private {
struct event *announce_event; /* Event to announce pending exports */
struct event *ec_event; /* Event to prune finished exports */
struct event *hcu_event; /* Event to update host cache */
- struct event *delete_event; /* Event to delete the table */
+ void (*delete)(void *); /* Delete callback (in parent loop context) */
btime last_rt_change; /* Last time when route changed */
btime base_settle_time; /* Start time of rtable settling interval */
btime gc_time; /* Time of last GC */
@@ -212,7 +212,7 @@ typedef union {
struct rtable_config {
node n;
char *name;
- struct config *config;
+ void *owner; /* Main config if global table, channel_aux_table if channel table */
rtable *table;
struct proto_config *krt_attached; /* Kernel syncer attached to this table */
uint addr_type; /* Type of address data stored in table (NET_*) */