OLSRv2 Implementation and Interop

OLSRv2 is a routing protocol for Mobile Ad Hoc Networks (MANET), based on the same algorithms and ideas as OLSR contained in RFC3626. OLSRv2 builds on the experience gained by a wide community from tests and deployments over the years since RFC3626, and features a more modular and extensible architecture, while being simpler and more efficient than its predecessor.

Being modular, by design, OLSRv2 is made up from a number of generalized building blocks, standardized independently and applicable also for other MANET protocols. The following documents constitute the different modules of OLSRv2:

Java Implementation (JOLSRv2)

An OLSRv2 implementation, denoted “JOLSRv2”, has been programmed in Java. A routing protocol written in Java has several advantages, in particular for research purposes, over the more commonly used C/C++:
  • it allows easy prototyping, since it is less error-prone (due to missing pointers, automatic memory management, garbage collection, etc.) and since many auxiliary classes are already contained in the Java distribution (e.g. lists, hash tables, tree maps),
  • it facilities adding extensions to the core implementation due to class heritage,
  • it allows integration of tools as Java applets, also distributed on web pages, and
  • it is platform independent.

Interop Tests

In order to verify whether the implementation corresponds to the specification, tests with other packetbb, NHDP and OLSRv2 implementations have been conducted at the OLSR Interop workshops 2008 and 2009. Some of the test tools are available for download.

 

Publications