Hello guys,
I thought of a few issues on my way back home.
Firstly, if you want to edit stuff like nvram settings or anything else not available in the GUI, its apparently done via the /etc/local.* files. The DHCP server configuration for example, was done in /etc/local.udhcpd.conf or something similar. Just something to keep in mind before hacking the init scripts.
Secondly, I read this: http://tools.ietf.org/html/rfc3626#page-51 The cron script that was edited to prevent the default gw route loss (/usr/sbin/cron.minutely original at /usr/sbin/cron.minutely.orig) could have been trying to achieve this: http://tools.ietf.org/html/rfc3626#page-54 Please run a diff to make sure. But I don't think it should be kept the way it is in the original file either.
Another thing. If it is necessary to find out exactly which node assigned the ip to the client, in case of multiple DHCP servers, maybe interface aliases can be used to define two different subnets. Run DHCP server on the aliases to lease ips in two different subnets.
Also, apparently OLSR traffic happens on UDP port 698.
Regards.