summaryrefslogtreecommitdiffstats
path: root/lib/lists.c
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-04-05 22:25:03 +0200
committerMartin Mares <mj@ucw.cz>1999-04-05 22:25:03 +0200
commite2dc2f30efd65cf3da4db150fae695978388e247 (patch)
treea3f95159dd62141fa6d350dbd8ff6f055dff291b /lib/lists.c
parent9e0e485e50ea74c4f1c5cb65bdfe6ce819c2cee2 (diff)
downloadbird-e2dc2f30efd65cf3da4db150fae695978388e247.tar
bird-e2dc2f30efd65cf3da4db150fae695978388e247.zip
Routing table core changes to support full route filtering:
o Introduced rte_cow() which should be used for copying on write the rte's in filters. Each rte now carries a flag saying whether it's a real route (possessing table linkage and other insignia) or a local copy. This function can be expected to be fast since its fast-path is inlined. o Introduced rte_update_pool which is a linear memory pool used for all temporary data during rte_update. You should not reference it directly -- instead use a pool pointer passed to all related functions. o Split rte_update to three functions: rte_update The front end: handles all checking, inbound filtering and calls rte_recalculate() for the final version of the route. rte_recalculate Update the table according to already filtered route. rte_announce Announce routing table changes to all protocols, passing them through export filters and so on. The interface has _not_ changed -- still call rte_update() and it will do the rest for you automagically. o Use new filtering semantics to be explained in a separate mail.
Diffstat (limited to 'lib/lists.c')
0 files changed, 0 insertions, 0 deletions