Statistics
| Branch: | Revision:

iof-bird-daemon / sysdep / unix / krt.c @ 1bc26957

History | View | Annotate | Download (19.7 KB)

# Date Author Comment
71ca7716 04/13/2011 10:32 AM Ondrej Zajicek

Adds support for several Linux kernel route attributes.

f038f0a6 07/12/2010 07:39 PM Ondrej Zajicek

Fixes missing check in reconfiguration.

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

53434e44 02/27/2010 03:00 PM Ondrej Zajicek

Better flushing of interfaces.

When device protocol goes down, interfaces should be flushed
asynchronously (in the same way like routes from protocols are flushed),
when protocol goes to DOWN/HUNGRY.

This fixes the problem with static routes staying in kernel routing...

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

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

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.

874b8685 05/29/2009 08:49 PM Ondrej Zajicek

Implements primary address selection base on 'primary' option.

1bc4b2cc 05/04/2009 03:49 PM Ondrej Filip

Syntax error fix for systems without CONFIG_SELF_CONSCIOUS (KRT_ALLOW_LEARN)

3d574679 03/20/2009 11:58 AM Ondrej Zajicek

Fix bugs related to kernel table synchronization.

KRF_INSTALLED flag was not cleared during reconfiguration
that lead to not removing routes during reconfigure when
export rules changed.

We also should not try to remove routes we didi not installed,
on Linux this leads to warnings (as kernel checks route source...

cb530392 02/26/2009 01:23 PM Ondrej Zajicek

Rate limit for most abundant log messages

35f983f8 11/21/2008 05:17 PM Ondrej Zajicek

Fixes segfault with multiple routing tables.

1567edea 10/26/2008 10:09 PM Ondrej Zajicek

Bugfix for routing table breaking bug.

Here is a patch fixing a bug that causes breakage of a local routing
table during shutdown of Bird. The problem was caused by shutdown
of 'device' protocol before shutdown of 'kernel' protocol. When
'device' protocol went down, the route (with local network prefix)...

b7e9c74c 06/07/2004 04:51 PM Ondrej Filip

Used parameter can be marked as unused. :-) Thanx MJ.

19d9e303 06/07/2004 09:52 AM Ondrej Filip

Marked unused parameters as unused.

6578a604 06/05/2004 09:11 AM Martin Mares

Marked unused parameters in sysdep code as such.

c197d44e 08/13/2003 10:07 PM Martin Mares

This probably IS the memory leak we're looking for. Alien routes weren't
correctly disposed of.

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

Added missing includes.

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.

73275d85 06/05/2000 12:49 PM Martin Mares

Documented all the sysdeps (only briefly, I admit).

Except for Filters, RIP and OSPF, the progdocs are complete.

f990fc61 05/16/2000 01:36 PM Martin Mares

When in persist mode, don't delete routes from kernel tables even if
they cease to exist in our routing tables due to protocols having shut down.

02bd064a 05/13/2000 11:02 AM Martin Mares

Adapted to new rt_notify semantics.

1151401e 05/08/2000 10:38 AM Martin Mares

Don't crash when reporting deleted routes.

Set preferences correctly.

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

832fa033 03/12/2000 09:54 PM Martin Mares

Cleaned up debugging in kernel syncer. Netlink has still LOCAL_DEBUG
turned on, but after some testing I'll gag it.

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.

3ea1ba63 01/18/2000 11:01 AM Martin Mares

Killed protocol->priority. Protocol startup should be clean and hack-free now.
It seems everything still works (except for disable/enable/restart which hangs
sometimes, but it's another story).

aa8761de 01/18/2000 10:39 AM Martin Mares

Kernel route syncer now supports dynamic reconfiguration. Also it doesn't
depend on the startup counter hack now and uses a zero-time timer instead
to make itself scheduled after normal protocol startup.

d272fe22 01/17/2000 11:52 AM Martin Mares

Separated `official protocol names' used in status dumps from name templates
used for automatic generation of instance names.

protocol->name is the official name
protocol->template is the name template (usually "name%d"),
should be all lowercase.

Updated all protocols to define the templates, checked that their configuration...

f7fcb752 01/17/2000 11:17 AM Martin Mares

Reconfiguration for device protocol.

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.

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.

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.

4f1a6d27 05/17/1999 08:16 PM Martin Mares

Kill remaining master_table relics in KRT code.

Make all protocols pass routing table to rte_update and rte_discard.

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

Removed TOS support. This simplifies many things a lot.

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

3f2a21fd 03/29/1999 08:14 PM Martin Mares

Don't try to delete interface routes on CONFIG_AUTO_ROUTES systems.

7e5f5ffd 03/26/1999 09:44 PM Martin Mares

Moved to a much more systematic way of configuring kernel protocols.

o  Nothing is configured automatically. You need to specify
the kernel syncer in config file in order to get it started.
o Syncing has been split to route syncer (protocol "Kernel") and...
111213f0 03/04/1999 07:00 PM Martin Mares

Fixed processing of !krt_capable() routes. Converted device route decisions
to the krt_capable mechanism as well.

e16155ae 03/04/1999 06:36 PM Martin Mares

KRT: Implemented asynchronous route / interface state notifications
(via Netlink). Tweaked kernel synchronization rules a bit. Discovered
locking bug in kernel Netlink :-)

Future plans: Hunt all the bugs and solve all the FIXME's.

53b7a298 03/03/1999 08:55 PM Martin Mares

Fix several things I broke today.

2d140452 03/03/1999 07:49 PM Martin Mares

Rewrote the kernel syncer. The old layering was horrible.

The new kernel syncer is cleanly split between generic UNIX module
and OS dependent submodules:

-  krt.c (the generic part)
- krt-iface (low-level functions for interface handling)
- krt-scan (low-level functions for routing table scanning)...