OLSR - Optimized Link State Routing

This page collects the HIPERCOM work related to OLSR, including drafts, papers and code.


Internet Drafts

Implementation code

QoS and OLSR

Simulation code

Related Publications

Related Publications (french)



The Optimized Link State Routing Protocol (OLSR) is developed for mobile ad hoc networks. It operates as a table driven and proactive protocol, thus exchanges topology information with other nodes of the network regularly. The nodes which are selected as a multipoint relay (MPR) by some neighbor nodes announce this information periodically in their control messages. Thereby, a node announces to the network, that it has reachability to the nodes which have selected it as MPR. In route calculation, the MPRs are used to form the route from a given node to any destination in the network. The protocol uses the MPRs to facilitate efficient flooding of control messages in the net- work. OLSR inherits the concept of forwarding and relaying from HIPERLAN (a MAC layer protocol) which is standardized by ETSI.

IETF drafts/RFC

OLSR is a proactive protocol of the IETF working group Manet .


Related drafts

Implementation code of Optimized Link State Routing

INRIA has an implementation of OLSR: At least five other implementations of OLSR (RFC 3626) are publically available:

Autoconfiguration and OLSR

NOA-OLSR, is an extension for autoconfiguration from Niigata University. More information is available on NOA-OLSR page, including the specification of the protocol and its implementation.

QoS and OLSR

The LRI (Laboratoire de Recherche en Informatique) is working on QOLSR, an effort to study and implement state-of-the-art QoS support in a working implementation of the OLSR protocol for mobile ad hoc wireless networks.

The initial implementation of the core OLSR protocol, qolyester, is already available.

Mailing list

UPDATE: this mailing-list is in no way official, and due to low traffic is only marginally useful. The MANET mailing-list may be more appropriate. See IETF working group for up-to-date information about protocol developpement.

(A mailing list about the protocol and the implementation (implementors) of OLSR. Topics suitable for the list include:

(however discussions unrelated to the protocol itself, such as details about how to compile, configure, run, and otherwise operate a specific implementation of OLSR, are not appropriate).

The mailing list can be found here).

Previous implementations

INRIA implementation in C, OLSRv3

This implementation is conform with the version 3 of the OLSR draft and is designed for linux 2.x.x.


The current release  is compliant to draft-ietf-manet-olsr-03.txt and available as a gzipped tar file.

Installation & Use

After unpacking olsrd.tar.gz in home directory, compile and install as described after: NB:If you find a bug, please send us a mail  at Anis Laouiti <anis.laouiti@inria.fr>, Adokoe Plakoo <adokoe.plakoo@inria.fr>.

Ports of INRIA OLSRv3

The INRIA OLSR daemon (described and available in next section) was ported to Windows 2000 & Pocket PC by Carlos Miguel Tavares Calafate, GRC , UPV, Spain, under supervision of Dr. Pietro Manzoni. This excellent port is available on their OLSR for Windows page

The GRC has also an new implementation for Windows 2000.

Simulation Code

The current release  is compliant to draft-ietf-manet-olsr-03.txt.


Installation instructions

This is a patch against ns version 2.1b7a. It adds OLSR to the set of routing protocols available to ns2.

From a fresh install of ns2, the following should apply the patch:

       patch -p1 < olsrpatch.diff
       (and recompile ns2)
       In the directory ns-2.1b7a/olsr, there is a README, describing the
       configuration and use of the protocol.

This version of the code is primarilly developed by Lars Christensen and Gitte Hansen. It is compliance with version 3 of the OLSR-draft, and supports ns version 2.1b7a. Questions and comments should be directed to <T.Clausen@computer.org>.

Pre-installed system with OLSRv3 code

A Linux system, with NS2, OLSR patches, and able to compile both is available as Debian-NS2-OLSRv3-0.0.1.tar.gz, if you have troubles installing it by yourself, see associated README file. This is unsupported.

Related Publications

Related Publications (french)

Last modified 2005.

OLSR drafts

The previous versions of the draft, for archival purposes: