Olsr Daemon

From OLSR.org Wiki
Jump to: navigation, search

The OLSR.org OLSR Daemon (olsrd) is an implementation of the IETF RFC 3626: Optimized Link State Routing Protocol.

TBD (to be documented)

Hello...

yes YOU.

we really need someone willing to write a little bit about olsrd1 (history, usage, plugins, whatever) in this wiki.

Contact us on the OLSR.org developer mailing list if you are interested!

--Henning (talk) 17:47, 10 December 2015 (CET)

Dependencies

You need flex and bison to compile olsrd.

Compilation

After downloading the source of olsrd, you use a GNU compatible make file to compile both olsrd and its plugins:

# make build_all

Be careful that you use the shared object files (see ./lib/<name-of-plugin> directories) compiled from the same source as the main executable, otherwise it will not work.

Configuration

See OLSR network deployments for some example configurations for olsrd.

Plugins

There is a couple of plugins to equip olsrd with additional capabilities. Most of them have their own README file in their own subdirectory.

arprefresh fills the local ARP table based on the incoming OLSR traffic
bmf Basic Multicast Forwarding, which gives some form of local multicast distribution
dot_draw creates dot draw compatible data from topology
dyn_gw dynamically switches HNAs on/off based on external connectivity
dyn_gw_plain dynamically switches HNAs on/off based on an IPv4 routing entry
httpinfo provides internal OLSR information through a HTTP port
info meta-plugin, common code base for txtinfo and jsoninfo
jsoninfo provides internal OLSR information in JSON format
mdns forwards MDNS packets in OLSR control messages
mini example plugin
nameservice provides a DNS between OLSR nodes by flooding the information every few seconds
p2pd Distribution tree based multicast plugin
pgraph
pud SNMP interface for olsrd
quagga Integrates olsrd routes into Quagga
secure
sgwdynspeed dynamic gateway speed for 'smart gateway' mechanism
txtinfo provides internal OLSR information in text format
watchdog overwrites a file every few seconds to allow an external process to see if olsrd is still alive