Commit graph

  • eeb05158ac Be a tiny bit more verbose. Pavel Machek 1999-01-15 14:42:55 +0000
  • 72380a3447 Filters added. They are unable to do anything interesting for now (with exception of printing integers to screen), but they exist. Pavel Machek 1999-01-15 14:41:51 +0000
  • 41183888ee Properly initialize filters. Also bumped version to 0.0.0 as it actually does something. Pavel Machek 1999-01-15 14:40:50 +0000
  • cceb3e7d2f Fixed trivial bug in naming of `depend' file. Argh. Martin Mares 1999-01-12 20:36:18 +0000
  • 663683a575 Make it compile again (stupid makefiles!), make quiet option work (multicast/broadcast options are currently unimplemented). Pavel Machek 1999-01-12 16:50:38 +0000
  • 77cedad1f6 Keep protocol data out of iface_patt. Pavel Machek 1999-01-12 16:41:34 +0000
  • 50e89a6ea2 Patterns expanded in the right way Pavel Machek 1999-01-12 16:40:55 +0000
  • 18fff6a197 Initialize only protocols which are compiled in :) Martin Mares 1999-01-10 00:26:11 +0000
  • b296730cb6 Few last-minute bug fixes. Martin Mares 1999-01-10 00:25:50 +0000
  • 49e7e5ee0b New makefiles. Includes support for out-of-source-tree builds. Martin Mares 1999-01-10 00:18:32 +0000
  • 2f9bcf9713 First step of "autoconfization". Created a configure script which guesses most system-dependent parameters and determines name of system configuration file (sysdep/cf/...) with the remaining ones. Martin Mares 1999-01-09 15:02:11 +0000
  • 6996f459c6 Bird now uses fib structure instead of linklist. Pavel Machek 1998-12-22 19:41:04 +0000
  • 1d7c44b711 Oops, previous modification for passing NULL to fib_init() did not compile :-(. Pavel Machek 1998-12-22 19:20:43 +0000
  • ce45fc1287 Allow NULL to init_fib(). Pavel Machek 1998-12-22 18:55:49 +0000
  • 852fc0af31 log(), die() and bug() messages shound NOT contain trailing newlines. Martin Mares 1998-12-20 14:29:06 +0000
  • 08c69a7720 die() -> bug() where appropriate. Martin Mares 1998-12-20 14:27:37 +0000
  • ee969ea7f4 Added #if 0 to rip_postconfig(), so that it doesn't crash whole daemon when RIP is unconfigured. Martin Mares 1998-12-20 14:26:57 +0000
  • 98e87c8628 Finer grained logging levels: Martin Mares 1998-12-20 14:24:35 +0000
  • e440395d7d When printing a routing table, fib_check() it. Martin Mares 1998-12-20 14:01:37 +0000
  • 3ab001b974 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(). Martin Mares 1998-12-20 14:01:20 +0000
  • a6f250f5c6 New hash functions according to benchmarks posted yesterday. (The IPv6 version has not been benchmarked yet due to insufficient test data.) Now ipa_hash() returns a uniformely distributed 16-bit value. Martin Mares 1998-12-20 13:57:49 +0000
  • a05406e69c Implemented deletion/insertion/asynchronous-walk lists. For example of their use, look at comments in lib/slists.h. Martin Mares 1998-12-20 13:56:27 +0000
  • 29ad2c9ee1 Variance estimation fixed. Martin Mares 1998-12-19 21:53:28 +0000
  • 87b60bf7e8 Added several tools for fib hashing function analysis. It turned out we can use very simple function which is monotonic with respect to re-hashing: Martin Mares 1998-12-19 11:51:47 +0000
  • 02933ddbbe debug() -> DBG() in rip. Pavel Machek 1998-12-09 20:08:57 +0000
  • 06fa1453cd Initial multicast support (can not work, but skeleton is there) Pavel Machek 1998-12-09 15:22:40 +0000
  • 8e66a0ebb9 Hopefully finished kernel syncer (krt) rewrite: Martin Mares 1998-12-08 18:37:58 +0000
  • 980297d289 Fixed a couple of bugs in static protocol. All static routes except device ones seem to work well. Martin Mares 1998-12-08 18:31:31 +0000
  • 618533af91 Added source RTS_DUMMY for temporary routes. They should never appear in the main table. Martin Mares 1998-12-08 18:30:35 +0000
  • f39e4713c2 Rewritten kernel syncer. Now uses the rta trickery I've introduced yesterday and does things "the right way". Few things are still missing (device routes etc.), I'll add them later in the evening. Martin Mares 1998-12-08 16:20:13 +0000
  • 04925e9040 Minor rte/rta interface changes: Martin Mares 1998-12-07 21:59:15 +0000
  • cdc6bfa70f Comparison of kernel reject routes fixed. Martin Mares 1998-12-07 10:16:15 +0000
  • 12df4d909b KRF_* flags moved to krt.h as they are internal to kernel syncer, fib->pad0,pad1 renamed to x0,x1 and in case of struct net x0 is reserved for kernel syncing as well. Martin Mares 1998-12-07 10:15:42 +0000
  • f6bd206607 All static routes except for device ones should work and appear/disappear when their destination comes on/off link. Deserves better testing :) Martin Mares 1998-12-06 23:13:31 +0000
  • 78d06cf2bc Removed protocol-specific data in rte for protocol static since no such data ever existed. Martin Mares 1998-12-06 23:11:47 +0000
  • 436965d25e Aesthetic fix for neighbor cache debug dump. Martin Mares 1998-12-06 23:11:18 +0000
  • 89d2355d3d Added new rule for prefix length / netmask. Martin Mares 1998-12-06 23:10:45 +0000
  • cc12cf05c7 cf_error() now accepts any format strings instead of just an error message. Also added extra kludge to get rid of collisions of REJECT symbols. Martin Mares 1998-12-06 23:10:28 +0000
  • a1bf6440b5 Added skeleton of static route protocol. Martin Mares 1998-12-06 18:21:23 +0000
  • 980ffedbb0 Kernel syncer is now configurable. It will probably need some more options, but at least basic tuning is possible now. Martin Mares 1998-12-06 17:40:42 +0000
  • 0846203e89 Fixed bug in CF_ADDTO. How it's possible it has ever worked? Martin Mares 1998-12-06 17:39:08 +0000
  • 166b9c4912 Added rule "bool" for boolean switches. Martin Mares 1998-12-06 17:38:42 +0000
  • b35d72ac66 Name cleanups as suggested by Pavel: Martin Mares 1998-12-06 11:59:18 +0000
  • 2d9290e973 Rip now has configurable per-interface metric (please rewiev), and few more configurable parameters. To do that, union was added into iface_patt. Pavel Machek 1998-12-04 11:45:51 +0000
  • 9b999c393c Infinity is now configurable ammount. Pavel Machek 1998-12-01 16:17:10 +0000
  • 50d8424ad1 Added configuration of the device internal protocol. This is primarily 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. Martin Mares 1998-11-29 22:03:58 +0000
  • 66efdf962a Handle disabled protocol instances. Martin Mares 1998-11-29 22:01:33 +0000
  • ed45f2e126 Added functions for manipulating interface name pattern lists: Martin Mares 1998-11-29 22:01:03 +0000
  • 49e4a4d1fd Created new functions for allocating configuration data: Martin Mares 1998-11-29 21:59:37 +0000
  • 5cd462f291 wc -l TODO decreased. Martin Mares 1998-11-29 14:51:47 +0000
  • dee929d868 Added function for shell-like pattern matching. Will be used for matching interface names in protocol-to-iface bindings. Martin Mares 1998-11-29 14:47:24 +0000
  • bd5d0d62f1 Allow setting debug value and `disabled' flag in protocol definition. Martin Mares 1998-11-29 14:40:39 +0000
  • 0cf86f0fc3 Renamed DEBUG' symbol to DEBUGGING' to prevent collisions with token names and include files. Martin Mares 1998-11-29 14:38:34 +0000
  • 7af99789c7 Oops, forgot to remove a debugging kludge. Martin Mares 1998-11-27 21:34:03 +0000
  • 0b62c3a7c7 Trivial 15-line bison excercise: Implemented expressions including user-defined numeric symbols. Whenever possible, use expr' instead of NUM' to get full express ion power :-) Martin Mares 1998-11-27 21:32:45 +0000
  • c74c0e3cdf First attempt at protocol configuration (now done only for RIP). Martin Mares 1998-11-27 21:09:57 +0000
  • 93fb60d54c Fixed few misspellings and exported instance init as rip_init_instance(). Martin Mares 1998-11-27 21:08:37 +0000
  • 8450be97d6 Added generator of default names. Martin Mares 1998-11-27 21:07:02 +0000
  • 906b0170a4 Experimental config file. Martin Mares 1998-11-27 19:39:16 +0000
  • b4712244a0 Dummy grammar for RIP configuration. Now empty, but must be here since it's referenced in the makefiles. Martin Mares 1998-11-27 19:38:30 +0000
  • da87782278 Parser fragment for the core. Now handles only router ID setting. Martin Mares 1998-11-27 19:37:57 +0000
  • 70591fa064 Compile and use the new configuration code by default. Martin Mares 1998-11-27 19:37:07 +0000
  • f142750d34 Base of the parser. Martin Mares 1998-11-27 19:36:06 +0000
  • 82fc7be7bb Lexical analyser. Martin Mares 1998-11-27 19:35:50 +0000
  • fe7cec12e8 Replaced nest/confile.h by conf/conf.h, added a lot of new definitions. Martin Mares 1998-11-27 19:35:10 +0000
  • ce6ca80926 This script takes configuration fragments and generates full Bison grammar from them. Martin Mares 1998-11-27 19:33:53 +0000
  • 882c588a40 This script takes configuration fragments and extracts keyword list from them. Martin Mares 1998-11-27 19:33:26 +0000
  • d2ed2579fa Now merges configuration fragments (*.Y) as well. Martin Mares 1998-11-27 19:31:41 +0000
  • dfeef5d8bb Implemented ip_pton() Martin Mares 1998-11-27 19:29:27 +0000
  • a3afae585a Removed prototype of rp_free() since this function has never existed. Martin Mares 1998-11-27 19:29:00 +0000
  • 3cef8c706c Added path to config file. Martin Mares 1998-11-27 19:28:29 +0000
  • 4254dc45e7 Killed bug in processing of 'h' prefix. Patch taken from linux-2.1.129. Martin Mares 1998-11-21 10:25:34 +0000
  • 9158ca99f7 Complain loudly if the logging buffer would overflow. Martin Mares 1998-11-16 21:41:21 +0000
  • 53a416d376 Implemented snprintf and similar functions. It took a lot of thinking, but the modifications were relatively simple and straightforward. Martin Mares 1998-11-16 21:40:35 +0000
  • c3e9b2ab24 RIP now includes notion of interface, and is correctly talking to itself on second host. Split horizont is broken. Pavel Machek 1998-10-26 15:35:19 +0000
  • dafd580ed9 Previous fix was wrong. Martin Mares 1998-10-26 15:24:32 +0000
  • db6984c43c rte_update: Doesn't loop forever when multiple routes point to the same destination. Martin Mares 1998-10-26 15:01:04 +0000
  • dc7c7494e3 RIP _NOW_ actually talks to itself (workaround core bug: send data from other port than we receive at), few FIXME's added. Pavel Machek 1998-10-20 16:45:53 +0000
  • 756b86dea3 Learn static device routes from the kernel (temporary until we can make such things configurable). Martin Mares 1998-10-20 16:39:04 +0000
  • feb6abe009 RIP now actually talks to itself. Pavel Machek 1998-10-20 16:12:43 +0000
  • 8ca8683c70 Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-) Martin Mares 1998-10-20 15:47:02 +0000
  • acc62f5e1d Insert/remove hooks return void, not int. Martin Mares 1998-10-20 15:17:38 +0000
  • a0762910a6 Added pointer to network to RTE. The complications with passing NET separately aren't worth 4 bytes per RTE. Martin Mares 1998-10-20 15:13:18 +0000
  • b6903c948b Updated TODO. Martin Mares 1998-10-19 18:18:12 +0000
  • 7d83290780 Generate router_id automatically if possible (standard "smallest of local regular interface addresses" rule). Martin Mares 1998-10-19 18:13:36 +0000
  • 0804525255 Basic kernel routing table syncing implemented. Learning of routes installed by other programs or the kernel itself is not supported yet, but it's not needed for development of other protocols. Martin Mares 1998-10-19 17:52:29 +0000
  • 567e6c6220 Use (SOCK_DGRAM,IPPROTO_IP) socket instead of (SOCK_STREAM,IPPROTO_TCP). This is exactly what Linux ifconfig does and seems to be the preferred way. Martin Mares 1998-10-19 17:48:45 +0000
  • 4cf45766ba Exporting fill_in_sockaddr() for use by other unix-dependent code. Martin Mares 1998-10-19 17:47:50 +0000
  • 36f2caf147 Fixed generation of device routes for unnumbered point-to-point links. Martin Mares 1998-10-19 17:46:45 +0000
  • f184ea6f7e Proto struct now contain (down | starting | up) state. Martin Mares 1998-10-19 17:45:29 +0000
  • 16a8ba30a9 We parse /proc/net/route and flag RT entries according to it. More to come today in the morning... Martin Mares 1998-10-18 22:25:56 +0000
  • 4c45595e3b 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). Martin Mares 1998-10-18 22:24:41 +0000
  • ab3a76a382 Added ipa_from_u32 and ipa_from_u32 for use in the kernel sync code (IPv4 only). Don't ever think of using it in routing protocols. Martin Mares 1998-10-18 22:22:28 +0000
  • 7e7790c61f Since almost every UNIX system requires different techniques for reading the kernel routing table as opposed to modifying it which is approximately the same on non-netlink systems, I've split the kernel routing table routines to read and write parts. To be implemented later ;-) Martin Mares 1998-10-18 12:50:43 +0000
  • 8b1688177b * Please distinguish between DGB() and debug(). Martin Mares 1998-10-18 12:48:15 +0000
  • 3629bcf0c7 Preconfig, postconfig and init hooks can be NULL. Martin Mares 1998-10-18 12:26:02 +0000
  • 0432c0173b Split protocol init to building of protocol list and real protocol init. Added kernel route table syncer skeleton. Martin Mares 1998-10-18 11:53:21 +0000
  • 05e56feb57 Removed global pointer to proto_dev. Martin Mares 1998-10-18 11:50:36 +0000
  • 5b22683d2f After contemplating about RIP route timeouts for a long time, I've implemented protocol callbacks for route insertion and deletion from the central table. RIP should maintain its own per-protocol queue of existing routes, scan it periodically and call rte_discard() for routes that have timed out. Martin Mares 1998-10-18 11:13:16 +0000
  • 570ce189d7 Implemented `route last modified' time. Martin Mares 1998-10-18 10:49:46 +0000