The secure OLSR proposal is implemented as an olsrd plugin. The
implementation includes message signing and timestamp exchange, and
it is part of the olsrd source code available for download at
http://www.olsr.org.
Implementing functionality that was to work on all incoming and outgoing ``raw'' OLSR traffic, required an extension to the network output functionality in olsrd. Apart from this, the plugin could be implemented without problems due to the modular design of olsrd. An overview of the relations between the plugin and olsrd is illustrated in figure 11.8. The implementation is to be as transparent to the olsrd code as possible. Therefore, all incoming traffic is passed to the plugin which verifies the packet and removes the signature message and updates the size field of the OLSR packet header. For outgoing traffic the opposite goes. All outgoing OLSR traffic is passed to the plugin which adds the signature and updates the packet size.
The key used is read from the file /root/.olsrd/olsrd-key
and is 128-bits of size. If no key can be read from the file, the plugin
will terminate the olsrd process with a warning message.
Other solutions might be implemented in future versions to handle local key management better or to be able to work in an integrated fashion with some authentication scheme.