> We just have to think about a good API interface between the routing code and > the os-dependent parts.
"Just"? The interface between system-independent and system-dependent code used by babeld is defined in http://www.pps.jussieu.fr/~jch/software/repos/babeld/kernel.h You will notice that all functions take both an interface name and identifier; this makes the interface more efficient, since some kernel interfaces use the former and some the latter (babel's core keeps track of both). You will also notice that there is a callback (kernel_callback) that notifies the core of changes to the routing table. There's also a nasty hack, not visible in the interface -- the low-level code sets a variable "kernel_socket" which is included in the select system call by the core. (Yes, that needs to be cleaned up.) Finally, you'll notice two functions that are not directly related to networking -- read_random_bytes, which reads /dev/urandom, and gettime, which returns monotonic time. The interface used by babelz is defined in http://www.pps.jussieu.fr/~jch/software/repos/babelz/kernel.h and adds one function, kernel_interface_channel. Enjoy your unification, Juliusz _______________________________________________ Babel-users mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/babel-users

