The OLSR.org OLSR Daemon (olsrd) is an implementation of the IETF RFC 3626: Optimized Link State Routing Protocol.
TBD (to be documented)
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!
You need flex and bison to compile olsrd.
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.
See OLSR network deployments for some example configurations for olsrd.
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|
|nameservice||provides a DNS between OLSR nodes by flooding the information every few seconds|
|p2pd||Distribution tree based multicast plugin|
|pud||SNMP interface for olsrd|
|quagga||Integrates olsrd routes into Quagga|
|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|