Ondrej Zajicek
8a7fb8858f
Finishes 'route reload' feature.
2009-12-14 01:32:37 +01:00
Ondrej Zajicek
11361a1015
Implements route re-feed.
...
This can be used to re-feed routes to protocol after soft change in
export filters.
2009-12-02 22:19:47 +01:00
Ondrej Zajicek
11787b8473
Fixes some problems in pipes.
...
For transparent pipes, loop detection works correctly now.
Pipes are now more symmetric - in both directions filtering
is done in do_rte_announce().
2009-12-02 17:26:16 +01:00
Ondrej Zajicek
e8b29bdc8d
Fixes one missing log message.
2009-12-02 14:33:34 +01:00
Ondrej Zajicek
bf47fe4b2e
Implements BGP route refresh.
2009-11-26 20:47:59 +01:00
Ondrej Zajicek
069bfcb53c
Fixes serious bug in core related to route filtering.
...
If protocol announces a route, route is accepted by import filter to
routing table, and later it announces replacement of that route that is
rejected by import filter, old route remains in routing table.
2009-11-24 17:15:20 +01:00
Ondrej Zajicek
c0973621bc
Fixes another bug in rte_recalculate().
...
Previous bugfix revealed another hidden bug here.
2009-08-11 15:49:56 +02:00
Ondrej Zajicek
024e633c16
Fixes bug that caused losing of some routes.
...
When update changes preferred route in such a way that
it ceased to be preferred, the new route was linked
to wrong place and lost.
2009-08-11 10:54:50 +02:00
Ondrej Zajicek
925fe2d3de
Implements route statistics and fixes some minor bugs.
2009-06-04 01:22:56 +02:00
Ondrej Zajicek
c07c65d6d0
Escaped debbuging message removed.
2009-06-01 23:18:45 +02:00
Ondrej Zajicek
f98e291579
The pipe cleanup.
2009-06-01 14:07:13 +02:00
Ondrej Zajicek
23ac9e9a9e
Changes pipes to transfer all routes between routing table, not just optimal routes.
2009-05-31 15:24:27 +02:00
Ondrej Zajicek
ea2ae6dd0a
Change import/preimport to export/preexport to be consistent with filters.
2009-05-22 17:12:15 +02:00
Ondrej Filip
4d176e1450
'show route protocol <p>' added to CLI.
2009-05-11 02:01:11 +02:00
Ondrej Zajicek
40b65f947a
Fixes bug in pipe route filtering.
...
Routes comming through pipe from primary to secondary table were
filtered by both EXPORT and IMPORT filters, but they should be
only filtered by EXPORT filters.
2009-03-25 19:05:52 +01:00
Ondrej Zajicek
258d0ad4ca
Fixes feeding of new protocol, only preferred routes are announced.
2008-11-14 23:03:15 +01:00
Ondrej Filip
10af3676ea
Grrr, committing too fast.
...
#include "alloca.h" -> #include "lib/alloca.h"
2004-05-31 17:16:47 +00:00
Ondrej Filip
0e6eef620d
Use #include "alloca.h"
2004-05-31 17:07:05 +00:00
Ondrej Filip
0c745adc80
#ifdef ALLOCA_H
2004-05-31 13:34:20 +00:00
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
7d875e094b
Added missing includes.
2002-11-13 08:47:06 +00:00
Martin Mares
e43ae6330e
Fix %<something>I format strings.
2001-08-19 11:15:24 +00:00
Martin Mares
725270cb1d
Fixes for the programmer's manual.
2000-06-08 12:37:21 +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
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
58740ed4c5
Documentation.
2000-06-01 17:12:19 +00:00
Martin Mares
2f71123158
Killed bug in merging of dynamic attributes.
2000-05-30 21:24:15 +00:00
Martin Mares
2eca3b3a9c
Routing table garbage collector gets really called.
2000-05-19 19:49:33 +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
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
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
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
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
0117d00494
Fixed `show route primary'.
2000-05-08 10:37:45 +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
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
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
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
85a291ff30
IPv6 address classification fixes.
2000-05-02 15:21:51 +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
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
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
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