mirror of
https://gitlab.labs.nic.cz/labs/bird.git
synced 2024-05-11 16:54:54 +00:00
Explicit definition structures of route attributes
Changes in internal API: * Every route attribute must be defined as struct ea_class somewhere. * Registration of route attributes known at startup must be done by ea_register_init() from protocol build functions. * Every attribute has now its symbol registered in a global symbol table defined as SYM_ATTRIBUTE * All attribute ID's are dynamically allocated. * Attribute value custom formatting hook is defined in the ea_class. * Attribute names are the same for display and filters, always prefixed by protocol name. Also added some unit testing code for filters with route attributes.
This commit is contained in:
@@ -292,6 +292,25 @@ resource_init(void)
|
||||
tmp_init(&root_pool);
|
||||
}
|
||||
|
||||
_Thread_local struct tmp_resources tmp_res;
|
||||
|
||||
void
|
||||
tmp_init(pool *p)
|
||||
{
|
||||
tmp_res.lp = lp_new_default(p);
|
||||
tmp_res.parent = p;
|
||||
tmp_res.pool = rp_new(p, "TMP");
|
||||
}
|
||||
|
||||
void
|
||||
tmp_flush(void)
|
||||
{
|
||||
lp_flush(tmp_linpool);
|
||||
rfree(tmp_res.pool);
|
||||
tmp_res.pool = rp_new(tmp_res.parent, "TMP");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* DOC: Memory blocks
|
||||
*
|
||||
|
Reference in New Issue
Block a user