Statistics
| Branch: | Revision:

iof-bird-daemon / nest / rt-table.c @ 7e95c05d

History | View | Annotate | Download (44.5 KB)

# Date Author Comment
7e95c05d 12/07/2010 10:33 PM Ondrej Zajicek

Core multipath support.

4ca93a50 09/08/2010 10:08 AM Ondrej Zajicek

Fixes a one byte buffer overflow.

2c9033af 08/03/2010 06:26 AM Ondrej Zajicek

Do not allow interdependent recursive routes.

ba5e5940 08/02/2010 11:11 AM Ondrej Zajicek

Adds igp_metric attribute.

d1e146f2 07/30/2010 11:04 PM Ondrej Zajicek

Implements IGP metric comparison for BGP routes.

1b180121 07/28/2010 09:45 AM Ondrej Zajicek

Use link-local addresses in recursive next hops for IPv6 BGP.

c477f489 07/27/2010 04:20 PM Ondrej Zajicek

Hostcache should use trie to filter relevant route changes.

f2b76f2c 07/26/2010 02:39 PM Ondrej Zajicek

For hostentry cache, replace FIB with a hash table using (IP, dep table) as a key.

852b7062 07/22/2010 01:09 PM Ondrej Zajicek

Fixes a buffer overflow in TX code of IPv6 BGP.

cfe34a31 07/05/2010 03:50 PM Ondrej Zajicek

Implements hostcache and recursive next hops.

Hostcache is a structure for monitoring changes in a routing table that
is used for routes with dynamic/recursive next hops. This is needed for
proper iBGP next hop handling.

acb60628 06/02/2010 08:20 PM Ondrej Zajicek

Implements command that shows memory usage.

c429d4a4 04/04/2010 01:41 PM Ondrej Zajicek

Restrict export of device routes to the kernel protocol.

In usual configuration, such export is already restricted
with the aid of the direct protocol but there are some
races that can circumvent it. This makes it harder to
break kernel device routes. Also adds an option to...

4d9a0d1f 03/24/2010 09:42 AM Ondrej Zajicek

Update lastmod in 'ignored' case only for RIP routes.

ff2857b0 02/26/2010 09:55 AM Ondrej Zajicek

Many changes in (mainly) kernel syncers.

- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes...

e81b440f 02/21/2010 01:34 PM Ondrej Zajicek

Fix configure to enable warnings and fix most of them.

dca75fd7 02/13/2010 11:26 AM Ondrej Zajicek

Removes phantom protocol from the pipe design.

It seems that by adding one pipe-specific exception to route
announcement code and by adding one argument to rt_notify() callback i
could completely eliminate the need for the phantom protocol instance
and therefore make the code more straightforward. It will also fix some...

9db74169 02/13/2010 09:44 AM Ondrej Zajicek

Fixes protocol statistics for pipes.

c8387626 02/11/2010 09:27 PM Ondrej Zajicek

Fixes a tricky bug in the pipe protocol.

When uncofiguring the pipe and the peer table, the peer table was
unlocked when pipe protocol state changed to down/flushing and not to
down/hungry. This leads to the removal of the peer table before
the routes from the pipe were flushed....

5a56f27c 02/08/2010 11:42 AM Ondrej Zajicek

Adds asterisk to the primary route in 'show route' cmd.

And also fixes a minor bug.

c37e7851 02/02/2010 11:19 PM Ondrej Zajicek

Makes date/time formats configurable.

8a7fb885 12/14/2009 12:32 AM Ondrej Zajicek

Finishes 'route reload' feature.

11361a10 12/02/2009 09:19 PM Ondrej Zajicek

Implements route re-feed.

This can be used to re-feed routes to protocol after soft change in
export filters.

11787b84 12/02/2009 04:26 PM Ondrej Zajicek

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().

e8b29bdc 12/02/2009 01:33 PM Ondrej Zajicek

Fixes one missing log message.

bf47fe4b 11/26/2009 07:47 PM Ondrej Zajicek

Implements BGP route refresh.

069bfcb5 11/24/2009 04:15 PM Ondrej Zajicek

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.

c0973621 08/11/2009 01:49 PM Ondrej Zajicek

Fixes another bug in rte_recalculate().

Previous bugfix revealed another hidden bug here.

024e633c 08/11/2009 08:54 AM Ondrej Zajicek

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.

925fe2d3 06/03/2009 11:22 PM Ondrej Zajicek

Implements route statistics and fixes some minor bugs.

c07c65d6 06/01/2009 09:18 PM Ondrej Zajicek

Escaped debbuging message removed.

f98e2915 06/01/2009 12:07 PM Ondrej Zajicek

The pipe cleanup.

23ac9e9a 05/31/2009 01:24 PM Ondrej Zajicek

Changes pipes to transfer all routes between routing table, not just optimal routes.

ea2ae6dd 05/22/2009 03:12 PM Ondrej Zajicek

Change import/preimport to export/preexport to be consistent with filters.

4d176e14 05/11/2009 12:01 AM Ondrej Filip

'show route protocol <p>' added to CLI.

40b65f94 03/25/2009 06:05 PM Ondrej Zajicek

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.

258d0ad4 11/14/2008 10:03 PM Ondrej Zajicek

Fixes feeding of new protocol, only preferred routes are announced.

10af3676 05/31/2004 05:16 PM Ondrej Filip

Grrr, committing too fast.
#include "alloca.h" -> #include "lib/alloca.h"

0e6eef62 05/31/2004 05:07 PM Ondrej Filip

Use #include "alloca.h"

0c745adc 05/31/2004 01:34 PM Ondrej Filip

#ifdef ALLOCA_H

13b75bac 08/13/2003 08:04 PM Martin Mares

protocol->import_control() could potentially call rte_cow() as well.
AFAIK it doesn't happen in any of our protocol, but better be sure.

2adab6ae 08/13/2003 07:31 PM Martin Mares

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.

7d875e09 11/13/2002 08:47 AM Martin Mares

Added missing includes.

e43ae633 08/19/2001 11:15 AM Martin Mares

Fix %<something>I format strings.

725270cb 06/08/2000 12:37 PM Martin Mares

Fixes for the programmer's manual.

58f7d004 06/07/2000 01:25 PM Martin Mares

Fixes to the progdoc.

2e9b2421 06/07/2000 12:29 PM Martin Mares

Spelling fixes to progdoc.

9a8f20fc 06/02/2000 12:41 PM Martin Mares

Better description of the route distribution process.

3ce8c610 06/02/2000 12:29 PM Martin Mares

Documentation on routing tables and route attributes.

58740ed4 06/01/2000 05:12 PM Martin Mares

Documentation.

2f711231 05/30/2000 09:24 PM Martin Mares

Killed bug in merging of dynamic attributes.

2eca3b3a 05/19/2000 07:49 PM Martin Mares

Routing table garbage collector gets really called.

76dfda9e 05/19/2000 10:59 AM Martin Mares

Fixed a buglet in asynchronous feeding and increased maximum number
of routes allowed per feeding phase.

ac5d8012 05/19/2000 10:46 AM Martin Mares

Asynchronous feeding of protocols.

9449c91a 05/13/2000 11:42 AM Martin Mares

Added `show route for

' which looks up route leading to
given network.

08f0290a 05/13/2000 11:00 AM Martin Mares

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...

0521e4f6 05/08/2000 10:33 PM Martin Mares

rt_prune: Don't kill routes from protocols in FS_FEEDING state. If debugging,
call fib_check() on the table's fib.

33a368ad 05/08/2000 02:58 PM Martin Mares

Implemented `show route count' which is `show route stats' with
exception that it doesn't print the routes themselves.

e48dae3e 05/08/2000 02:51 PM Martin Mares

Stop feeding the protocol if it suddenly shuts down.

0117d004 05/08/2000 10:37 AM Martin Mares

Fixed `show route primary'.

0d307082 05/07/2000 11:32 AM Martin Mares

Don't count networks with no routes (they are not displayed at all and
will be removed during the next garbage collection pass).

23693958 05/07/2000 11:28 AM Martin Mares

Implemented `show route <...> stats'.

ce1da96e 05/06/2000 10:57 PM Martin Mares

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...

0b761098 05/06/2000 09:31 PM Martin Mares

Fixed silly bug in previous commit.

67be5b23 05/06/2000 09:21 PM Martin Mares

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.

93a786cb 05/04/2000 08:30 PM Martin Mares

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.)

85a291ff 05/02/2000 03:21 PM Martin Mares

IPv6 address classification fixes.

8f6accb5 04/27/2000 10:28 PM Martin Mares

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.

3991d84e 04/01/2000 10:19 AM Martin Mares

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,...

85810613 04/01/2000 09:16 AM Martin Mares

When tracing, always print incoming part of the trace before the outgoing one.

Avoid buffer overflows in `show routes' command.

221135d6 03/31/2000 11:30 PM Martin Mares

Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.

3a6337ec 03/30/2000 08:50 AM Martin Mares

Use FF_FORCE_TMPATTR where appropriate.

0a06a9b8 03/29/2000 09:02 AM Pavel Machek

f_run gets one more parameter to distinguish between in and out modes.

349e21bb 03/19/2000 09:59 PM Martin Mares

Protocol tracing: Don't dump core on filtered out routes.

f098e072 03/12/2000 10:53 PM Martin Mares

Fixed a bunch of FIXME's by removing them :)

6b9fa320 03/12/2000 09:01 PM Martin Mares

Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG.

b0a47440 03/12/2000 08:49 PM Martin Mares

Oops, got `<' and `>' markers in trace output reversed.

cfd46ee4 03/12/2000 08:30 PM Martin Mares

Added debugging of communication between protocols and routing tables.
Just ask for "debug routes" if you want to see the routes and "debug filters"
if you want even the rejected ones.

b9626ec6 03/04/2000 10:21 PM Martin Mares

Garbage collector events and counters are now per table and one day
they can be made configurable if it turns out to be useful.

4c1b4e1a 03/01/2000 11:48 AM Martin Mares

If the user has specified identical preferences for instances of different
protocols, break the tie by comparing addresses, so we keep the ordering
unambiguous.

bf8558bc 01/16/2000 05:40 PM Martin Mares

Converted shutdown to a kind of reconfiguration, it's no more handled
as a exception in protocol state machines. Introduced a `shutdown'
CLI command. Killed few reconfiguration bugs.

50fe90ed 01/16/2000 04:44 PM Martin Mares

First attempt on dynamic reconfiguration. There are still lots of bugs
and problems to solve, but the hardest part works.

ccdc3397 12/16/1999 12:59 PM Martin Mares

Avoid touching F_MODIFY, it no longer exists.

0da472d7 12/08/1999 02:16 PM Martin Mares

Except for special protocols (nowadays only the kernel syncer), don't
export host and link scope routes.

730f2e2c 12/01/1999 03:10 PM Martin Mares

Added dumping of routing tables (`show route'). This includes filtering.

0d70292d 10/29/1999 12:08 PM Martin Mares

Events now return a value. If it's non-zero, the event is re-queued
for processing in next event cycle. This can be used to prevent background
actions (hint: user commands) from hogging the CPU for too long time.

d7975d26 08/03/1999 07:38 PM Martin Mares

Ouch, how could I write this?

8c943173 08/03/1999 07:33 PM Martin Mares

Allow announces of rte's to protocols in FS_FEEDING state.
Else, we would get chicken-egg problems in the table-to-table protocol.

7de45ba4 08/03/1999 07:33 PM Martin Mares

Kernel route syncer supports multiple tables.

The changes are just too extensive for lazy me to list them
there, but see the comment at the top of sysdep/unix/krt.c.
The code got a bit more ifdeffy than I'd like, though.

Also fixed a bunch of FIXME's and added a couple of others. :)

bb027be1 05/31/1999 06:55 PM Martin Mares

Added extra argument to rt_update hook which contains a pointer to the
temporary attribute list.

0e02abfd 05/17/1999 08:14 PM Martin Mares

From now we support multiple tables. The master_table variable is
definitely gone. Both rte_update() and rte_discard() have an additional
argument telling which table should they modify.

Also, rte_update() no longer walks the whole protocol list -- each table...

08e2d625 04/12/1999 06:01 PM Martin Mares

Removed TOS support. This simplifies many things a lot.

e2dc2f30 04/05/1999 08:25 PM Martin Mares

Routing table core changes to support full route filtering:

o Introduced rte_cow() which should be used for copying on write the
rte's in filters. Each rte now carries a flag saying whether it's
a real route (possessing table linkage and other insignia) or a local...

c10421d3 04/03/1999 01:05 PM Martin Mares

More changes to the kernel syncer.

o Now compatible with filtering.
o Learning of kernel routes supported only on CONFIG_SELF_CONSCIOUS
systems (on the others it's impossible to get it semantically correct).
o Learning now stores all of its routes in a separate fib and selects...

739ebd8e 03/26/1999 09:38 PM Martin Mares

Allow different instances of the same protocol with identical preferences.

421838ff 03/17/1999 03:01 PM Martin Mares

rte_update: Check sanity of incoming entries. Throw out (and log) all routes
to bogus prefixes and non-local routes to host scope addresses.

529c4149 03/17/1999 02:31 PM Martin Mares

Allow input and output filters (only accept/reject style as we didn't define
modifying filters yet) to be attached to protocol instances.

51ad41f2 03/03/1999 08:56 PM Martin Mares

EFence helped to find using of already free rte's in rt_prune().

5996da6a 02/13/1999 09:29 PM Martin Mares

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...

0a2e9d9f 02/13/1999 08:19 PM Martin Mares

Moved sanity check of protocol state during annoucements to rte_announce.

1a54b1c6 02/13/1999 07:15 PM Martin Mares

Implemented real cleanup and pruning of routing table on protocol shutdown.