diff options
author | Martin Mares <mj@ucw.cz> | 1998-12-20 15:01:20 +0100 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1998-12-20 15:01:20 +0100 |
commit | 3ab001b97402bc01a4777cf1cb60ce940d50ffe3 (patch) | |
tree | 415d5416dec8e37c8a54b53be507b4fd517b1ce7 /nest/rt-table.c | |
parent | a6f250f5c6d079badc4a1274b19a21a52de6acec (diff) | |
download | bird-3ab001b97402bc01a4777cf1cb60ce940d50ffe3.tar bird-3ab001b97402bc01a4777cf1cb60ce940d50ffe3.zip |
Rewrote fib functions to make them insert/delete/asynchronous-walk safe.
This is implemented in a way similar to lib/slists.h, but it took some
more effort to make rehashing not disturb the readers. We do it by just
taking _highest_ k bits of ipa_hash as our hash value and sorting each
box by whole ipa_hash().
Consult FIB_ITERATE_* macros in nest/route.h.
Implemented fib_check() debugging function and also rewrote the rehashing
algorithm to use better thresholds and not to waste time by rehashing
forth and back.
Diffstat (limited to 'nest/rt-table.c')
0 files changed, 0 insertions, 0 deletions