| Branch: | Revision:

iof-bird-daemon / nest / rt-table.c @ ae80a2de

History | View | Annotate | Download (59.7 KB)

# Date Author Comment
ae80a2de 06/08/2015 12:24 AM Pavel TvrdĂ­k

unsigned [int] -> uint

d0e23d42 05/16/2015 10:56 PM Ondrej Zajicek

Simplify flushing process

Related to changes from previous patch.

86f567e1 05/16/2015 06:17 PM Ondrej Zajicek

Fix minor issue in pipe route propagation

In some circumstances during reconfiguration, routes propagated by pipes
to other tables may hang there even after the primary routes are removed.

There is already a workaround for this issue in the code which removes...

51762a45 02/21/2015 01:05 PM Ondrej Zajicek

Allows user data attached to f_trie_node structure.

Thanks to Alexander Chernikov for the patch.

0da562a7 11/08/2014 10:52 PM Ondrej Zajicek

Fixes error message in 'show route' cmd.

Message 'Network not in table' was not reported if a network node without
any routes was found in a routing table.

7aa80901 10/02/2014 10:52 AM Ondrej Zajicek

Implements show route noexport option.

Shows routes that would be exported to the protocol but are rejected by
the export filter.

1123e707 10/02/2014 10:52 AM Ondrej Zajicek

Implements token bucket filter for rate limiting.

c865cae3 04/28/2014 03:31 PM Ondrej Zajicek

Fixes 'show route export' w.r.t. protocols with different RA_* types.

6eda3f13 03/23/2014 12:35 AM Ondrej Zajicek

Documentation (and minor fixes) for BGP graceful restart.

0c791f87 03/20/2014 01:07 PM Ondrej Zajicek

BGP graceful restart support.

Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.

736e143f 11/23/2013 10:50 AM Ondrej Zajicek

Merge branch 'master' into add-path


548c329c 11/22/2013 12:21 AM Ondrej Zajicek

Adds rate limiting to some log messages.

9135c1f0 07/24/2013 12:11 PM Ondrej Zajicek

Fixes bug in protocol flushing and rtable pruning.

When route was propagated to another rtable through a pipe and then the
pipe was reconfigured softly in such a way that any subsequent route
updates are filtered, then the source protocol shutdown didn't clean up...

fad04c75 06/13/2013 09:27 AM Ondrej Zajicek

Fixes problems with kernel routes multiple routing tables.

Temporary dummy routes created by a kernel protocol during routing table
scan get mixed with real routes propagated from another kernel protocol
through a pipe.

e667622a 02/25/2013 09:39 AM Ondrej Filip

Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.

36da2857 02/08/2013 10:58 PM Ondrej Zajicek

Implements router advertisements activated by received routes.

The RAdv protocol could be configured to change its behavior based on
availability of routes, e.g., do not announce router lifetime when a
default route is not available.

b662290f 01/10/2013 12:07 PM Ondrej Zajicek

Separate import and receive limits.

They have different behavior w.r.t. filtered routes that are kept.

70577529 11/16/2012 12:29 PM Ondrej Zajicek

Fixes route tracing w.r.t. kept filtered routes.

15550957 11/15/2012 12:29 AM Ondrej Zajicek

Changes 'rejected' to 'filtered' in one of the last patches.

cf98be7b 11/10/2012 01:26 PM Ondrej Zajicek

Allows rejected routes to be kept and examined.

When 'import keep rejected' protocol option is activated, routes
rejected by the import filter are kept in the routing table, but they
are hidden and not propagated to other protocols. It is possible to
examine them using 'show route rejected'.

094d2bdb 08/14/2012 02:46 PM Ondrej Zajicek

Implements ADD-PATH extension for BGP.

Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.

36415e4b 07/20/2012 05:56 PM Ondrej Zajicek

Allows to redefine master table.

abced4a9 07/16/2012 12:44 PM Ondrej Zajicek

Merge branch 'rt-accepted'


26822d8f 07/15/2012 11:33 PM Ondrej Zajicek

Finalize RA_ACCEPTED handling.

47c447c4 05/11/2012 10:10 AM Ondrej Zajicek

Minor cleanups.

b7f3df79 05/11/2012 10:01 AM Ondrej Zajicek

Fixes a bug in RA_ACCEPTED handling.

ab758e4f 04/28/2012 10:59 AM Ondrej Zajicek

Some fixes in route export limits.

d494df63 04/26/2012 10:04 PM Ondrej Zajicek

Some minor fixes.

d9b77cc2 04/24/2012 09:39 PM Ondrej Zajicek

Implements generalized export limits.

And also fixes some minor bugs in limits.

7d0a31de 04/21/2012 07:05 PM Ondrej Zajicek

Fixes in generalized import limits.

ebecb6f6 04/15/2012 01:28 PM Ondrej Zajicek

Implements generalized import hooks.

Thanks to Alexander V. Chernikov for the original patch.

00a09f3c 04/15/2012 01:07 PM Ondrej Zajicek

Implement RA_ACCEPTED mode of route propagation.

bf2abe2f 03/30/2012 09:04 AM Ondrej Zajicek

Merge branch 'soon'


fb829de6 03/28/2012 04:40 PM Ondrej Zajicek

Fixes responsiveness for protocol shutdown.

When a protocol went down, all its routes were flushed in one step, that
may block BIRD for too much time. The patch fixes that by limiting
maximum number of routes flushed in one step.

c0adf7e9 03/15/2012 11:13 AM Ondrej Zajicek

Better support for multitable protocols.

The nest-protocol interaction is changed to better handle multitable
protocols. Multitable protocols now declare that by 'multitable' field,
which tells nest that a protocol handles things related to proto-rtable
interaction (table locking, announce hook adding, reconfiguration of...

be4cd99a 12/22/2011 12:20 PM Ondrej Zajicek

Implements deterministic MED handling.

Thanks to Alexander V. Chernikov for many suggestions.

32f95476 10/06/2011 08:48 PM Ondrej Zajicek

Signal problems with route installation to kernel tables.

5e9bdac2 05/21/2011 08:48 PM Ondrej Zajicek

Fixes a bug with setting preference during show route cmd.

If show route cmd was used with a filter that changed preference,
BIRD crashed.

b7c48981 05/05/2011 12:14 PM Ondrej Filip

Compilation was failing without OSPF or RIP protocol - FIXED.

ab164971 03/28/2011 11:41 PM Ondrej Zajicek

Fixes a nasty bug in OSPF.

Sending malformed network prefixes in LSAs causes OSPF to crash
just after the LSA is propagated to the other routers.

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


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