NRL has implemented a link-state routing protocol oriented for mobile ad hoc networks (MANETs). It is largely based on the Optimized Link State Routing (OLSR) protocol specification (RFC 3626), however the NRL code base has several additional options and features, including:
- Support for IPv6
- Operational in Windows, MacOS, Linux, and various embedded PDA systems such as Zaurus and PocketPC
- Full link state topology can be distributed including non-MPR cross links
- A "willingness" attribute for localized MPR activation
- Support for several MPR selection protocols (Classical flooding, NS-MPR, S-MPR, MPR-CDS, and E-CDS)
- Neighbor link quality assessed by a smoothed hysteresis function
- Many run-time parameters available including: HELLO interval, link state update interval, timeout factors, link quality assessment parameters, MPR willingness, and message TOS
- Configurable debugging verboseness
- Experimental features such as fuzzy-sighted routing and support for Simplified Multicast Forwarding
NRL has implemented OLSR using the Protolib programming toolkit, which allows for cross-platform support including building code into different network simulation environments (e.g. NS-2, OPNET). Protolib abstraction even provides for potential use of code in protocol stacks alternative to Internet Protocol (IP) if needed.
NRL has developed several network testing and visualization tools which have been extensively used to analyze OLSR performance in a variety of live-network, emulation, and simulation scenarios.
NRLOLSR source code and latest releases are available on GitHub.
For installation instructions, please see the readme files included with the distribution.
If you are interested in more information about OLSR, please contact firstname.lastname@example.org.