Commit graph

368 commits

Author SHA1 Message Date
Martin Mares 13b75bacf7 protocol->import_control() could potentially call rte_cow() as well.
AFAIK it doesn't happen in any of our protocol, but better be sure.
2003-08-13 20:04:39 +00:00
Martin Mares 2adab6ae9c This was a potential memory leak, but not the one Feela observed.
This one could happen when an import filter of some protocol modified
the rte (so that it would be rte_cow()ed) and later rejected it.
2003-08-13 19:31:22 +00:00
Martin Mares 7b7a7b43a6 There can be multiple primary addresses with different scopes
and only the highest scope one has IA_PRIMARY set, so report
the remaining ones as "Unselected".
2003-02-22 22:39:06 +00:00
Martin Mares 7d875e094b Added missing includes. 2002-11-13 08:47:06 +00:00
Martin Mares de10a974f2 Added missing semicolons. 2002-11-13 08:46:12 +00:00
Martin Mares e43ae6330e Fix %<something>I format strings. 2001-08-19 11:15:24 +00:00
Martin Mares 8c6ce98b9d Fixed infinite recursion in password_same.
Pavel, please check.
2001-01-08 11:13:01 +00:00
Ondrej Filip a5096a1bde Yet another nasty bugfix of iface_patts_equal(). 2000-11-08 22:46:54 +00:00
Ondrej Filip 0639f7263a Bugfix in iface_patts_equal.
When both patterns were NULL strcmp it sigfaulted.
2000-11-08 17:06:35 +00:00
Pavel Machek ad3907559c RIP bugfix 2000-06-21 19:40:46 +00:00
Martin Mares 725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
Martin Mares 49569a8b53 Oops! Configuration compiles now. 2000-06-08 10:48:35 +00:00
Pavel Machek ca77641d07 Use switch' for disabled'. 2000-06-08 10:25:56 +00:00
Martin Mares ec423cc725 Updated CLI helps. 2000-06-08 10:25:02 +00:00
Martin Mares 58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
Martin Mares 2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00
Ondrej Filip 41ad16e2d5 Added IP protocols. 2000-06-06 11:50:48 +00:00
Martin Mares 5c18880e35 Avoid sentence containing a colon to start new doc subsection. 2000-06-05 21:26:11 +00:00
Martin Mares 525fa2c1f0 Documented sockets, events and timers. 2000-06-05 12:19:12 +00:00
Martin Mares 9238b06a2c Spelling. 2000-06-05 10:01:09 +00:00
Martin Mares 42b3daa09c Description of protocol module moved to where it belongs. If documentation
of standard modules is stored in their source, such auxilliary files
should be as well.
2000-06-05 09:51:24 +00:00
Martin Mares 47f8e0c216 Document. 2000-06-04 16:16:08 +00:00
Martin Mares cdb898cfd4 Minor changes to the progdocs. 2000-06-03 18:23:27 +00:00
Martin Mares 3d675cdbe7 More documentation. 2000-06-03 14:40:39 +00:00
Martin Mares ddbcb927f2 Documented protocol hooks. 2000-06-02 17:24:11 +00:00
Martin Mares 3c6269b8fe Added documentation on protocols.
Protocol hooks deserve an extra chapter (to come soon).
2000-06-02 13:42:36 +00:00
Martin Mares 9a8f20fc0f Better description of the route distribution process. 2000-06-02 12:41:25 +00:00
Martin Mares 3ce8c61000 Documentation on routing tables and route attributes. 2000-06-02 12:29:55 +00:00
Martin Mares 566a0eede7 Removed rta_find() since nobody uses it and it's more convenient
to use ea_find() directly.
2000-06-02 12:29:24 +00:00
Martin Mares 58740ed4c5 Documentation. 2000-06-01 17:12:19 +00:00
Martin Mares cf318e3cd3 Removed comments about workings of the old neighbor cache which are
(1) obsolete and (2) replaced by the progdoc.
2000-06-01 16:17:29 +00:00
Martin Mares 1f495723c3 Documented. 2000-06-01 16:16:49 +00:00
Martin Mares ce4aca093a FIB documentation.
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.
2000-06-01 16:16:18 +00:00
Martin Mares a9aa4c1ebb Inactive sticky neighbors have no scope. 2000-06-01 13:13:49 +00:00
Martin Mares 0f32f2a65a Modified the neighbor cache to remember local addresses as well.
neighbor->scope now contains proper address scope which is zero (SCOPE_HOST)
for local addresses, higher (SCOPE_LINK, ..., SCOPE_UNIVERSE) for remote ones.
2000-06-01 12:58:04 +00:00
Martin Mares 5919c66e8f Route attributes for OSPF. 2000-05-30 21:25:32 +00:00
Martin Mares 2f71123158 Killed bug in merging of dynamic attributes. 2000-05-30 21:24:15 +00:00
Martin Mares caab3bb374 Better formatting of protocol status. 2000-05-30 21:23:49 +00:00
Pavel Machek 26c09e1d25 Added read-only access to all required fields in rta. 2000-05-30 10:42:39 +00:00
Ondrej Filip 73232f6b18 Better rt dumping. 2000-05-30 10:36:57 +00:00
Martin Mares 4761efdb43 Tracing of CLI connections/commands can be now controlled
by `debug commands <level>' in the configuration. Level 0 means
no tracing, 1 means connections only, 2 includes all commands.
2000-05-29 22:10:18 +00:00
Ondrej Filip cdc25e8db7 To find out a type of route (external, inter/intra area) 2000-05-28 19:07:39 +00:00
Martin Mares 2eca3b3a9c Routing table garbage collector gets really called. 2000-05-19 19:49:33 +00:00
Martin Mares 0ba8a6147d Fixed a very nasty bug in FIB iterators. 2000-05-19 19:40:12 +00:00
Martin Mares 3ced9b349d Fixed freeing of non-embedded extended attributes. 2000-05-19 18:05:01 +00:00
Martin Mares 075898dea7 No more problems when protocols gets disabled during feeding. 2000-05-19 18:03:53 +00:00
Martin Mares f49528a3df Added as_path_get_first(). 2000-05-19 11:01:06 +00:00
Martin Mares 76dfda9e74 Fixed a buglet in asynchronous feeding and increased maximum number
of routes allowed per feeding phase.
2000-05-19 10:59:47 +00:00
Martin Mares ac5d801217 Asynchronous feeding of protocols. 2000-05-19 10:46:26 +00:00
Martin Mares e79671a72c Fixed incorrect error message about router ID syntax. 2000-05-16 15:08:43 +00:00
Pavel Machek d6796e7b54 Don't segfault when someone adds passwords. 2000-05-16 15:02:27 +00:00
Pavel Machek 2f2663bdb7 Password same now actually works 2000-05-16 15:00:15 +00:00
Martin Mares df9f0fb30a Don't log state changes if nothing user-visible has changed. 2000-05-16 13:43:26 +00:00
Martin Mares e3f2d5fce3 Cleanup of configuration.
o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
   so that defined symbols work everywhere.
o  `define' now accepts both numbers and IP addresses.
o  Renamed `ipa' in filters to `fipa'.

Pavel, please update filters to accept define'd symbols as well.
2000-05-15 11:48:23 +00:00
Martin Mares 9449c91ab2 Added `show route for <prefix-or-ipa>' which looks up route leading to
given network.
2000-05-13 11:42:42 +00:00
Martin Mares 56d6c530eb Added fib_route() which does (although very slow) lookup of longest-match
routing in a FIB.
2000-05-13 11:42:06 +00:00
Martin Mares 758458be05 Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Martin Mares 08f0290a1e Changed semantics of the rt_update hook. The attribute list we pass now
contains all attributes, not just the temporary ones. This avoids having
to merge the lists inside protocols or doing searches on both of them.

Also, do filtering of routes properly. (I'd like to avoid it, but it's
needed at least in the krt protocol.)
2000-05-13 11:00:37 +00:00
Pavel Machek ec21aecfdd Fixed nasty segfault in rip. 2000-05-11 10:33:18 +00:00
Pavel Machek 45a48e2de2 password_same utility function 2000-05-10 13:42:46 +00:00
Pavel Machek c0100454cf Added more convient interface for ea_find.
What is special about int default;? Compiler chokes on that!
2000-05-10 06:54:40 +00:00
Martin Mares 0521e4f684 rt_prune: Don't kill routes from protocols in FS_FEEDING state. If debugging,
call fib_check() on the table's fib.
2000-05-08 22:33:02 +00:00
Martin Mares 8abbde02d4 Several simplifications of the fib iterators. 2000-05-08 19:11:49 +00:00
Martin Mares 33a368ad59 Implemented show route count' which is show route stats' with
exception that it doesn't print the routes themselves.
2000-05-08 14:58:00 +00:00
Martin Mares e48dae3ed7 Stop feeding the protocol if it suddenly shuts down. 2000-05-08 14:51:26 +00:00
Martin Mares 5d86aefb6c Really free attributes. 2000-05-08 13:12:14 +00:00
Martin Mares d0126f0bf0 bugs_in_attr_cache_hashing--; 2000-05-08 11:40:30 +00:00
Martin Mares 916c8c0aba Use preferences properly. 2000-05-08 10:40:00 +00:00
Martin Mares 0117d00494 Fixed `show route primary'. 2000-05-08 10:37:45 +00:00
Martin Mares 18c031fae8 Debugged printing and pruning of neighbor cache entries. 2000-05-08 10:13:59 +00:00
Martin Mares 0d3070824d Don't count networks with no routes (they are not displayed at all and
will be removed during the next garbage collection pass).
2000-05-07 11:32:34 +00:00
Martin Mares 23693958aa Implemented `show route <...> stats'. 2000-05-07 11:28:59 +00:00
Martin Mares 6998bb9ee3 Squashed one bug in fib_rehash(). No more routes disappearing as if struct
by a lightning :)
2000-05-07 11:28:34 +00:00
Martin Mares 891cec854f Killed one more reference to RTS_RIP_EXT. 2000-05-07 11:27:23 +00:00
Martin Mares ce1da96ee7 Added commands show route protocol <p>' and show route import <p>' which
show the routing table as exported to the protocol given resp. as returned
from its import control hook.

To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an
attribute list and all protocol specific rte attributes are contained
there as temporary ones. Updated RIP to do that.

Added ea_append() which joins two ea_list's.
2000-05-06 22:57:39 +00:00
Martin Mares 498c33395f Cosmetic fixes. 2000-05-06 21:42:19 +00:00
Martin Mares 0b7610985c Fixed silly bug in previous commit. 2000-05-06 21:31:41 +00:00
Martin Mares 67be5b23cd When rte_update is called for an identical route, don't announce anything.
Please implement the rte_same hook in your protocols. It should just
compare your metrics stored directly in rte, the rest is done by the core.
2000-05-06 21:21:19 +00:00
Martin Mares ab1129c1bd Added skeleton Doc files for the whole developer's documentation. 2000-05-05 17:17:42 +00:00
Martin Mares beaf86e13c Removed RTS_RIP_EXT. 2000-05-04 21:23:10 +00:00
Martin Mares 9a220cabbc #ifdef out lots of debugging information.
The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'
commands.
2000-05-04 20:52:28 +00:00
Martin Mares 93a786cb03 Removed a lot of unused variables.
Please try compiling your code with --enable-warnings to see them. (The
unused parameter warnings are usually bogus, the unused variable ones
are very useful, but gcc is unable to control them separately.)
2000-05-04 20:30:36 +00:00
Martin Mares 1d9622e10d Switched off LOCAL_DEBUG. 2000-05-04 09:08:28 +00:00
Martin Mares 85a291ff30 IPv6 address classification fixes. 2000-05-02 15:21:51 +00:00
Martin Mares 2edb31b097 Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).
2000-04-28 15:11:10 +00:00
Martin Mares f75e3bbc01 Fixed a couple of nasty CLI bugs which were triggered on long or multi-part
outputs. It took a whole evening to hunt them down, but now the CLI seems
to work fine.

Now I run three BGP connections with several thousand routes!
2000-04-27 22:35:08 +00:00
Martin Mares 8f6accb5bb Event handlers no longer return re-queue flag. Instead of using it, just
call ev_schedule() on the same handler which should work perfectly now.
2000-04-27 22:28:49 +00:00
Martin Mares 987de54578 Fixed stupid bug in as_path_format(). 2000-04-27 19:44:27 +00:00
Martin Mares dbf3939a53 Better formatting of router ID's. 2000-04-26 12:32:07 +00:00
Martin Mares ebd3720f83 Fixed several bugs in protocol state machine. Reconfigurations and
restarts of BGP seem to work now.
2000-04-26 12:30:41 +00:00
Pavel Machek 9834765946 Whitespace changes. 2000-04-26 09:37:07 +00:00
Martin Mares 41b26cfb55 Don't forget to set filter pointers in struct proto when reconfiguring. 2000-04-25 21:56:46 +00:00
Martin Mares 56a2bed46b Don't import/export MED and LOCAL_PREF on external links.
Added real comparison of BGP routes (inspired by the Cisco one).
Default local preference and default MED are now settable.
Defined filter keywords for all BGP attributes we know.
2000-04-17 12:46:07 +00:00
Martin Mares 700bbe60fb The previous fix for spacing was (a) totally out of context, (b) wrong.
Please *read* the code when trying to change it.

Also killed a couple of type clashes.
2000-04-17 11:49:41 +00:00
Pavel Machek 5a2455886d Put space between entries so they are separated.
FIXME: should use format as in filters.
2000-04-17 11:42:34 +00:00
Pavel Machek 9c400ec9dd Int sets moved to core. It is now possible to have variable of type clist. 2000-04-17 11:34:38 +00:00
Martin Mares 51a183af78 Define EAF_ORIGINATED and propagate it properly when merging attribute lists. 2000-04-17 11:23:05 +00:00
Martin Mares 4b03f64b34 Aesthetical tweaks (asterisk spells `asterisk' etc.) 2000-04-17 11:22:24 +00:00
Pavel Machek 2a40efa5e6 as_path_match moved to a-path.c 2000-04-17 11:11:33 +00:00
Pavel Machek 684c6f5a0e Path_getlen moved to nest and length was made callable from filters. 2000-04-17 11:06:39 +00:00