Configuration file for olsrd(8)
The file olsrd.conf Which is located in /etc by default, contains run-time configuration for the Optimized Link State Routing daemon olsrd(8). Olsrd can however be set to read an alternative configuration file at startup using the -f command line argument. A configuration file parser/generator olsrd_cfgparser(2) can be built as both a standalone executable or a dynamically linked library from the olsrd sources. The DLL version can be used to easily create tools for generating/parsing olsrd configuration files.
The configuration file consists of comments, single options and option blocks.
Comments are everything following a # in a line. This data is discarded. Commenting out options is an easy way to make olsrd use the default value for that option.
Single options are single lines options that consists of a keword and a user supplied value. Note that a comment can follow such a option on the same line. Valid single options are:
DebugLevel [0-9]
Controls the amount of debug output olsrd sends to stdout. If set to 0, olsrd will detatch from the current process and run in the background. A value of 9 yields a maximum of debug output. Defaults to 0.
IpVersion [4|6]
Olsrd supports both IP version 4 and 6. This option controls what IP version olsrd is to use. Defaults to 4.
AllowNoInt [yes|no]
Olsrd supports dynamic configuration of network interfaces. This means that interfaces on which olsrd runs, can be reconfigured and olsrd will update itself with no need to be restarted. Olsrd also supports removal and addittion of interfaces in run-time. This option specifies if olsrd should keep running if no network interfaces are available. Defaults to yes.
TosValue [0-16]
This value controls the type of service value to set in the IP header of OLSR control traffic. Defaults to 16.
Willingness [0-7]
Nodes participating in a OLSR routed network will announce their willingness to act as relays for OLSR control traffic for their neighbors. This option specifies a fixed willingness value to be announced by the local node. 4 is a neutral option here, while 0 specifies that this node will never act as a relay, and 7 specifies that this node will always act as such a relay. If this option is not set in the configuration file, then olsrd will try to retrieve information about the system power and dynamically update willingness according to this info. If no such info can be retrieved willingness is set to 4.
OlsrPort [>1000]
If set olsr uses specified port instead of its default IANA assigned port 698!
RtProto [0|1-255]
This setting configures the routing protocol ID to be used when setting routes via rtnetlink, see RTNETLINK(7) for the rtm_protocol keyword. Use 0 to specify the operating system default, e.g. RTPROT_BOOT on Linux). Defaults to 0.
RtTableDefault [0|1-254]
Defines the routing table for inserting a new default route. Defaults to 0 (use RtTable)
RtTable [0|1-254]
With Linux and BSD, more than one routing table exist in the system. Together with a rules set that determines which table handles what packets, these system functions are called \(oqiproute2\(cq or \(oqPolicy Routing\(cq. You may want to read Linux Advanced Routing & Traffic Control ( http://lartc.org/ ) for details. Defaults to 254 (or \(oqmain\(cq, see /etc/iproute2/rt_tables currently only supported under linux!
UseHysteresis [yes|no]
If set to yes hysteresis will be used as explained in section 14 of RFC3626.
HystScaling [0.01-0.99]
Sets the scaling value used by the hysteresis algorithm. This must be a positive floating point value smaller than 1.0. Consult RFC3626 for details. The default value is 0.5.
HystThrHigh [HystThrLow-0.99]
This option sets the upper threshold for accepting a link in hysteresis calculation. The value must be higher than the one set as the lower threshold. Defaults to 0.8.
HystThrLow [0.01-HystThrHigh]
This option sets the lower threshold for setting a link to asymmetric using hysteresis. The value must be lower than the one set as the upper threshold. Defaults to 0.3.
Pollrate [0.1-10.0]
This option sets the interval, in seconds, that the olsrd event scheduler should be set to poll. A setting of 0.2 will set olsrd to poll for events every 0.2 seconds. Defaults to 0.1.
NicChgsPollInt[0.1-100.0]
This option sets the interval, in seconds, that olsrd will check the configured interfaces for changes in configuration. Defaults to 2.5.
TcRedundancy [0|1|2]
This value controls the TC redundancy used by the local node in TC message generation. To enable a more robust understanding of the topology, nodes can be set to announce more than just their MPR selector set in TC messages. If set to 0 the advertised link set of the node is limited to the MPR selectors. If set to 1 the advertised link set of the node is the union of its MPR set and its MPR selector set. Finally, if set to 2 the advertised link set of the node is the full symmetric neighbor set of the node. Defaults to 0.
MprCoverage [1-]
This value decides how many MPRs a node should attempt to select for every two hop neighbor. Defaults to 1 , and any other setting will severly reduce the optimization introduced by the MPR secheme!
LinkQualityLevel [1-2]
This setting decides the Link Quality scheme to use. If set to 0 link quality is not regarded and olsrd runs in "RFC3626 mode". If set to 1 link quality is used when calculating MPRs. If set to 2 routes will also be calculated based on distributed link quality information. Note that a setting of 1 or 2 breaks RFC3626 compability! This option should therefore only be set to 1 or 2 if such a setting is used by all other nodes in the network.
LinkQualityFishEye [0|1]
Enables(1) or disables(0) use of the experimental Fish Eye algorithm.
ClearScreen [yes|no]
If set to yes and olsrd is running with a debuglevel >0 the terminal to which output is sent(STDOUT) is cleared prior to writing updated tables. This makes it easier to follow changes in real-time by eye. If STDOUT is not a terminal(eg. it is a file), then no action is taken upon writing tables to STDOUT.
Option blocks are configuration options that holds a body of sub-options encapsulated in curled braces( {} ). Valid options are:
IpcConnect {[sub-options]}
Olsrd can allow processes to make a TCP connection to itself on which data regarding the topology will be transmitted. This is typically used by GUI applications to provide a user-friendly front-end to olsrd. This option block controls thees kind of connections.
MaxConnections [0-5] This option specifies how many connections that can exist simoultneously. Multiple connections have not been tested, and does not work! This option should only be used to control wheter or not processes can connect to olsrd by setting it either to 0, which will tell olsrd not to allow any connections, or by setting it to a positive value. Defaults to 0.
Host [IPv4 address]
This option specifies a single host that is allowed to connect to olsrd. By default only the loopback address(127.0.0.1) is set to be allowed. So if you want to be able to connect from another host you should add it here. This option can be repeated to add multiple hosts.
Net [IPv4 netaddress] [IPv4 netmask]
Here you can specify an entire netrange of IP addresses which olsrd will allow TCP connections from. This option can be repeated to add multiple networks.
Hna4 {[sub-options]}
Hosts in a OLSR routed network can announce connecitivty to external networks using HNA messages. This optionblock is used to set the IPv4 nteworks to be announced by this host.
[IPv4 netaddress] [IPv4 netmask]
Specifies a IPv4 network to announce in HNA messages. Multiple entries can be added. To announce Internet connectivity set 0.0.0.0 0.0.0.0
Hna6 {[sub-options]}
Hosts in a OLSR routed network can announce connecitivty to external networks using HNA messages. This optionblock is used to set the IPv6 nteworks to be announced by this host.
[IPv6 netaddress] [0-48]
Specifies a IPv6 network to announce in HNA messages. The second value is the prefix-length of the network address. Multiple entries can be added. To announce Internet connectivity set :: 0
LoadPlugin "[plugin-name]" {[sub-options]}
Specifies a plugin that olsrd is to load at startup.
PlParam [key] [value]
Sends a pair of parameters to the plugin at initialization. Consult individual plugin documentation to find the possible parameters.
Interface "[device-name1]" "[device-name2]" ... {[sub-options]}
This optionblock specifies one or more network interfaces on which olsrd should run. Atleast one network interface block must be specified for olsrd to run! Various parameters can be specified on individual interfaces or groups of interfaces. This optionblock can be repeated to add multiple interface configurations.
AutoDetectChanges [yes|no]
Olsrd can autodetect changes in interface configurations( polling on the interval set by NicChgsPollInt ). This is Enabled by default but can be turned off pr. NIC to save CPU cycles.
Ip4Broadcast [IPv4 address]
Forces the given IPv4 (broadcast) address to be used as destination address for all outgoing OLSR traffic on the interface. One useful example is the address 255.255.255.255 Another usefule example may be to use the peer (unicast) ip of an ptp tunnel, olsr shall run on. If this option is not set, the broadcast address that the interface is configured with will be used. This address will also be updated in run-time if a change is detected. This feature is only available in linux versions!
Mode ["mesh"|"ether"] olsrd can be used on wireless interfaces and ethernet. To prevent unnecessary packet forwardings on switched ethernet interfaces the mode of an interface can be set to <ether. The default value of this option is mesh.
Ip6AddrType [site-local|global]
This option sets what IPv6 address type is to be used in interface address detection. Defaults to site-local.
Ip6MulticastSite [IPv6 address]
Sets the destionation of outgoing OLSR traffic on this interface to use the specified IPv6 multicast address as destination if the site-local address type is set on this interface.
Ip6MulticastGlobal [IPv6 address]
Sets the destionation of outgoing OLSR traffic on this interface to use the specified IPv6 multicast address as destination if the global address type is set on this interface.
HelloInterval [0.0-]
Sets the interval on which HELLO messages will be generated and transmitted on this interface.
HelloValidityTime [0.0-]
Sets the validity time to be announced in HELLO messages generated by this host on this interface. This value must be larger than than the HELLO generation interval to make any sense. Defaults to 3 * the generation interval.
TcInterval [0.0-]
Sets the interval on which TC messages will be generated and transmitted on this interface.
TcValidityTime [0.0-]
Sets the validity time to be announced in TC messages generated by this host on this interface. This value must be larger than than the TC generation interval to make any sense. Defaults to 3 * the generation interval.
MidInterval [0.0-]
Sets the interval on which MID messages will be generated and transmitted on this interface.
MidValidityTime [0.0-]
Sets the validity time to be announced in MID messages generated by this host on this interface. This value must be larger than than the MID generation interval to make any sense. Defaults to 3 * the generation interval.
HnaInterval [0.0-]
Sets the interval on which HNA messages will be generated and transmitted on this interface.
HnaValidityTime [0.0-]
Sets the validity time to be announced in HNA messages generated by this host on this interface. This value must be larger than than the HNA generation interval to make any sense. Defaults to 3 * the generation interval.
Weight [0-]
When multiple links exist between hosts the weight of the interface is used to determine the link to route by. Normally the weight is automatically calculated by olsrd based on the characteristics of the interface, but here you can specify a fixed value. Olsrd will choose links with the lowest value.
The homepage of olsrd is http://www.olsr.org
/etc/olsrd.conf