Age | Commit message (Collapse) | Author |
|
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
to prevent lots of routes to non-existent destinations from
appearing). Instead of its own timer, we just check if it's
route scan time after each iface list scan.
o Syncing of device routes implemented.
o CONFIG_AUTO_ROUTES should control syncing of automatic device routes.
o Rewrote krt_remove_route() to really remove routes :)
o Better diagnostics.
o Fixed a couple of bugs.
|
|
and does things "the right way". Few things are still missing (device
routes etc.), I'll add them later in the evening.
|
|
fib->pad0,pad1 renamed to x0,x1 and in case of struct net x0 is reserved
for kernel syncing as well.
|
|
options, but at least basic tuning is possible now.
|
|
|
|
|
|
|
|
regular interface addresses" rule).
Protocols should NOT rely on router_id existence -- when router ID is not
available, the router_id variable is set to zero and protocols requiring
valid router ID should just refuse to start, reporting such error to the log.
|
|
by other programs or the kernel itself is not supported yet, but it's not
needed for development of other protocols.
|
|
This is exactly what Linux ifconfig does and seems to be the preferred way.
|
|
|
|
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 ;-)
|
|
Added kernel route table syncer skeleton.
|
|
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.
|
|
routing protocol instances.
|
|
this happens, don't reject the whole interface, just mark it as index 0.
o Removed Pavel's comment about EFAULT and SIGSEGV. EFAULT is a valid return
code for cases where the buffer is too small.
o Commented out the smart interface list size logic temporarily as it seems
Linux 2.0 SIOCGIFCONF doesn't react to ifc_req==NULL sanely. Replaced it
by exponential stepping.
|
|
on it. Now we "only" die().
|
|
|
|
|
|
|
|
sequences for all output.
|
|
|
|
More to come later...
|
|
|
|
Implemented recurrent timers.
|
|
terrible kernel interface (SIOGIFCONF and friends).
|
|
sockets were tested only in TCP mode. main.c now contains some test
cases for socket code.
|
|
|
|
|
|
by the `mergedirs' script. Few more IP address manipulation functions
and some fixes.
|
|
Now contains only functions for logging, but it will change soon.
|