| Branch: | Revision:

iof-bird-daemon / sysdep / linux @ f7fcb752

# Date Author Comment
f7fcb752 01/17/2000 11:17 AM Martin Mares

Reconfiguration for device protocol.

476e1084 12/16/1999 01:51 PM Martin Mares

Minor cleanups.

a2867cd9 12/16/1999 01:14 PM Martin Mares

Better order of includes.

set_inaddr() moved to sysio.h.

67ece6df 12/16/1999 01:06 PM Martin Mares

Tried to clean up multicast handling. Now we don't try to guess
multicast abilities depending on definedness of symbols and use hard-wired
system-dependent configuration defines instead.

Please test whereever you can.

30bc402e 12/08/1999 03:12 PM Martin Mares

Temporary work-arounds for multicast problems. Needs further investigation.

2727bb7c 11/04/1999 01:29 PM Martin Mares

Renamed attr->attrs to attr->eattrs.

4532a89e 08/03/1999 07:37 PM Martin Mares

Taught Netlink how to behave in IPv6 world.

dce26783 08/03/1999 07:36 PM Martin Mares

Basic support for IPv6. The system-dependent part doesn't work yet,
but the core routines are there and seem to be working.

o  lib/ipv6.[ch] written
o Lexical analyser recognizes IPv6 addresses and when in IPv6
mode, treats pure IPv4 addresses as router IDs....
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. :)

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.

a2697f02 05/07/1999 01:46 PM Martin Mares

Netlink support for secondary interface addresses.

9a158361 05/06/1999 09:38 PM Martin Mares

I rewrote the interface handling code, so that it supports multiple
addresses per interface (needed for example for IPv6 support).

Visible changes:

o struct iface now contains a list of all interface addresses (represented
by struct ifa), iface->addr points to the primary address (if any)....

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

fb71b23e 03/29/1999 08:33 PM Martin Mares

Remember that we can run device syncer without kernel syncer
and vice versa now.

1127ac6e 03/27/1999 10:51 PM Martin Mares

Cleaned up system configuration files -- removed few obsolete parameters,
documented the remaining ones (sysdep/cf/README).

Available configurations:

o  linux-20: Old Linux interface via /proc/net/route (selected by default
on pre-2.1 kernels).
o linux-21: Old Linux interface, but device routes handled by the...
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...
f79a749d 03/24/1999 09:23 AM Martin Mares

Removed our declaration of RTPROT_BIRD since Alexey has assigned
us a real protocol number in 2.2.4 kernel.

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.

2253c9e2 03/04/1999 02:23 PM Martin Mares

Although there are still heaps of FIXME's, Netlink works.

To build BIRD with Netlink support, just configure it with

./configure --with-sysconfig=linux-21

After it will be tested well enough, I'll probably make it a default
for 2.2 kernels (and rename it to linux-22 :)).

f81dc856 03/04/1999 11:40 AM Martin Mares

Converted some mb_alloc/bzero pairs to mb_allocz.

aa645786 03/03/1999 08:57 PM Martin Mares

Netlink scans routes...

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)...
7972248d 03/02/1999 06:37 PM Martin Mares

Netlink module supports interface scan on startup. Working on more.

b982b6db 03/01/1999 10:31 PM Martin Mares

Implemented netlink protocol parsing functions. More to come tomorrow.

bdb95a21 03/01/1999 08:17 PM Martin Mares

Added skeletal version of Linux netlink interface. It doesn't work yet,
but the framework is there and I'll try finish it soon.

025d14cd 03/01/1999 07:05 PM Martin Mares

Use traditional Unix route/iface interface only when CONFIG_NETLINK
is not defined. Also moved declarations of Unix iface logic to krt.h.

7f3d1a08 02/13/1999 07:57 PM Martin Mares

Squashed one bug in timing of route scans.

ed245f96 02/05/1999 09:39 PM Martin Mares

Synced Linux sysdeps 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.

cdc6bfa7 12/07/1998 10:16 AM Martin Mares

Comparison of kernel reject routes fixed.

980ffedb 12/06/1998 05:40 PM Martin Mares

Kernel syncer is now configurable. It will probably need some more
options, but at least basic tuning is possible now.

756b86de 10/20/1998 04:39 PM Martin Mares

Learn static device routes from the kernel (temporary until we can make
such things configurable).

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.

16a8ba30 10/18/1998 10:25 PM Martin Mares

We parse /proc/net/route and flag RT entries according to it. More to come
today in the morning...

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

25697773 05/15/1998 07:56 AM Martin Mares

The library is now glued together from generic and OS-dependent parts
by the `mergedirs' script. Few more IP address manipulation functions
and some fixes.

58ef912c 04/22/1998 12:58 PM Martin Mares

First look at data structures. More to come tomorrow...