Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (2.21 KB)

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

c222500d 05/31/2004 05:00 PM Ondrej Filip

Previous change was mistake.

b1a1faba 05/31/2004 01:25 PM Ondrej Filip

*BSD port added. (Tested on FreeBSD and NetBSD)

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.

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.

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

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

8cda9cdb 04/01/1999 07:23 PM Martin Mares

Argh, the fix was wrong.

e4241f24 04/01/1999 03:35 PM Martin Mares

Portability fixes.

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.

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)...
013a9b91 02/13/1999 08:46 PM Martin Mares

When shutting down, remove all routes (except for RTS_INHERIT and RTS_DEVICE
routes) from kernel routing tables unless the "persist" switch is set.

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

Moved sanity check of protocol state during annoucements to rte_announce.

10d807d0 02/05/1999 09:38 PM Martin Mares

Synced kernel interface to new interface.

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

die() -> bug() where appropriate.

8e66a0eb 12/08/1998 06:37 PM Martin Mares

Hopefully finished kernel syncer (krt) rewrite:

o  Interface syncing is now a part of krt and it can have configurable
parameters. Actually, the only one is scan rate now :)
o Kernel routing table syncing is now synchronized with interface
syncing (we need the most recent version of the interface list...
f39e4713 12/08/1998 04:20 PM Martin Mares

Rewritten kernel syncer. Now uses the rta trickery I've introduced yesterday
and does things "the right way". Few things are still missing (device
routes etc.), I'll add them later in the evening.

08045252 10/19/1998 05:52 PM Martin Mares

Basic kernel routing table syncing implemented. Learning of routes installed
by other programs or the kernel itself is not supported yet, but it's not
needed for development of other protocols.

7e7790c6 10/18/1998 12:50 PM Martin Mares

Since almost every UNIX system requires different techniques for reading
the kernel routing table as opposed to modifying it which is approximately
the same on non-netlink systems, I've split the kernel routing table
routines to read and write parts. To be implemented later ;-)