First attempt on dynamic reconfiguration. There are still lots of bugsand problems to solve, but the hardest part works.
Logging is now configurable. You can define multiple log outputs (to bothfiles and syslog) and assign lists of message categories to each of them.
Implemented unix-domain sockets.
Taught Netlink how to behave in IPv6 world.
Support for IPv6 sockets. How nice one doesn't have to ifdef aroundten years of API evolution :-)
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...
Use traditional Unix route/iface interface only when CONFIG_NETLINKis not defined. Also moved declarations of Unix iface logic to krt.h.
Perform gracious shutdown upon receipt of SIGTERM. Finally we cantest the whole protocol shutdown code... :)
Synchronize signals to the main select/event/timer loop.
Parse command line options.
Exporting fill_in_sockaddr() for use by other unix-dependent code.
Since almost every UNIX system requires different techniques for readingthe kernel routing table as opposed to modifying it which is approximatelythe same on non-netlink systems, I've split the kernel routing tableroutines to read and write parts. To be implemented later ;-)
Split protocol init to building of protocol list and real protocol init.Added kernel route table syncer skeleton.
Whee, multicast sockets work!
Implemented recurrent timers.
Added UNIX implementation of both timers and sockets. Timers should work,sockets were tested only in TCP mode. main.c now contains some testcases for socket code.