Commit 7c0cc76e authored by Martin Mareš's avatar Martin Mareš

Moved initialization of protocol list to proto.c.

Added sysdep configuration hooks.
parent a9c986f9
......@@ -31,7 +31,6 @@ config_alloc(byte *name)
c->pool = p;
cfg_mem = c->mem = l;
init_list(&c->protos);
c->file_name = cfg_strdup(name);
return c;
}
......@@ -45,6 +44,7 @@ config_parse(struct config *c)
if (setjmp(conf_jmpbuf))
return 0;
cf_lex_init(0);
sysdep_preconfig(c);
protos_preconfig(c);
rt_preconfig(c);
cf_parse();
......@@ -80,6 +80,7 @@ void
config_commit(struct config *c)
{
config = c;
sysdep_commit(c);
rt_commit(c);
protos_commit(c);
}
......
......@@ -18,6 +18,7 @@ struct config {
linpool *mem; /* Linear pool containing configuration data */
list protos; /* Configured protocol instances (struct proto_config) */
list tables; /* Configured routing tables (struct rtable_config) */
list logfiles; /* Configured log fils (sysdep) */
struct rtable_config *master_rtc; /* Configuration of master routing table */
u32 router_id; /* Our Router ID */
char *err_msg; /* Parser error message */
......@@ -83,4 +84,9 @@ void cf_pop_scope(void);
int cf_parse(void);
/* Sysdep hooks */
void sysdep_preconfig(struct config *);
void sysdep_commit(struct config *);
#endif
......@@ -155,6 +155,7 @@ protos_preconfig(struct config *c)
init_list(&inactive_proto_list);
init_list(&initial_proto_list);
init_list(&flush_proto_list);
init_list(&c->protos);
debug("Protocol preconfig:");
WALK_LIST(p, protocol_list)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment