1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <article id="olsrd_manpages" lang="en">
5 <title>Unik OLSRD Man Pages</title>
8 <titleabbrev>olsrd man pages</titleabbrev>
11 <firstname>Sven-Ola</firstname>
13 <surname>Tücke</surname>
16 <address><email>sven-ola@gmx.de</email></address>
20 <releaseinfo>Version 0.5.7-pre</releaseinfo>
25 <holder>Andreas Tønnesen</holder>
31 <holder>Sven-Ola Tücke</holder>
35 <para>Source for olsrd man pages</para>
39 <para>This document contains sources for man pages. They where converted
40 from the original man page files which are maintained by Andreas Tønnesen
41 until 2005. Because the 0.5.7 version of olsrd introduces several
42 configuration changes and removes old configuration options, a re-write was
43 necessary in late 2008.</para>
45 <para>To process this file and convert the included man pages, use the
46 <ulink url="http://docbook2x.sourceforge.net/">docbook2X</ulink> tool
51 <para>Install docbook2X: <command>sudo apt-get install
52 docbook2x</command></para>
56 <para>Install the XML DTD: <command>sudo apt-get install
57 docbook-xml</command></para>
61 <para>Run the converter: <command>docbook2x-man --solinks
62 olsrd-manpages.xml</command></para>
66 <refentry id="olsrd_8">
68 <primary><command>olsrd</command></primary>
72 <titleabbrev><command>olsrd</command> Optimized Link State Routing
73 Protocol Daemon</titleabbrev>
77 <refentrytitle id="olsrd_8_name">olsrd</refentrytitle>
79 <manvolnum>8</manvolnum>
83 <refname><command>olsrd</command></refname>
85 <refpurpose>Optimized Link State Routing protocol daemon</refpurpose>
90 <command>olsrd</command>
92 <arg>-i <arg choice="plain" condition="">Filename1</arg><arg
93 choice="plain" condition=""
94 rep="repeat">Filename2</arg><replaceable></replaceable></arg>
96 <arg>-f <replaceable>configfile</replaceable></arg>
98 <arg>-d <replaceable>debuglevel</replaceable></arg>
108 <arg>-bcast <replaceable>broadcastaddress</replaceable></arg>
112 <arg>-hint <replaceable>HELLO interval</replaceable></arg>
114 <arg>-tcint <replaceable>TC interval</replaceable></arg>
116 <arg>-midint <replaceable>MID interval</replaceable></arg>
118 <arg>-hnaint <replaceable>HNA interval</replaceable></arg>
120 <arg>-T <replaceable>scheduler poll rate</replaceable></arg>
122 <arg>-hemu <replaceable>IP address</replaceable></arg>
127 <title>Description</title>
129 <para><command>olsrd</command> is an implementation of the Optimized
130 Link State Routing protocol for Mobile Ad-Hoc networks(MANET). The
131 protocol is described in RFC3626. It is designed to be run as a
132 standalone server process - but as it is still in an experimental stage
133 most users will prefer running it with some debug output which is
134 directed to STDOUT.</para>
136 <para>This manual page only lists the command line arguments. For
137 details of the configuration file see the comments included in
138 <filename>/etc/olsrd.conf</filename>. Note that none of these options
139 need to be set at the command line - all these options and others can be
140 set in the configuration file.</para>
142 <para>This implementation also features an alternative routing scheme
143 based on link quality using an ETX-like metric developed by the c-base
144 community in Berlin. To enable and tweak this mode you must use the
145 configuration file.</para>
147 <para>The homepage of olsrd is <ulink
148 url="http://www.olsr.org">http://www.olsr.org</ulink></para>
152 <title>Options</title>
156 <term><option>-i <replaceable>interface1</replaceable> ...
157 <replaceable>interfaceN</replaceable></option></term>
160 <para>This option specifies on what network interfaces olsrd
161 should run. These interfaces cannot be aliased interfaces such as
168 <replaceable>configfile</replaceable></option></term>
171 <para>This option overrides the default configuration file path
172 used by olsrd - <filename>/etc/olsrd.conf</filename></para>
178 <replaceable>debuglevel</replaceable></option></term>
181 <para>This option specifies the amount of debug information olsrd
182 should write to STDOUT. If set to 0 olsrd will run in the
188 <term><option>-ipv6</option></term>
191 <para>This option instructs olsrd to use the Internet Protocol
192 version 6. The default is version 4.</para>
197 <term><option>-ipc</option></term>
200 <para>This option allows the GUI front-end created fro olsrd to
201 connect to olsrd at runtime.</para>
206 <term><option>-dispin</option></term>
209 <para>This option, when set, causes olsrd to display all incoming
210 packet data on STDOUT. When using IPv4 the data is displayed in
211 decimal format, when using IPv6 the data is displayed in
212 hexadecimal format.</para>
217 <term><option>-dispout</option></term>
220 <para>This option, when set, causes olsrd to display all outgoing
221 packet data on STDOUT. When using IPv4 the data is displayed in
222 decimal format, when using IPv6 the data is displayed in
223 hexadecimal format.</para>
228 <term><option>-nofork</option></term>
231 <para>This option, when set, causes olsrd not to fork and run in
232 the background if started with debuglevel 0. Useful for init
238 <term><option>-delgw</option></term>
241 <para>If this option is set olsrd will remove any default routes
242 set prior to adding an Internet route based on OLSR
249 <replaceable>broadcastaddress</replaceable></option></term>
252 <para>This option specifies what IPv4 broadcastaddress to use for
253 OLSR control traffic. The only value that currently makes sense
254 when setting broadcast address mannually is <systemitem
255 class="ipaddress">255.255.255.255</systemitem>. The default action
256 is to use the broadcastaddres that the network interface is
257 preconfigured with(per interface).</para>
263 <replaceable>seconds</replaceable></option></term>
266 <para>This value sets the interval on which
267 <emphasis>HELLO</emphasis> messages should be generated. The value
268 is a floating point number representing seconds.</para>
274 <replaceable>seconds</replaceable></option></term>
277 <para>This value sets the interval on which
278 <emphasis>TC</emphasis> messages should be generated. The value is
279 a floating point number representing seconds.</para>
284 <term><option>-midint
285 <replaceable>seconds</replaceable></option></term>
288 <para>This value sets the interval on which
289 <emphasis>MID</emphasis> messages should be generated. The value
290 is a floating point number representing seconds.</para>
295 <term><option>-T <replaceable>seconds</replaceable></option></term>
298 <para>This option sets the polling intervall of the scheduler. The
299 default is 0.1 seconds. This option should only be considered if
300 running with really low emission intervals.</para>
305 <term><option>-hemu <replaceable>IP
306 address</replaceable></option></term>
309 <para>Use this option to connect to the olsr_switch network
310 simulation application. Here IP address will be the IP address
311 that the process will set as its main address in the emulation
312 mode. This address has no connection to the real IP-stack and can
313 be chosen freely.</para>
322 <simplelist type="vert">
323 <member><filename><?install-datadir ?>/etc/olsrd.conf</filename></member>
328 <title>See Also</title>
330 <simplelist type="inline">
331 <member><xref endterm="olsrd_conf_5_name"
332 linkend="olsrd_conf_5" /></member>
337 <refentry id="olsrd_conf_5">
339 <primary><command>olsrd.conf</command></primary>
343 <titleabbrev>Configuration File for Olsrd</titleabbrev>
347 <refentrytitle id="olsrd_conf_5_name">olsrd.conf</refentrytitle>
349 <manvolnum>5</manvolnum>
353 <refname><filename>olsrd.conf</filename></refname>
355 <refpurpose>configuration file for <xref endterm="olsrd_8_name"
356 linkend="olsrd_8" /></refpurpose>
360 <title>Description</title>
362 <para>The file olsrd.conf Which is located in /etc by default, contains
363 run-time configuration for the Optimized Link State Routing daemon <xref
364 endterm="olsrd_8_name" linkend="olsrd_8" />. Olsrd can however be set to
365 read an alternative configuration file at startup using the
366 <option>-f</option> command line argument. A configuration file
367 parser/generator <filename>olsrd_cfgparser</filename> can be built as
368 both a standalone executable or a dynamically linked library from the
369 olsrd sources. The DLL version can be used to easily create tools for
370 generating/parsing olsrd configuration files.</para>
372 <para>The configuration file consists of comments, single options and
373 option blocks.</para>
377 <title>Comments</title>
379 <para>Comments are everything following a <emphasis>#</emphasis> in a
380 line. This data is discarded. Commenting out options is an easy way to
381 make olsrd use the default value for that option.</para>
385 <title>Single Options</title>
387 <para>Single options are single lines options that consists of a keword
388 and a user supplied value. Note that a comment can follow such a option
389 on the same line. Valid single options are:</para>
393 <term><option>DebugLevel [0-9]</option></term>
396 <para>Controls the amount of debug output olsrd sends to stdout.
397 If set to 0, olsrd will detatch from the current process and run
398 in the background. A value of 9 yields a maximum of debug output.
399 Defaults to <emphasis>0</emphasis>.</para>
404 <term><option>IpVersion [4|6]</option></term>
407 <para>Olsrd supports both IP version 4 and 6. This option controls
408 what IP version olsrd is to use. Defaults to
409 <emphasis>4</emphasis>.</para>
414 <term><option>AllowNoInt [yes|no]</option></term>
417 <para>Olsrd supports dynamic configuration of network interfaces.
418 This means that interfaces on which olsrd runs, can be
419 reconfigured and olsrd will update itself with no need to be
420 restarted. Olsrd also supports removal and addittion of interfaces
421 in run-time. This option specifies if olsrd should keep running if
422 no network interfaces are available. Defaults to
423 <emphasis>yes</emphasis>.</para>
428 <term><option>TosValue [0-16]</option></term>
431 <para>This value controls the type of service value to set in the
432 IP header of OLSR control traffic. Defaults to
433 <option>16</option>.</para>
438 <term><option>Willingness [0-7]</option></term>
441 <para>Nodes participating in a OLSR routed network will announce
442 their willingness to act as relays for OLSR control traffic for
443 their neighbors. This option specifies a fixed willingness value
444 to be announced by the local node. 4 is a neutral option here,
445 while 0 specifies that this node will never act as a relay, and 7
446 specifies that this node will always act as such a relay. If this
447 option is not set in the configuration file, then olsrd will try
448 to retrieve information about the system power and dynamically
449 update willingness according to this info. If no such info can be
450 retrieved willingness is set to <emphasis>4</emphasis>.</para>
455 <term><option>UseHysteresis [yes|no]</option></term>
458 <para>If set to yes hysteresis will be used as explained in
459 section 14 of RFC3626.</para>
464 <term><option>HystScaling [0.01-0.99]</option></term>
467 <para>Sets the scaling value used by the hysteresis algorithm.
468 This must be a positive floating point value smaller than 1.0.
469 Consult RFC3626 for details. The default value is
470 <emphasis>0.5</emphasis>.</para>
475 <term><option>HystThrHigh [HystThrLow-0.99]</option></term>
478 <para>This option sets the upper threshold for accepting a link in
479 hysteresis calculation. The value must be higher than the one set
480 as the lower threshold. Defaults to
481 <emphasis>0.8</emphasis>.</para>
486 <term><option>HystThrLow [0.01-HystThrHigh]</option></term>
489 <para>This option sets the lower threshold for setting a link to
490 asymmetric using hysteresis. The value must be lower than the one
491 set as the upper threshold. Defaults to
492 <emphasis>0.3</emphasis>.</para>
497 <term><option>Pollrate [0.1-10.0]</option></term>
500 <para>This option sets the interval, in seconds, that the olsrd
501 event scheduler should be set to poll. A setting of 0.2 will set
502 olsrd to poll for events every 0.2 seconds. Defaults to
503 <emphasis>0.1</emphasis>.</para>
508 <term><option>NicChgsPollInt[0.1-100.0]</option></term>
511 <para>This option sets the interval, in seconds, that olsrd will
512 check the configured interfaces for changes in configuration.
513 Defaults to <emphasis>2.5</emphasis>.</para>
518 <term><option>TcRedundancy [0|1|2]</option></term>
521 <para>This value controls the TC redundancy used by the local node
522 in TC message generation. To enable a more robust understanding of
523 the topology, nodes can be set to announce more than just their
524 MPR selector set in TC messages. If set to 0 the advertised link
525 set of the node is limited to the MPR selectors. If set to 1 the
526 advertised link set of the node is the union of its MPR set and
527 its MPR selector set. Finally, if set to 2 the advertised link set
528 of the node is the full symmetric neighbor set of the node.
529 Defaults to <emphasis>0</emphasis>.</para>
534 <term><option>MprCoverage [1-]</option></term>
537 <para>This value decides how many MPRs a node should attempt to
538 select for every two hop neighbor. Defaults to
539 <emphasis>1</emphasis>, and any other setting will severly reduce
540 the optimization introduced by the MPR secheme!</para>
545 <term><option>LinkQualityLevel [1-2]</option></term>
548 <para>This setting decides the Link Quality scheme to use. If set
549 to 0 link quality is not regarded and olsrd runs in "RFC3626
550 mode". If set to 1 link quality is used when calculating MPRs.
551 If set to 2 routes will also be calculated based on distributed
552 link quality information. Note that a setting of 1 or 2
553 <emphasis>breaks RFC3626 compability</emphasis>! This option
554 should therefore only be set to 1 or 2 if such a setting is used
555 by all other nodes in the network.</para>
560 <term><option>LinkQualityFishEye [0|1]</option></term>
563 <para>Enables(1) or disables(0) use of the experimental Fish Eye
569 <term><option>ClearScreen [yes|no]</option></term>
572 <para>If set to yes and olsrd is running with a debuglevel >0
573 the terminal to which output is sent(STDOUT) is cleared prior to
574 writing updated tables. This makes it easier to follow changes in
575 real-time by eye. If STDOUT is not a terminal(eg. it is a file),
576 then no action is taken upon writing tables to STDOUT.</para>
583 <title>Option Blocks</title>
585 <para>Option blocks are configuration options that holds a body of
586 sub-options encapsulated in curled braces ( <emphasis>{}</emphasis> ).
587 Valid options are:</para>
591 <term><option>IpcConnect {[sub-options]}</option></term>
594 <para>Olsrd can allow processes to make a TCP connection to itself
595 on which data regarding the topology will be transmitted. This is
596 typically used by GUI applications to provide a user-friendly
597 front-end to olsrd. This option block controls thees kind of
600 <para><option>MaxConnections [0-5]</option>: This option specifies
601 how many connections that can exist simoultneously. Multiple
602 connections have not been tested, and does not work! This option
603 should only be used to control wheter or not processes can connect
604 to olsrd by setting it either to 0, which will tell olsrd not to
605 allow any connections, or by setting it to a positive value.
606 Defaults to 0.</para>
608 <para><option>Host [IPv4 address]</option>: This option specifies
609 a single host that is allowed to connect to olsrd. By default only
610 the loopback address(127.0.0.1) is set to be allowed. So if you
611 want to be able to connect from another host you should add it
612 here. This option can be repeated to add multiple hosts.</para>
614 <para><option>Net [IPv4 netaddress] [IPv4 netmask]</option>: Here
615 you can specify an entire netrange of IP addresses which olsrd
616 will allow TCP connections from. This option can be repeated to
617 add multiple networks.</para>
622 <term><option>Hna4 {[sub-options]}</option></term>
625 <para>Hosts in a OLSR routed network can announce connecitivty to
626 external networks using HNA messages. This optionblock is used to
627 set the IPv4 nteworks to be announced by this host.</para>
629 <para><option>[IPv4 netaddress] [IPv4 netmask]</option>: Specifies
630 a IPv4 network to announce in HNA messages. Multiple entries can
631 be added. To announce Internet connectivity set <emphasis>0.0.0.0
632 0.0.0.0</emphasis></para>
637 <term><option>Hna6 {[sub-options]}</option></term>
640 <para>Hosts in a OLSR routed network can announce connecitivty to
641 external networks using HNA messages. This optionblock is used to
642 set the IPv6 nteworks to be announced by this host.</para>
644 <para><option>[IPv6 netaddress] [0-48]</option>: Specifies a IPv6
645 network to announce in HNA messages. The second value is the
646 prefix-length of the network address. Multiple entries can be
647 added. To announce Internet connectivity set <emphasis>::
653 <term><option>LoadPlugin "[plugin-name]"
654 {[sub-options]}x</option></term>
657 <para>Specifies a plugin that olsrd is to load at startup.</para>
659 <para><option>PlParam [key] [value]</option>: Sends a pair of
660 parameters to the plugin at initialization. Consult individual
661 plugin documentation to find the possible parameters.</para>
666 <term><option>Interface "[device-name1]" "[device-name2]" ...
667 {[sub-options]}</option></term>
670 <para>This optionblock specifies one or more network interfaces on
671 which olsrd should run. Atleast one network interface block must
672 be specified for olsrd to run! Various parameters can be
673 specified on individual interfaces or groups of interfaces. This
674 optionblock can be repeated to add multiple interface
675 configurations.</para>
677 <para><option>AutoDetectChanges [yes|no]</option>: Olsrd can
678 autodetect changes in interface configurations (polling on the
679 interval set by <option>NicChgsPollInt</option>). This is Enabled
680 by default but can be turned off pr. NIC to save CPU
683 <para><option>Ip4Broadcast [IPv4 address]</option>: Forces the
684 given IPv4 broadcast address to be used as destination address for
685 all outgoing OLSR traffic on the interface. In reallity only the
686 address <emphasis>255.255.255.255</emphasis> makes sense to set
687 here. If this option is not set the broadcast address that the
688 interface is configured with will be used. This address will also
689 be updated in run-time if a change is detected.</para>
691 <para><option>Ip6AddrType [site-local|global]</option>: This
692 option sets what IPv6 address type is to be used in interface
693 address detection. Defaults to site-local.</para>
695 <para><option>Ip6MulticastSite [IPv6 address]</option>: Sets the
696 destionation of outgoing OLSR traffic on this interface to use the
697 specified IPv6 multicast address as destination if the site-local
698 address type is set on this interface.</para>
700 <para><option>Ip6MulticastGlobal [IPv6 address]</option>: Sets the
701 destionation of outgoing OLSR traffic on this interface to use the
702 specified IPv6 multicast address as destination if the global
703 address type is set on this interface.</para>
705 <para><option>HelloInterval [0.0-]</option>: Sets the interval on
706 which HELLO messages will be generated and transmitted on this
709 <para><option>HelloValidityTime [0.0-]</option>: Sets the validity
710 time to be announced in HELLO messages generated by this host on
711 this interface. This value must be larger than than the HELLO
712 generation interval to make any sense. Defaults to 3 * the
713 generation interval.</para>
715 <para><option>TcInterval [0.0-]</option>: Sets the interval on
716 which TC messages will be generated and transmitted on this interface.</para>
718 <para><option>TcValidityTime [0.0-]</option>: Sets the validity
719 time to be announced in TC messages generated by this host on this
720 interface. This value must be larger than than the TC generation
721 interval to make any sense. Defaults to 3 * the generation
724 <para><option>MidInterval [0.0-]</option>: Sets the interval on
725 which MID messages will be generated and transmitted on this
728 <para><option>MidValidityTime [0.0-]</option>: Sets the validity
729 time to be announced in MID messages generated by this host on
730 this interface. This value must be larger than than the MID
731 generation interval to make any sense. Defaults to 3 * the
732 generation interval.</para>
734 <para><option>HnaInterval [0.0-]</option>: Sets the interval on
735 which HNA messages will be generated and transmitted on this
738 <para><option>HnaValidityTime [0.0-]</option>: Sets the validity
739 time to be announced in HNA messages generated by this host on
740 this interface. This value must be larger than than the HNA
741 generation interval to make any sense. Defaults to 3 * the
742 generation interval.</para>
744 <para><option>Weight [0-]</option>: When multiple links exist
745 between hosts the weight of the interface is used to determine the
746 link to route by. Normally the weight is automatically calculated
747 by olsrd based on the characteristics of the interface, but here
748 you can specify a fixed value. Olsrd will choose links with the
758 <para>The homepage of olsrd is <ulink
759 url="http://www.olsr.org">http://www.olsr.org</ulink></para>
765 <para><filename>/etc/olsrd.conf</filename></para>
769 <title>See Also</title>
771 <simplelist type="inline">
772 <member><xref endterm="olsrd_8_name" linkend="olsrd_8" /></member>
777 <refentry id="olsr_switch_8">
779 <primary><command>olsr_switch</command></primary>
783 <titleabbrev>Olsrd Network Simulator</titleabbrev>
787 <refentrytitle id="olsr_switch_8_name">olsr_switch</refentrytitle>
789 <manvolnum>8</manvolnum>
793 <refname>olsr_switch</refname>
795 <refpurpose>olsrd network simulator</refpurpose>
800 <command>olsr_switch</command>
802 <arg>-foo <replaceable>foo</replaceable></arg>
804 <arg>-bar <replaceable>bar</replaceable></arg>
809 <title>Description</title>
811 <para><command>olsr_switch</command> is an implementation of the
812 Optimized Link State Routing protocol for Mobile Ad-Hoc networks(MANET).
813 The protocol is described in RFC3626. It is designed to be run as a
814 standalone server process - but as it is still in an experimental stage
815 most users will prefer running it with some debug output which is
816 directed to STDOUT.</para>
818 <para>This manual page only lists the command line arguments. For
819 details of the configuration file see the comments included in
820 <filename>/etc/olsrd.conf</filename>. Note that none of these options
821 need to be set at the command line - all these options and others can be
822 set in the configuration file.</para>
824 <para>The homepage of olsrd is <ulink
825 url="http://www.olsr.org">http://www.olsr.org</ulink></para>
829 <title>Options</title>
833 <term><option>-foo <replaceable>foo</replaceable></option></term>
836 <para>This option specifies on what network interfaces olsrd
837 should run. These interfaces cannot be aliased interfaces such as
843 <term><option>-bar <replaceable>bar</replaceable></option></term>
846 <para>This option overrides the default configuration file path
847 used by olsrd - <filename>/etc/olsrd.conf</filename></para>
856 <para><filename>/etc/olsrd.conf</filename></para>
860 <title>See also</title>
862 <simplelist type="inline">
863 <member><xref endterm="olsrd_8_name" linkend="olsrd_8" /></member>
865 <member><xref endterm="olsrd_conf_5_name"
866 linkend="olsrd_conf_5" /></member>