Age | Commit message (Collapse) | Author |
|
New data types net_addr and variants (in lib/net.h) describing
network addresses (prefix/pxlen). Modifications of FIB structures
to handle these data types and changing everything to use these
data types instead of prefix/pxlen pairs where possible.
The commit is WiP, some protocols are not yet updated (BGP, Kernel),
and the code contains some temporary scaffolding.
Comments are welcome.
|
|
The new RIP implementation fixes plenty of old bugs and also adds support
for many new features: ECMP support, link state support, BFD support,
configurable split horizon and more. Most options are now per-interface.
|
|
|
|
|
|
|
|
|
|
|
|
I've changed the init callback type to a typedef to work around a bug
in kernel-doc I'm too lazy to hunt now.
|
|
routing in a FIB.
|
|
|
|
by a lightning :)
|
|
and other non-portable functions on all systems.
|
|
several debug() calls converted to DBG().
|
|
compile :-(.
|
|
|
|
|
|
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.
|
|
names and include files.
|
|
o struct network: FIB flags used for kernel syncing.
o struct network: `next' field deleted (historical relic).
|
|
|
|
complete now.
|