| Branch: | Revision:

iof-bird-daemon / nest / rt-table.c @ 725270cb

History | View | Annotate | Download (27.8 KB)

# Date Author Comment
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).

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

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.

64011f89 02/11/1999 10:45 PM Martin Mares

struct proto again contains instance name (a copy of proto->cf->name).

31b3e1bb 02/05/1999 09:37 PM Martin Mares

Implemented new configuration/reconfiguration interface and defined protocol
state machines. Full explanation will follow soon.

08c69a77 12/20/1998 02:27 PM Martin Mares

die() -> bug() where appropriate.

e440395d 12/20/1998 02:01 PM Martin Mares

When printing a routing table, fib_check() it.

04925e90 12/07/1998 09:59 PM Martin Mares

Minor rte/rta interface changes:

o  rte can now contain a pointer to both cached and uncached rta. Protocols
which don't need their own attribute caching can now just fill-in a rta,
link it to rte without any calls to attribute cache and call rte_update()...
dafd580e 10/26/1998 03:24 PM Martin Mares

Previous fix was wrong.

db6984c4 10/26/1998 03:01 PM Martin Mares

rte_update: Doesn't loop forever when multiple routes point to the same

8ca8683c 10/20/1998 03:47 PM Martin Mares

Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-)

a0762910 10/20/1998 03:13 PM Martin Mares

Added pointer to network to RTE. The complications with passing NET separately
aren't worth 4 bytes per RTE.

rte_discard and rte_dump don't need net * as parameter.

4c45595e 10/18/1998 10:24 PM Martin Mares

o FIB flags now available for FIB users.
o struct network: FIB flags used for kernel syncing.
o struct network: `next' field deleted (historical relic).

5b22683d 10/18/1998 11:13 AM Martin Mares

After contemplating about RIP route timeouts for a long time, I've implemented
protocol callbacks for route insertion and deletion from the central table.
RIP should maintain its own per-protocol queue of existing routes, scan it
periodically and call rte_discard() for routes that have timed out.

570ce189 10/18/1998 10:49 AM Martin Mares

Implemented `route last modified' time.

7f3d198d 10/17/1998 11:24 AM Martin Mares

Each protocol now hears even its own routes and needs to make its own
loop detection. This is needed since both RIP and OSPF handle multiple
neighbors and they need to redistribute routes learned from each neighbor
to the remaining ones.

47b79306 10/17/1998 11:05 AM Martin Mares

Solve chicken-and-egg problems with protocol startup. We now queue all inactive
protocols and don't send route/interface updates to them and when they come up,
we resend the whole route/interface tables privately.

Removed the "scan interface list after protocol start" work-around.

8c43696d 08/31/1998 09:13 PM Martin Mares

Route update hook now gets network prefix as well as updated
route attributes.

962ba482 06/17/1998 02:36 PM Martin Mares

Use '%I' instead of dirty address printing hacks.

0cdbd397 06/04/1998 08:28 PM Martin Mares

Handle route deletion without segfaults. A bit more debug dumps.

d9f330c5 06/03/1998 08:40 AM Martin Mares

Protocol hooks. All of them may be NULL.

6d45cf21 05/24/1998 02:49 PM Martin Mares

Added debug dump function, but it's still empty :(

2326b001 05/20/1998 11:54 AM Martin Mares

Added routing table and routing attribute code.

62aa008a 05/15/1998 07:54 AM Martin Mares

Parts of routing table code. Data structure declarations should be
complete now.