As MANETs are an area for research and development, the ability to add extensions or change normal operation in implementations of routing protocols for such networks, provides a great way of testing new solutions.
The MPR flooding and default forwarding algorithm used in OLSR makes this protocol very interesting to extend. Normal MANET routing suffers from lack of broadcast and multicast solutions. By letting OLSR carry traffic, one can provide a broadcast solution that is optimized. The OLSR daemon will then work as a flooding relay agent for local applications. Already existing services that requires a broadcast mechanism can be used in a MANET routed by olsrd if using an olsrd plugin to flood broadcasted traffic. Such services include domain name service(DNS)[48], service discovery mechanisms and key distribution schemes. Utilizing such protocols in MANETs have been studied in [21] and [40]. Other interesting extensions can be updating OLSR parameters at runtime, based on traffic analysis, or creating visualizations of the network topology.
As modularity was one of the main goals when designing and implementing olsrd, the idea of easily extending the protocol led to the design of a plugin interface. In this chapter this interface, areas of usage and some example plugin implementations are covered. The plugin interface is described in detail in [60].