Major RIP redesign
The new RIP implementation fixes plenty of old bugs and also adds supportfor many new features: ECMP support, link state support, BFD support,configurable split horizon and more. Most options are now per-interface.
unsigned [int] -> uint
Implement proper LSA ID generation.
Marked unused parameters in core code as such.
Fixes to the progdoc.
I've changed the init callback type to a typedef to work around a bugin kernel-doc I'm too lazy to hunt now.
Added fib_route() which does (although very slow) lookup of longest-matchrouting in a FIB.
Several simplifications of the fib iterators.
Squashed one bug in fib_rehash(). No more routes disappearing as if structby a lightning :)
Include "lib/string.h" instead of <string.h>. It should give us bzero()and other non-portable functions on all systems.
Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,several debug() calls converted to DBG.
Oops, previous modification for passing NULL to fib_init() did notcompile :-(.
Allow NULL to init_fib().
die() -> bug() where appropriate.
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 somemore effort to make rehashing not disturb the readers. We do it by justtaking highest k bits of ipa_hash as our hash value and sorting each...
Renamed `DEBUG' symbol to `DEBUGGING' to prevent collisions with tokennames and include files.
o FIB flags now available for FIB users.o struct network: FIB flags used for kernel syncing.o struct network: `next' field deleted (historical relic).
Parts of routing table code. Data structure declarations should becomplete now.