Age | Commit message (Collapse) | Author |
|
#define L_DEBUG "\001" /* Debugging messages */
#define L_INFO "\002" /* Informational messages */
#define L_WARN "\003" /* Warnings */
#define L_ERR "\004" /* Errors */
#define L_AUTH "\005" /* Authorization failed etc. */
#define L_FATAL "\006" /* Fatal errors */
#define L_TRACE "\002" /* Protocol tracing */
#define L_INFO "\003" /* Informational messages */
#define L_REMOTE "\004" /* Remote protocol errors */
#define L_WARN "\004" /* Local warnings */
#define L_ERR "\005" /* Local errors */
#define L_AUTH "\006" /* Authorization failed etc. */
#define L_FATAL "\007" /* Fatal errors */
#define L_BUG "\010" /* BIRD bugs */
Introduced bug() which is like die(), but with level L_BUG. Protocols
should _never_ call die() as it should be used only during initialization
and on irrecoverable catastrophic events like out of memory.
Also introduced ASSERT() which behaves like normal assert(), but it calls
bug() when assertion fails. When !defined(DEBUGGING), it gets ignored.
|
|
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.
|
|
names and include files.
|
|
|
|
|
|
|
|
|
|
such things configurable).
|
|
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.
|
|
|
|
today in the morning...
|
|
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.
|
|
CONFIG_ALL_MULTICAST (all interfaces capable of multicasting, not depending
on IFF_MULTICAST flag).
|
|
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.
|
|
Complete resource manages and IP address handling.
|
|
Now contains only functions for logging, but it will change soon.
|
|
gcc -MM can be used to separate them from the system ones.
Added automatic generation of dependencies.
|
|
|