diff options
author | Avneesh Sachdev <avneesh@opensourcerouting.org> | 2012-08-17 08:19:48 -0700 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2012-09-26 21:48:49 +0200 |
commit | f9c1b7bb9b98342f1f3b0bfe3af01844f364dce9 (patch) | |
tree | 350c8e0d98e4dcc53b126c6ce1c7568c440fcb06 /lib/.gitignore | |
parent | 3eb8ef37bc463f88bfa36bd26fd43f7f6ad36c20 (diff) |
lib: prepare table code for reuse by bgp_table
* lib/table.[ch]
- Add a macro (ROUTE_NODE_FIELDS) that expands to all the fields
of a route_node structure.
- Add the route_table_delegate_t structure, a function vector
which allows clients to customize the behavior of one or more
tables.
The delegate currently contains the 'create_node' and
'destroy_node' functions, and hence enables a table to use an
alternative node structure. The alternative node is expected to
embed the fields of a route_node using ROUTE_NODE_FIELDS.
- Add route_table_init_with_delegate() to create a new table with
a given delegate.
- Make route_table_init() a thin wrapper around
route_table_init_with_delegate(). The delegate it passes in
simply creates/destroys route_node structures as before.
- Add a user data pointer (info) to the route_table
structure. This can be used by a client to keep per-table state.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'lib/.gitignore')
0 files changed, 0 insertions, 0 deletions