Age | Commit message (Collapse) | Author | |
---|---|---|---|
1999-02-13 | Implemented garbage collection of routing tables to delete orphaned network | Martin Mares | |
nodes having no routes attached. Such cleanup must be done from event handler since most functions manipulating the routing tables expect network entries won't disappear from under their hands and it's also probably faster when done asynchronously. | |||
1999-02-13 | Don't send any neighbor notifications to protocols being flushed. | Martin Mares | |
1999-02-13 | When protocols go down, prune the neighbor list. | Martin Mares | |
1999-02-13 | Moved sanity check of protocol state during annoucements to rte_announce. | Martin Mares | |
1999-02-13 | Perform gracious shutdown upon receipt of SIGTERM. Finally we can | Martin Mares | |
test the whole protocol shutdown code... :) | |||
1999-02-13 | Implemented real cleanup and pruning of routing table on protocol shutdown. | Martin Mares | |
1999-02-13 | Fixed bug in FIB_ITERATE_END: it assumed the control variable is named | Martin Mares | |
"z". I've added an argument specifying name of the variable. Renamed "again" label in FIB_ITERATE_* to "fis_again" to avoid name clashes. | |||
1999-02-13 | config->router_id works again. | Martin Mares | |
1999-02-11 | Real implementation of protocol state machines. Delayed startup/shutdown | Martin Mares | |
should work now. Initial feeding of protocols by interfaces/routes is done from the event queue to prevent unwanted recursion. | |||
1999-02-11 | struct proto again contains instance name (a copy of proto->cf->name). | Martin Mares | |
1999-02-05 | Implemented new configuration/reconfiguration interface and defined protocol | Martin Mares | |
state machines. Full explanation will follow soon. | |||
1999-01-12 | Keep protocol data out of iface_patt. | Pavel Machek | |
1999-01-10 | Initialize only protocols which are compiled in :) | Martin Mares | |
1999-01-10 | New makefiles. Includes support for out-of-source-tree builds. | Martin Mares | |
1998-12-22 | Oops, previous modification for passing NULL to fib_init() did not | Pavel Machek | |
compile :-(. | |||
1998-12-22 | Allow NULL to init_fib(). | Pavel Machek | |
1998-12-20 | die() -> bug() where appropriate. | Martin Mares | |
1998-12-20 | When printing a routing table, fib_check() it. | Martin Mares | |
1998-12-20 | Rewrote fib functions to make them insert/delete/asynchronous-walk safe. | Martin Mares | |
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. | |||
1998-12-08 | Added source RTS_DUMMY for temporary routes. They should never appear | Martin Mares | |
in the main table. | |||
1998-12-07 | Minor rte/rta interface changes: | Martin Mares | |
o rte can now contain a pointer to both cached and uncached rta. Protocols which don't need their own attribute caching can now just fill-in a rta, link it to rte without any calls to attribute cache and call rte_update() which will replace rte->attrs by a cached copy. o In order to support this, one of previously pad bytes in struct rta now holds new attribute flags (RTAF_CACHED). If you call rte_update() with uncached rta, you _must_ clear these flags. In other cases rta_lookup() sets it appropriately. o Added rte_free() which is useful when you construct a rte and then the circumstances change and you decide not to use it for an update. (Needed for temporary rte's in kernel syncer...) | |||
1998-12-07 | KRF_* flags moved to krt.h as they are internal to kernel syncer, | Martin Mares | |
fib->pad0,pad1 renamed to x0,x1 and in case of struct net x0 is reserved for kernel syncing as well. | |||
1998-12-07 | Removed protocol-specific data in rte for protocol static since no | Martin Mares | |
such data ever existed. | |||
1998-12-07 | Aesthetic fix for neighbor cache debug dump. | Martin Mares | |
1998-12-06 | Added skeleton of static route protocol. | Martin Mares | |
1998-12-06 | Name cleanups as suggested by Pavel: | Martin Mares | |
- cfg_strcpy() -> cfg_strdup() - mempool -> linpool, mp_* -> lp_* [to avoid confusion with memblock, mb_*] Anyway, it might be better to stop ranting about names and do some *real* work. | |||
1998-12-04 | Rip now has configurable per-interface metric (please rewiev), and few | Pavel Machek | |
more configurable parameters. To do that, union was added into iface_patt. | |||
1998-11-29 | Added configuration of the device internal protocol. This is primarily | Martin Mares | |
intended to serve as an example of interface pattern list use. As a side effect, you can disable generating of device routes by disabling this protocol. | |||
1998-11-29 | Handle disabled protocol instances. | Martin Mares | |
1998-11-29 | Added functions for manipulating interface name pattern lists: | Martin Mares | |
o iface_patt_match(list, iface) -- match interface against list o iface_patts_equal(a, b, c) -- compare whether two pattern lists are equal or not. c(x,y) is called for comparison of protocol-dependent data. | |||
1998-11-29 | Allow setting debug value and `disabled' flag in protocol definition. | Martin Mares | |
1998-11-29 | Renamed `DEBUG' symbol to `DEBUGGING' to prevent collisions with token | Martin Mares | |
names and include files. | |||
1998-11-27 | Oops, forgot to remove a debugging kludge. | Martin Mares | |
1998-11-27 | Trivial 15-line bison excercise: Implemented expressions including | Martin Mares | |
user-defined numeric symbols. Whenever possible, use `expr' instead of `NUM' to get full express ion power :-) | |||
1998-11-27 | First attempt at protocol configuration (now done only for RIP). | Martin Mares | |
1998-11-27 | Parser fragment for the core. Now handles only router ID setting. | Martin Mares | |
1998-11-27 | Replaced nest/confile.h by conf/conf.h, added a lot of new definitions. | Martin Mares | |
1998-10-26 | Previous fix was wrong. | Martin Mares | |
1998-10-26 | rte_update: Doesn't loop forever when multiple routes point to the same | Martin Mares | |
destination. | |||
1998-10-20 | RIP now actually talks to itself. | Pavel Machek | |
1998-10-20 | Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-) | Martin Mares | |
1998-10-20 | Insert/remove hooks return void, not int. | Martin Mares | |
1998-10-20 | Added pointer to network to RTE. The complications with passing NET separately | Martin Mares | |
aren't worth 4 bytes per RTE. rte_discard and rte_dump don't need net * as parameter. | |||
1998-10-19 | Generate router_id automatically if possible (standard "smallest of local | Martin Mares | |
regular interface addresses" rule). Protocols should NOT rely on router_id existence -- when router ID is not available, the router_id variable is set to zero and protocols requiring valid router ID should just refuse to start, reporting such error to the log. | |||
1998-10-19 | Fixed generation of device routes for unnumbered point-to-point links. | Martin Mares | |
1998-10-19 | Proto struct now contain (down | starting | up) state. | Martin Mares | |
1998-10-19 | o FIB flags now available for FIB users. | Martin Mares | |
o struct network: FIB flags used for kernel syncing. o struct network: `next' field deleted (historical relic). | |||
1998-10-18 | Preconfig, postconfig and init hooks can be NULL. | Martin Mares | |
1998-10-18 | Split protocol init to building of protocol list and real protocol init. | Martin Mares | |
Added kernel route table syncer skeleton. | |||
1998-10-18 | Removed global pointer to proto_dev. | Martin Mares | |