Commit graph

256 commits

Author SHA1 Message Date
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
Martin Mares
c6add07fa6 Printing of AS paths and community sets. 2000-04-17 10:18:55 +00:00
Martin Mares
c0668f3696 Created nest/a-path.c and a-set.c which should contain general operations
on AS paths and community sets.

Moved as_path_prepend() there.

Pavel, please move the other functions as well.
2000-04-17 07:53:29 +00:00
Martin Mares
b475c543b4 Fix comments. 2000-04-10 22:08:32 +00:00
Pavel Machek
73e03bce66 As usuall, most important info was missing. 2000-04-10 14:45:00 +00:00
Martin Mares
6f57dcc07c Export ea_same() and ea_hash(). 2000-04-10 12:39:29 +00:00
Martin Mares
287111fed1 Fix stupid bug in neighbor cache. 2000-04-10 10:40:00 +00:00
Martin Mares
d3feceff10 BGP doesn't need any inline attributes. 2000-04-09 22:04:12 +00:00
Martin Mares
3991d84e8f Changed initialization of protocol list -- now we call proto_build() instead
of calling the protocols manually.

Implemented printing of dynamic attributes in `show route all'.

Each protocol can now register its own attribute class (protocol->attr_class,
set to EAP_xxx) and also a callback for naming and formatting of attributes.
The callback can return one of the following results:

	GA_UNKNOWN	Attribute not recognized.
	GA_NAME		Attribute name recognized and put to the buffer,
			generic code should format the value.
	GA_FULL		Both attribute name and value put to the buffer.

Please update protocols generating dynamic attributes to provide
the attr_class and formatting hook.
2000-04-01 10:19:47 +00:00
Martin Mares
f880924990 BGP now handles incoming routes (IPv4 only). 2000-04-01 09:17:33 +00:00
Martin Mares
8581061399 When tracing, always print incoming part of the trace before the outgoing one.
Avoid buffer overflows in `show routes' command.
2000-04-01 09:16:42 +00:00
Martin Mares
ac4b4683ae Removal of useless includes continues... 2000-03-31 23:40:00 +00:00
Martin Mares
221135d6bf Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00