History

Work on the olsrd implementation was started spring 2003. At first the plan was to add and experiment with MID functionality in the existing draft3[22] compatible OLSR implementation by INRIA[5]. This was completed by summer 2003. This means that much olsrd code originally was based on the INRIA implementation. But since then, close to all code has been rewritten or heavily modified. Olsrd is therefore considered an independent OLSR implementation and not just an extension to the INRIA implementation. If one compares the OLSR draft3 to RFC3626 one realizes the extent of the differences that exist between what can be considered an initial draft and the final protocol specification.

In October 2003 RFC3626 was released and now full RFC compliance became the goal of the project. In November 2003 UniK olsrd version 0.2.0 was made public available through a website. But full RFC core compliance was not reached until release 0.3.8 in January 2004. Not much later 0.4.0 was released. It covered all auxiliary functionality as well, except link-layer notifications.

As the implementation has matured, several extensions to it has been made. These extensions were initially implemented into the main olsrd code. This was clearly not a very modular solution, and the codebase of olsrd became bloated with special-purpose code. Therefore a plugin interface was defined and implemented, allowing the use of external plugins by the daemon. This way extensions can be made without altering the codebase of olsrd.



Subsections
Andreas 2004-07-29