Age | Commit message (Collapse) | Author |
|
state machines. Full explanation will follow soon.
|
|
|
|
#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.
|
|
when their destination comes on/off link. Deserves better testing :)
See example in bird.conf.
|
|
|
|
intended to serve as an example of interface pattern list use. As a side
effect, you can disable generating of device routes by disabling
this protocol.
|
|
|
|
user-defined numeric symbols. Whenever possible, use `expr' instead
of `NUM' to get full express ion power :-)
|
|
|
|
today in the morning...
|
|
|
|
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.
|
|
format strings:
%I IP address
%#I IP address in hexadecimal
%1I IP address padded to full length
%m strerror(errno)
|
|
interface since it makes much trouble everywhere. Instead, we understand
secondary addresses as subinterfaces.
- In case interface addresses or basic flags change, we simply convert it
to a down/up sequence.
- Implemented the universal neighbour cache. (Just forget what did previous
includes say of neighbour caching, this one is brand new.)
|
|
|
|
Complete resource manages and IP address handling.
|
|
|