Commit graph

  • e4912e3594 Prefer gm4' over m4' (due to BSD et al.). Martin Mares 1999-03-29 20:26:32 +0000
  • ba92164871 Update of filters towards new interface. Pavel Machek 1999-03-29 20:21:28 +0000
  • 5bc512aa3a Clarify resource dumps and include them in the main debugging dump. Martin Mares 1999-03-29 20:14:33 +0000
  • 3f2a21fd34 Don't try to delete interface routes on CONFIG_AUTO_ROUTES systems. Martin Mares 1999-03-29 20:14:00 +0000
  • 6c02d83f4d Added FIXME: If a strange interface appears, ignore it instead of only writing an error message... Martin Mares 1999-03-29 19:56:32 +0000
  • f5c687f791 Added lp_flush() which flushes contents of a linear pool, leaving all the memory available for subsequent allocations from the same pool. Both flushing and re-using the memory costs just few instructions. Martin Mares 1999-03-29 19:35:47 +0000
  • f54801ffed Moved all system-dependent #include's containing endianity conversion functions to sysdep header endian.h. Martin Mares 1999-03-29 19:14:43 +0000
  • 6134024815 #define NULL if not defined by system includes. Martin Mares 1999-03-29 19:13:36 +0000
  • 7f400d1c62 After today's lengthy discussions about filter syntax, let's clean up whitespace/semicolon rules for whole config file: Martin Mares 1999-03-29 19:04:14 +0000
  • 1127ac6ec7 Cleaned up system configuration files -- removed few obsolete parameters, documented the remaining ones (sysdep/cf/README). Martin Mares 1999-03-27 22:51:05 +0000
  • 7dc4827c96 Added everything protocols need to know about multiple routing tables, i.e. struct proto now contains field 'table' pointing to routing table the protocol is attached to. Use this instead of &master_table. Martin Mares 1999-03-26 21:50:43 +0000
  • 7e5f5ffdda Moved to a much more systematic way of configuring kernel protocols. Martin Mares 1999-03-26 21:44:38 +0000
  • 739ebd8e82 Allow different instances of the same protocol with identical preferences. Martin Mares 1999-03-26 21:38:02 +0000
  • 4ba84ebc82 Slightly better generator of default protocol instance names. Martin Mares 1999-03-26 21:37:29 +0000
  • 241b7311ec Don't compile OSPF by default. Martin Mares 1999-03-26 21:35:28 +0000
  • b5239f2238 Don't try to manipulate neighbor lists for copied interface structures. This avoids few nasty references to free memory. Martin Mares 1999-03-26 21:33:36 +0000
  • f79a749d0b Removed our declaration of RTPROT_BIRD since Alexey has assigned us a real protocol number in 2.2.4 kernel. Martin Mares 1999-03-24 09:23:34 +0000
  • 421838ffef rte_update: Check sanity of incoming entries. Throw out (and log) all routes to bogus prefixes and non-local routes to host scope addresses. Martin Mares 1999-03-17 15:01:07 +0000
  • 529c414953 Allow input and output filters (only accept/reject style as we didn't define modifying filters yet) to be attached to protocol instances. Martin Mares 1999-03-17 14:31:26 +0000
  • e0f2e42f4f A couple of filter tweaks: Martin Mares 1999-03-17 14:29:39 +0000
  • c612a3be31 Removed the `rta_same' hook since it's no longer needed (all protocols needing some local information should use extended attrs and cached rta's). Martin Mares 1999-03-17 13:13:18 +0000
  • b77ae37d11 Implemented extended route attributes and all related functions. Martin Mares 1999-03-17 13:09:09 +0000
  • 9a38757c6a Initialize pointers to functions so that code is actually alive. Pavel Machek 1999-03-17 13:05:25 +0000
  • 3c7ad64c57 Compilation fix for mj. Pavel Machek 1999-03-17 13:04:33 +0000
  • 29df5739c4 Don't segfault on unknown interface. Pavel Machek 1999-03-17 10:20:23 +0000
  • d36d838df5 accept & reject should now work Pavel Machek 1999-03-17 10:19:07 +0000
  • c1f8dc9149 Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF. Ondrej Filip 1999-03-09 22:27:43 +0000
  • 2575593e0f Resolved conflicts, you no longer need to wrap constants in const() Pavel Machek 1999-03-09 14:45:27 +0000
  • 1aa5cf1c61 Added '=' to operator list Pavel Machek 1999-03-09 14:44:43 +0000
  • b700582445 Filters are now a tiny bit stronger (if is actually working ;-) Pavel Machek 1999-03-08 20:30:06 +0000
  • 111213f0b6 Fixed processing of !krt_capable() routes. Converted device route decisions to the krt_capable mechanism as well. Martin Mares 1999-03-04 19:00:31 +0000
  • e16155ae4a KRT: Implemented asynchronous route / interface state notifications (via Netlink). Tweaked kernel synchronization rules a bit. Discovered locking bug in kernel Netlink :-) Martin Mares 1999-03-04 18:36:18 +0000
  • 2253c9e239 Although there are still heaps of FIXME's, Netlink works. Martin Mares 1999-03-04 14:23:32 +0000
  • f81dc8564a Converted some mb_alloc/bzero pairs to mb_allocz. Martin Mares 1999-03-04 11:40:05 +0000
  • 8fe48f1377 Initialize allocated struct proto :-) Martin Mares 1999-03-04 11:39:24 +0000
  • 7a2105becd Use dmalloc instead of EFence when available (dmalloc has lot of improvements over EFence and also hopefully smaller memory overhead, but sadly it's non-free for commercial use). Martin Mares 1999-03-04 11:36:26 +0000
  • aa64578641 Netlink scans routes... Martin Mares 1999-03-03 20:57:29 +0000
  • 51ad41f2fc EFence helped to find using of already free rte's in rt_prune(). Martin Mares 1999-03-03 20:56:33 +0000
  • 53b7a2982a Fix several things I broke today. Martin Mares 1999-03-03 20:55:35 +0000
  • 0e889c5254 Added a hack forcing protocols with priority>0 to be started up immediately. Grrr, need to find a real solution some day. Martin Mares 1999-03-03 20:40:51 +0000
  • 2d14045224 Rewrote the kernel syncer. The old layering was horrible. Martin Mares 1999-03-03 19:49:56 +0000
  • b2280748ad Introduced protocol priority (all 'normal' protocols should use the default zero priority). No more "kernel syncer initialized before device routes" problems. Martin Mares 1999-03-03 19:33:54 +0000
  • 84c7e1943f Add interface for running filters (please comment!), avoid bison warnings Pavel Machek 1999-03-02 19:49:28 +0000
  • 05a845ed8e Avoid segfault Pavel Machek 1999-03-02 19:49:22 +0000
  • 7972248d5d Netlink module supports interface scan on startup. Working on more. Martin Mares 1999-03-02 18:37:02 +0000
  • e35ef181a4 o The if_change_too_big_p change was too high-spirited. Fixed. o Introduced if_find_by_index() o Recognizing two types of interface updates: full update (starting with if_start_update(), ending with if_end_update(), guaranteed to see all existing interfaces) and a partial update (only if_update(), usually due to asynchronous interface notifications). Martin Mares 1999-03-02 18:36:09 +0000
  • bcbd8cc3be Interface logic changes: Martin Mares 1999-03-02 17:28:06 +0000
  • 25287d6f7e Don't try to install static routes to disconnected neighbors. Martin Mares 1999-03-02 17:20:07 +0000
  • eab0d1e5e5 Latest changes broke out-of-tree compilation. Martin Mares 1999-03-02 16:39:41 +0000
  • 3d8ef0c9ef I just don't like files enclosed in <>. Pavel Machek 1999-03-02 13:15:35 +0000
  • e834074dd4 If we are compiling with debugging enabled and libefence is available, link it to get debugging malloc. Martin Mares 1999-03-01 22:42:47 +0000
  • b982b6db2b Implemented netlink protocol parsing functions. More to come tomorrow. Martin Mares 1999-03-01 22:31:27 +0000
  • b4b3b39e20 Added SK_MAGIC type sockets for internal use by system dependent code, especially for netlink communication. Martin Mares 1999-03-01 22:30:33 +0000
  • c748cdb9ec Hopefully ended translating to new interface Pavel Machek 1999-03-01 21:18:01 +0000
  • bdb95a21a4 Added skeletal version of Linux netlink interface. It doesn't work yet, but the framework is there and I'll try finish it soon. Martin Mares 1999-03-01 20:17:46 +0000
  • ea3582a6f6 Include "config.h" instead of "autoconf.h" in all Modules lists to make defines in the static portion of configuration includes available as well. Martin Mares 1999-03-01 20:15:14 +0000
  • 1b769b08c1 Renamed struct rtattr to struct rta to make things more consistent and avoid namespace clashes with <linux/rtnetlink.h>. Other files should not be affected since they use 'rta' directly. Martin Mares 1999-03-01 20:13:54 +0000
  • 025d14cd5a Use traditional Unix route/iface interface only when CONFIG_NETLINK is not defined. Also moved declarations of Unix iface logic to krt.h. Martin Mares 1999-03-01 19:05:58 +0000
  • 12be9b8c18 Pruned the TODO list. Martin Mares 1999-03-01 17:51:29 +0000
  • 293e313ec9 More rip fixes (config data moved to struct rip_proto_config), still not tested. Pavel Machek 1999-02-15 13:34:43 +0000
  • b5fe3dc21c Cleaned up TODO file. Martin Mares 1999-02-13 22:13:04 +0000
  • 45090fecd9 Synced example config with new options. Martin Mares 1999-02-13 22:02:21 +0000
  • d88e99a92a Implemented static device routes. Martin Mares 1999-02-13 21:59:48 +0000
  • d1f7eab6b5 Parameter order for the proto->if_notify hook was different in the include file and different in reality. Decided to use the same order as we do for proto->rt_notify (i.e., first new value and second the old one). Martin Mares 1999-02-13 21:58:53 +0000
  • 726141746b '#' comments in config files are equivalent to end of line, therefore also to implicit ';'. Martin Mares 1999-02-13 21:34:33 +0000
  • 5996da6a1d Implemented garbage collection of routing tables to delete orphaned network 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. Martin Mares 1999-02-13 21:29:01 +0000
  • f4a0a64e02 Static protocol doesn't need any shutdown function. Everything gets disposed by the core: neighbors, rte's, etc's... Martin Mares 1999-02-13 21:00:25 +0000
  • 3fb4ca2ce2 Don't send any neighbor notifications to protocols being flushed. Martin Mares 1999-02-13 20:57:47 +0000
  • 783f8b689a When protocols go down, prune the neighbor list. Martin Mares 1999-02-13 20:55:08 +0000
  • 013a9b91fe When shutting down, remove all routes (except for RTS_INHERIT and RTS_DEVICE routes) from kernel routing tables unless the "persist" switch is set. Martin Mares 1999-02-13 20:46:03 +0000
  • 0a2e9d9f56 Moved sanity check of protocol state during annoucements to rte_announce. Martin Mares 1999-02-13 20:19:24 +0000
  • f4aabcee62 Perform gracious shutdown upon receipt of SIGTERM. Finally we can test the whole protocol shutdown code... :) Martin Mares 1999-02-13 20:15:36 +0000
  • 7f3d1a0850 Squashed one bug in timing of route scans. Martin Mares 1999-02-13 19:57:19 +0000
  • 4c9dd1e4b9 Synchronize signals to the main select/event/timer loop. Martin Mares 1999-02-13 19:43:21 +0000
  • 1a54b1c6ac Implemented real cleanup and pruning of routing table on protocol shutdown. Martin Mares 1999-02-13 19:15:28 +0000
  • ab749558a2 Pass new argument to FIB_ITERATE_END. Martin Mares 1999-02-13 19:14:16 +0000
  • 2569bc4073 Fixed bug in FIB_ITERATE_END: it assumed the control variable is named "z". I've added an argument specifying name of the variable. Martin Mares 1999-02-13 19:13:51 +0000
  • 4e9498cbb1 config->router_id works again. Martin Mares 1999-02-13 18:42:00 +0000
  • 67bd949a52 Real implementation of protocol state machines. Delayed startup/shutdown should work now. Initial feeding of protocols by interfaces/routes is done from the event queue to prevent unwanted recursion. Martin Mares 1999-02-11 22:59:06 +0000
  • 14dea0ed25 Run the event queue before writing SIGUSR dumps. Martin Mares 1999-02-11 22:51:15 +0000
  • 64011f898c struct proto again contains instance name (a copy of proto->cf->name). Martin Mares 1999-02-11 22:45:54 +0000
  • 3b15402fd4 Grrr, forgot to commit the event routines themselves :| Martin Mares 1999-02-11 22:18:36 +0000
  • e8f73195fa Added simple event scheduling system to avoid recursive calling of various callbacks. Martin Mares 1999-02-11 21:18:26 +0000
  • edf62ba13f Propagate depend into all subdirectories; make rip compile after latest mj's changes. Pavel Machek 1999-02-08 22:50:32 +0000
  • ed245f967f Synced Linux sysdeps to new interface. Martin Mares 1999-02-05 21:39:21 +0000
  • 10d807d000 Synced kernel interface to new interface. Martin Mares 1999-02-05 21:38:50 +0000
  • e9e3dc2659 Modified static router to use new interface. Martin Mares 1999-02-05 21:38:22 +0000
  • 31b3e1bbf5 Implemented new configuration/reconfiguration interface and defined protocol state machines. Full explanation will follow soon. Martin Mares 1999-02-05 21:37:34 +0000
  • c4c63eecc3 Added several parentheses to MIN/MAX macros. Martin Mares 1999-02-05 21:29:19 +0000
  • 292099d55f Few fixes in parsing of filters Pavel Machek 1999-02-03 12:28:16 +0000
  • 294c182eb1 Replaced the old ugly ipv6 compilation hack by a conditional in Modules. Martin Mares 1999-01-23 21:08:59 +0000
  • 2c2f67bd83 Filter all `Modules' files through C preprocessor, so that they can reference BIRD configuration. Martin Mares 1999-01-23 21:08:36 +0000
  • ca3d562b24 filters_init() renamed to filters_postconfig(). Pavel Machek 1999-01-15 18:13:55 +0000
  • c9b6670608 Original expr' is back, filter expressions renamed to term'. Martin Mares 1999-01-15 18:04:28 +0000
  • 3169cf6991 Added bird.conf to .cvsignore and created an example configuration file. Martin Mares 1999-01-15 17:18:41 +0000
  • e3a39a9ee7 Killed duplicate %type for expr. Martin Mares 1999-01-15 16:59:26 +0000
  • ca6dfded2c Make filters actually compiled. Pavel Machek 1999-01-15 16:52:14 +0000
  • b9d70dc84e Filters, second try. This time they have their own directory. Pavel Machek 1999-01-15 16:49:17 +0000
  • b79f9215b9 Propagate "depend" target to real top-level Makefile. Martin Mares 1999-01-15 16:40:14 +0000
  • 489b6b5e00 #if 1 that creeped into cvs killed. Pavel Machek 1999-01-15 16:13:51 +0000