sprinkle a few asserts to detect interface list corruption
[olsrd.git] / files / olsrd-manpages.xml
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>
6
7   <articleinfo>
8     <titleabbrev>Olsrd Man Pages</titleabbrev>
9
10     <author>
11       <firstname>Sven-Ola</firstname>
12
13       <surname>Tücke</surname>
14
15       <affiliation>
16         <address><email>sven-ola@gmx.de</email></address>
17       </affiliation>
18     </author>
19
20     <releaseinfo>Version 0.5.7-pre</releaseinfo>
21
22     <copyright>
23       <year>2004</year>
24
25       <holder>Andreas Tønnesen</holder>
26     </copyright>
27
28     <copyright>
29       <year>2008</year>
30
31       <holder>Sven-Ola Tücke</holder>
32     </copyright>
33
34     <abstract>
35       <para>Source for olsrd man pages</para>
36     </abstract>
37   </articleinfo>
38
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>
44
45   <para>To process this file and convert the included man pages, use the
46   <ulink url="http://docbook2x.sourceforge.net/">docbook2X</ulink> tool
47   kit.</para>
48
49   <procedure>
50     <step>
51       <para>Install docbook2X: <command>sudo apt-get install
52       docbook2x</command></para>
53     </step>
54
55     <step>
56       <para>Install the XML DTD: <command>sudo apt-get install
57       docbook-xml</command></para>
58     </step>
59
60     <step>
61       <para>Run the converter: <command>cd ./files &amp;&amp;
62       make</command></para>
63     </step>
64   </procedure>
65
66   <appendix id="manpages">
67     <title id="manpages-title">Man Pages</title>
68
69     <refentry id="olsrd_8">
70       <indexterm>
71         <primary><command>olsrd</command></primary>
72       </indexterm>
73
74       <refentryinfo>
75         <titleabbrev><command>olsrd</command> Optimized Link State Routing
76         Protocol Daemon</titleabbrev>
77       </refentryinfo>
78
79       <refmeta>
80         <refentrytitle id="olsrd_8-title">olsrd</refentrytitle>
81
82         <manvolnum>8</manvolnum>
83       </refmeta>
84
85       <refnamediv>
86         <refname><command>olsrd</command></refname>
87
88         <refpurpose>Optimized Link State Routing protocol daemon</refpurpose>
89       </refnamediv>
90
91       <refsynopsisdiv>
92         <cmdsynopsis>
93           <command>olsrd</command>
94
95           <group>
96             <arg>-h</arg>
97
98             <arg>--help</arg>
99           </group>
100
101           <group>
102             <arg>-v</arg>
103
104             <arg>--version</arg>
105           </group>
106
107           <group choice="req">
108             <arg>-f</arg>
109
110             <arg>--config</arg>
111
112             <replaceable>configfile</replaceable>
113           </group>
114
115           <group choice="req">
116             <arg>-d</arg>
117
118             <arg>--DebugLevel</arg>
119
120             <replaceable>level</replaceable>
121           </group>
122
123           <group>
124             <arg>-n</arg>
125
126             <arg>--nofork</arg>
127           </group>
128
129           <group>
130             <arg>-X</arg>
131
132             <arg>--dispin</arg>
133           </group>
134
135           <group>
136             <arg>-O</arg>
137
138             <arg>--dispout</arg>
139           </group>
140
141           <group>
142             <arg>-D</arg>
143
144             <arg>--delgw</arg>
145           </group>
146
147           <group>
148             <arg>-P</arg>
149
150             <arg>--ipc</arg>
151           </group>
152
153           <group choice="req">
154             <arg>-H</arg>
155
156             <arg>--hemu</arg>
157
158             <replaceable>ipaddr</replaceable>
159           </group>
160
161           <arg>interface1</arg>
162
163           <arg rep="repeat">interface2</arg>
164         </cmdsynopsis>
165
166         <note>
167           <para>Only if <command>olsrd</command> is started without arguments,
168           the default config file is loaded - usually
169           <filename>/etc/olsrd.conf</filename> or
170           <filename>/usr/local/etc/olsrd.conf</filename>.</para>
171         </note>
172       </refsynopsisdiv>
173
174       <refsect1>
175         <title>Description</title>
176
177         <para><command>olsrd</command> is an implementation of the
178         <emphasis>O</emphasis>ptimized <emphasis>L</emphasis>ink
179         <emphasis>S</emphasis>tate <emphasis>R</emphasis>outing protocol
180         (OLSR) for <emphasis>M</emphasis>obile <emphasis>A</emphasis>d-hoc
181         <emphasis>NET</emphasis>works (MANETs). The protocol is described in
182         RFC3626. It is designed to be run as a standalone server process - but
183         as it is still in an experimental stage most users will prefer running
184         it with some debug output.</para>
185
186         <para>This implementation of the OLSR protocol features an alternative
187         routing scheme based on link quality using an ETX-like metric which
188         was initially developed by the c-base community in Berlin and extended
189         by the Funkfeuer community in Vienna. This alternative routing scheme
190         uses non-standard messages and is therefore incompatible to standard
191         OLSR as it's described in the RFC. To switch back to RFC-mode, you
192         need to enable a (currently unavailable) metrics plug in using the
193         <option>--LinkQualityAlgorithm</option> option (see <xref
194         endterm="olsrd_conf_5-title" linkend="olsrd_conf_5" />).</para>
195
196         <para>The home page of olsrd is <ulink
197         url="http://www.olsr.org">http://www.olsr.org</ulink></para>
198       </refsect1>
199
200       <refsect1>
201         <title>Options</title>
202
203         <para>You can specify options either on the command line or by using a
204         config file - usually <filename>/etc/olsrd.conf</filename> or
205         <filename>/usr/local/etc/olsrd.conf</filename>. The getopt parser
206         replaces the <option>--config</option> option with options acquired in
207         from the specified config file. While it is possible to operate using
208         only command line options, you may want a config file especially for
209         readability of the larger config options (e.g.
210         <option>--Interface</option> or <option>--LoadPlugin</option>). To
211         preset a config file setting, add an option before
212         <option>--config</option>. To overwrite a config file setting, add an
213         option after <option>--config</option>.</para>
214
215         <para>The following list compiles only options frequently specified on
216         the command line. If you use one or more command line options, you
217         normally also have to specify <option>--config</option> for the
218         desired config file.</para>
219
220         <variablelist>
221           <varlistentry>
222             <term><option>-h</option> or <option>--help</option></term>
223
224             <listitem>
225               <para>Prints out the list of valid command line / config file
226               options and exits.</para>
227             </listitem>
228           </varlistentry>
229
230           <varlistentry>
231             <term><option>-v</option> or <option>--version</option></term>
232
233             <listitem>
234               <para>Prints out the current version number and exits.</para>
235             </listitem>
236           </varlistentry>
237
238           <varlistentry>
239             <term><option>-f <replaceable>configfile</replaceable></option> or
240             <option>--config
241             <replaceable>configfile</replaceable></option></term>
242
243             <listitem>
244               <para>Reads in the specified config file. The acquired options
245               are inserted into the command line at the position of the
246               <option>-f</option> or <option>--config</option> option.</para>
247             </listitem>
248           </varlistentry>
249
250           <varlistentry>
251             <term><option>-d level</option> or <option>--DebugLevel
252             <replaceable>level</replaceable></option></term>
253
254             <listitem>
255               <para>Specifies the amount of debug information to be printed
256               out during operation. If set to 0, <command>olsrd</command> will
257               run in the background.</para>
258             </listitem>
259           </varlistentry>
260
261           <varlistentry>
262             <term><option>-n</option> or <option>--nofork</option></term>
263
264             <listitem>
265               <para>This option causes <command>olsrd</command> not to fork
266               into the background, even when started with <option>--DebugLevel
267               0</option>.</para>
268             </listitem>
269           </varlistentry>
270
271           <varlistentry>
272             <term><option>-X</option> or <option>--dispin</option></term>
273
274             <listitem>
275               <para>This option causes <command>olsrd</command> to display all
276               incoming packet data.</para>
277             </listitem>
278           </varlistentry>
279
280           <varlistentry>
281             <term><option>-O</option> or <option>--dispout</option></term>
282
283             <listitem>
284               <para>This option causes <command>olsrd</command> to display all
285               outgoing packet data.</para>
286             </listitem>
287           </varlistentry>
288
289           <varlistentry>
290             <term><option>-D</option> or <option>--delgw</option></term>
291
292             <listitem>
293               <para>This option will remove a static default route when
294               <command>olsrd</command> adds an Internet route based on OLSR
295               routing.</para>
296             </listitem>
297           </varlistentry>
298
299           <varlistentry>
300             <term><option>-P</option> or <option>--ipc</option></term>
301
302             <listitem>
303               <para>This option allows the GUI front end to create one
304               connection to <command>olsrd</command> at runtime.</para>
305             </listitem>
306           </varlistentry>
307
308           <varlistentry>
309             <term><option>-H <replaceable>ipaddr</replaceable></option> or
310             <option>--hemu <replaceable>ipaddr</replaceable></option></term>
311
312             <listitem>
313               <para>Use this option to connect to the <xref
314               endterm="olsr_switch_8-title" linkend="olsr_switch_8" /> network
315               simulation application. Here <replaceable>ipaddr</replaceable>
316               will be the IP address that the process will set as its main
317               address in the emulation mode. This emulated interfaces have no
318               connection to the real IP stack and can be chosen freely.</para>
319             </listitem>
320           </varlistentry>
321
322           <varlistentry>
323             <term><option>-i</option></term>
324
325             <listitem>
326               <para>Ignored for compatibility - older versions of
327               <command>olsrd</command> expect one or more interface names
328               after this option (see below).</para>
329             </listitem>
330           </varlistentry>
331
332           <varlistentry>
333             <term><option><replaceable>interface1</replaceable>
334             interface2...</option></term>
335
336             <listitem>
337               <para>Any character combination without a leading dash is
338               interpreted as a list of interfaces. The list specifies on what
339               network interfaces olsrd should run. Only the main IP address of
340               an interface is evaluated, so you cannot specify an interface
341               alias such as eth0:1. Note, that you also cannot change the
342               interface parameters such as intervals and validity times. Use
343               the <option>--Interface</option> option instead.</para>
344             </listitem>
345           </varlistentry>
346         </variablelist>
347       </refsect1>
348
349       <refsect1>
350         <title>Files</title>
351
352         <simplelist type="vert">
353           <member><filename><?install-datadir ?>/etc/olsrd.conf</filename></member>
354         </simplelist>
355       </refsect1>
356
357       <refsect1>
358         <title>See Also</title>
359
360         <simplelist type="inline">
361           <member><xref endterm="olsrd_conf_5-title"
362           linkend="olsrd_conf_5" /></member>
363         </simplelist>
364       </refsect1>
365     </refentry>
366
367     <refentry id="olsrd_conf_5">
368       <indexterm>
369         <primary><command>olsrd.conf</command></primary>
370       </indexterm>
371
372       <refentryinfo>
373         <titleabbrev>Configuration File for Olsrd</titleabbrev>
374       </refentryinfo>
375
376       <refmeta>
377         <refentrytitle id="olsrd_conf_5-title">olsrd.conf</refentrytitle>
378
379         <manvolnum>5</manvolnum>
380       </refmeta>
381
382       <refnamediv>
383         <refname><filename>olsrd.conf</filename></refname>
384
385         <refpurpose>configuration file for <xref endterm="olsrd_8-title"
386         linkend="olsrd_8" /></refpurpose>
387       </refnamediv>
388
389       <refsect1>
390         <title>Description</title>
391
392         <para>The <filename>olsrd.conf</filename> file is located in /etc or
393         /usr/local/etc by default. The file contains run-time configuration
394         settings for the Optimized Link State Routing daemon <xref
395         endterm="olsrd_8-title" linkend="olsrd_8" />. During startup, the
396         <command>olsrd</command> daemon reads in the file. If no command line
397         options are present, the default configuration file is read in.
398         Otherwise, the file specified by the <option>-f</option> or
399         <option>--config</option> command line option is used. All settings
400         are inserted as command line options by prepending a double dash and
401         feeding them to the getopt parser.</para>
402
403         <note>
404           <para>With earlier versions of <command>olsrd</command>, the
405           configuration parser was offered as stand alone shared library or
406           DLL. With the exception of the Windows GUI program
407           (<command>Switch.exe</command>), this was unused. To optimize file
408           size for embedded devices, the stand-alone configuration parser was
409           discarded.</para>
410         </note>
411
412         <para>The configuration file consists of comments, single options and
413         option blocks.</para>
414       </refsect1>
415
416       <refsect1>
417         <title>Comments</title>
418
419         <para>Comments are everything following a hash character
420         (<emphasis>#</emphasis>) in a line. This data is discarded. Commenting
421         out an option is an easy way to make olsrd use the default value for
422         that option.</para>
423       </refsect1>
424
425       <refsect1>
426         <title>Single Options</title>
427
428         <caution>
429           <para>The current implementation (olsrd-0.5.7-pre as of Dec-2008)
430           discards several single options controlling the Link Quality
431           Extensions valid with earlier versions. It is planned to
432           re-implement the RFC-mode by using a special LinkQualityAlgorithm
433           plugin. Discarded options: <option>UseHysteresis</option>,
434           <option>HystScaling</option>, <option>HystThrHigh</option>,
435           <option>HystThrLow</option>, <option>LinkQualityLevel</option>, and
436           <option>LinkQualityWinsize</option>.</para>
437         </caution>
438
439         <para>Single options consists of a keyword and a value. Note, that a
440         comment can follow such a option on the same line. Valid single
441         options are:</para>
442
443         <variablelist>
444           <varlistentry>
445             <term><option>config</option> <replaceable>config
446             file</replaceable></term>
447
448             <listitem>
449               <para>Nesting within config files is not supported. Do not
450               use.</para>
451             </listitem>
452           </varlistentry>
453
454           <varlistentry>
455             <term><option>delgw</option>, <option>dispin</option>,
456             <option>dispout</option>, <option>help</option>,
457             <option>hemu</option>, <option>iface</option>,
458             <option>ipc</option>, <option>nofork</option>,
459             <option>version</option>:</term>
460
461             <listitem>
462               <para>While these are valid options, they do not make much sense
463               in a config file. Refer to <xref endterm="olsrd_8-title"
464               linkend="olsrd_8" /> for their meaning.</para>
465             </listitem>
466           </varlistentry>
467
468           <varlistentry>
469             <term><option>AllowNoInt</option>
470             <replaceable>yes|no</replaceable></term>
471
472             <listitem>
473               <para>Olsrd supports dynamic configuration of network
474               interfaces. This means that interfaces on which olsrd runs on
475               can be reconfigured and olsrd will update itself with no need to
476               be restarted. Olsrd also supports removal and addition of
477               interfaces in run-time. This option specifies that olsrd should
478               keep running if no network interfaces are available. Defaults to
479               <replaceable>yes</replaceable>.</para>
480             </listitem>
481           </varlistentry>
482
483           <varlistentry>
484             <term><option>ClearScreen</option>
485             <replaceable>yes|no</replaceable></term>
486
487             <listitem>
488               <para>If set to <replaceable>yes</replaceable> and olsrd running
489               with a <option>DebugLevel</option> other that
490               <replaceable>0,</replaceable> the terminal to which output is
491               sent (STDOUT) is cleared prior to writing updated tables. This
492               makes it easier to follow changes in real-time.</para>
493             </listitem>
494           </varlistentry>
495
496           <varlistentry>
497             <term><option>DebugLevel</option>
498             <replaceable>0-9</replaceable></term>
499
500             <listitem>
501               <para>Controls the amount of debug output olsrd prints out. If
502               set to <replaceable>0</replaceable>, olsrd will detach from the
503               current process and run in the background. A value of
504               <replaceable>9</replaceable> yields a maximum of debug output.
505               Defaults to <replaceable>0</replaceable>.</para>
506             </listitem>
507           </varlistentry>
508
509           <varlistentry>
510             <term><option>FIBMetric</option>
511             <replaceable>string</replaceable></term>
512
513             <listitem>
514               <para>tbd</para>
515             </listitem>
516           </varlistentry>
517
518           <varlistentry>
519             <term><option>IpVersion</option>
520             <replaceable>4|6</replaceable></term>
521
522             <listitem>
523               <para>Olsrd supports both IP versions:
524               <replaceable>4</replaceable> and <replaceable>6</replaceable>.
525               This option controls what IP version olsrd uses. Defaults to
526               <replaceable>4</replaceable>.</para>
527             </listitem>
528           </varlistentry>
529
530           <varlistentry>
531             <term><option>LinkQualityAging</option>
532             <replaceable>float</replaceable></term>
533
534             <listitem>
535               <para>tbd</para>
536             </listitem>
537           </varlistentry>
538
539           <varlistentry>
540             <term><option>LinkQualityAlgorithm</option>
541             <replaceable>string</replaceable></term>
542
543             <listitem>
544               <para>tbd</para>
545             </listitem>
546           </varlistentry>
547
548           <varlistentry>
549             <term><option>LinkQualityDijkstraLimit</option> <replaceable>int,
550             float</replaceable></term>
551
552             <listitem>
553               <para>tbd</para>
554             </listitem>
555           </varlistentry>
556
557           <varlistentry>
558             <term><option>LinkQualityFishEye</option>
559             <replaceable>0|1</replaceable></term>
560
561             <listitem>
562               <para>Enables (<replaceable>1</replaceable>) or disables
563               (<replaceable>0</replaceable>) the experimental fish eye
564               algorithm. In mesh network with high packet loss, the topology
565               information does not spread fast and synchronized, which
566               introduces routing loops. The fish eye algorithm will send TC
567               (Topology Control) messages with varying TTL values. Which
568               floods the near neighborhood more often with topology
569               information than distant nodes (in hops). Use this option
570               together with a shorter <option>TcInterval</option> and a higher
571               <option>MprCoverage</option> setting.</para>
572             </listitem>
573           </varlistentry>
574
575           <varlistentry>
576             <term><option>MprCoverage</option> <replaceable>1 or
577             higher</replaceable></term>
578
579             <listitem>
580               <para>This value decides, how many MPRs a node should attempt to
581               select for every two hop neighbor. Defaults to
582               <emphasis><replaceable>1</replaceable></emphasis>, and any other
583               setting will severely reduce the optimization introduced by the
584               MPR scheme. Note, that when using the
585               <option>LinkQualityFishEye</option> option, a higher value is
586               recommended. </para>
587             </listitem>
588           </varlistentry>
589
590           <varlistentry>
591             <term><option>NatThreshold</option>
592             <replaceable>float</replaceable></term>
593
594             <listitem>
595               <para>tbd</para>
596             </listitem>
597           </varlistentry>
598
599           <varlistentry>
600             <term><option>NicChgsPollInt</option>
601             <replaceable>0.1-100.0</replaceable></term>
602
603             <listitem>
604               <para>This option sets the interval, in seconds, that olsrd will
605               check the configured interfaces for changes in configuration.
606               Defaults to <replaceable>2.5</replaceable>.</para>
607             </listitem>
608           </varlistentry>
609
610           <varlistentry>
611             <term><option>Pollrate</option>
612             <replaceable>0.1-10.0</replaceable></term>
613
614             <listitem>
615               <para>This option sets the sleep interval, in seconds. While
616               polling the interfaces, the olsrd scheduler will sleep for this
617               time if no packets are to be received. If the value is set too
618               high for the current UDP receive buffer size, packet loss will
619               occur. Note, that the current olsrd implementation internally
620               calculates timing values in milliseconds (1/1000s). Defaults to
621               <replaceable>0.1</replaceable>.</para>
622             </listitem>
623           </varlistentry>
624
625           <varlistentry>
626             <term><option>RtProto</option>
627             <replaceable>int</replaceable></term>
628
629             <listitem>
630               <para>tbd</para>
631             </listitem>
632           </varlistentry>
633
634           <varlistentry>
635             <term><option>RtTableDefault</option>
636             <replaceable>int</replaceable></term>
637
638             <listitem>
639               <para>tbd</para>
640             </listitem>
641           </varlistentry>
642
643           <varlistentry>
644             <term><option>RtTable</option>
645             <replaceable>int</replaceable></term>
646
647             <listitem>
648               <para>tbd</para>
649             </listitem>
650           </varlistentry>
651
652           <varlistentry>
653             <term><option>TcRedundancy</option> 0|1|2</term>
654
655             <listitem>
656               <para>This value controls the TC redundancy used by the local
657               node in TC message generation. To enable a more robust
658               understanding of the topology, nodes can be set to announce more
659               than just their MPR selector set in TC messages. If set to
660               <replaceable>0</replaceable>, the advertised link set of the
661               node is limited to the MPR selectors. If set to
662               <replaceable>1</replaceable>, the advertised link set of the
663               node is the union of its MPR set and its MPR selector set. If
664               set to <replaceable>2</replaceable>, the advertised link set of
665               the node is the full symmetric neighbor set of the node.
666               Defaults to <replaceable>0</replaceable>.</para>
667             </listitem>
668           </varlistentry>
669
670           <varlistentry>
671             <term><option>TosValue</option>
672             <replaceable>0-16</replaceable></term>
673
674             <listitem>
675               <para>This value controls the type of service value to set in
676               the IP header of OLSR control traffic. Defaults to
677               <replaceable>16</replaceable>.</para>
678             </listitem>
679           </varlistentry>
680
681           <varlistentry>
682             <term><option>Willingness</option>
683             <replaceable>0-7</replaceable></term>
684
685             <listitem>
686               <para>Nodes participating in a OLSR routed network will announce
687               their willingness to act as relays for OLSR control traffic for
688               their neighbors (MPR). This option specifies a fixed willingness
689               value to be announced by the local node.
690               <replaceable>4</replaceable> is a neutral option here, while
691               <replaceable>0</replaceable> specifies that this node will never
692               act as a relay, and <replaceable>7</replaceable> specifies that
693               this node will always act as such a relay. If this option is
694               unset in the configuration file, then olsrd will try to retrieve
695               information about the system power and dynamically update
696               willingness according to this info. If no such info can be
697               retrieved willingness is set to
698               <replaceable>4</replaceable>.</para>
699             </listitem>
700           </varlistentry>
701         </variablelist>
702       </refsect1>
703
704       <refsect1>
705         <title>Option Blocks</title>
706
707         <para>Option blocks are configuration options that holds a body of
708         sub-options encapsulated in curled braces ( <emphasis>{}</emphasis> ).
709         Valid options are:</para>
710
711         <variablelist>
712           <varlistentry>
713             <term><option>IpcConnect {[sub-options]}</option></term>
714
715             <listitem>
716               <para>Olsrd can allow processes to make a TCP connection to
717               itself on which data regarding the topology will be transmitted.
718               This is typically used by GUI applications to provide a
719               user-friendly front-end to olsrd. This option block controls
720               this kind of connections.</para>
721
722               <para><option>MaxConnections [0-5]</option>: This option
723               specifies how many connections that can exist simultaneously.
724               Multiple connections have not been tested, and does not work!
725               This option should only be used to control whether or not
726               processes can connect to olsrd by setting it either to 0, which
727               will tell olsrd not to allow any connections, or by setting it
728               to a positive value. Defaults to 0.</para>
729
730               <para><option>Host [IPv4 address]</option>: This option
731               specifies a single host that is allowed to connect to olsrd. By
732               default only the loopback address (127.0.0.1) is set to be
733               allowed. So if you want to be able to connect from another host
734               you should add it here. This option can be repeated to add
735               multiple hosts.</para>
736
737               <para><option>Net [IPv4 netaddress] [IPv4 netmask]</option>:
738               Here you can specify an entire net range of IP addresses which
739               olsrd will allow TCP connections from. This option can be
740               repeated to add multiple networks.</para>
741             </listitem>
742           </varlistentry>
743
744           <varlistentry>
745             <term><option>Hna4 {[sub-options]}</option></term>
746
747             <listitem>
748               <para>Hosts in a OLSR routed network can announce connectivity
749               to external networks using HNA messages. This option block is
750               used to set the IPv4 networks to be announced by this
751               host.</para>
752
753               <para><option>[IPv4 netaddress] [IPv4 netmask]</option>:
754               Specifies a IPv4 network to announce in HNA messages. Multiple
755               entries can be added. To announce Internet connectivity set
756               <emphasis>0.0.0.0 0.0.0.0</emphasis></para>
757             </listitem>
758           </varlistentry>
759
760           <varlistentry>
761             <term><option>Hna6 {[sub-options]}</option></term>
762
763             <listitem>
764               <para>Hosts in a OLSR routed network can announce connectivity
765               to external networks using HNA messages. This option block is
766               used to set the IPv6 networks to be announced by this
767               host.</para>
768
769               <para><option>[IPv6 netaddress] [0-48]</option>: Specifies a
770               IPv6 network to announce in HNA messages. The second value is
771               the prefix-length of the network address. Multiple entries can
772               be added. To announce Internet connectivity set <emphasis>::
773               0</emphasis></para>
774             </listitem>
775           </varlistentry>
776
777           <varlistentry>
778             <term><option>LoadPlugin "[plugin-name]"
779             {[sub-options]}x</option></term>
780
781             <listitem>
782               <para>Specifies a plugin that olsrd is to load at
783               startup.</para>
784
785               <para><option>PlParam [key] [value]</option>: Sends a pair of
786               parameters to the plugin at initialization. Consult individual
787               plugin documentation to find the possible parameters.</para>
788             </listitem>
789           </varlistentry>
790
791           <varlistentry>
792             <term><option>Interface "[device-name1]" "[device-name2]" ...
793             {[sub-options]}</option></term>
794
795             <listitem>
796               <para>This option block specifies one or more network interfaces
797               on which olsrd should run. At least one network interface block
798               must be specified for olsrd to run! Various parameters can be
799               specified on individual interfaces or groups of interfaces. This
800               option block can be repeated to add multiple interface
801               configurations.</para>
802
803               <para><option>AutoDetectChanges [yes|no]</option>: Olsrd can
804               auto detect changes in interface configurations (polling on the
805               interval set by <option>NicChgsPollInt</option>). This is
806               Enabled by default but can be turned off pr. NIC to save CPU
807               cycles.</para>
808
809               <para><option>Ip4Broadcast [IPv4 address]</option>: Forces the
810               given IPv4 broadcast address to be used as destination address
811               for all outgoing OLSR traffic on the interface. In reality only
812               the address <emphasis>255.255.255.255</emphasis> makes sense to
813               set here. If this option is not set the broadcast address that
814               the interface is configured with will be used. This address will
815               also be updated in run-time if a change is detected.</para>
816
817               <para><option>Ip6AddrType [site-local|global]</option>: This
818               option sets what IPv6 address type is to be used in interface
819               address detection. Defaults to site-local.</para>
820
821               <para><option>Ip6MulticastSite [IPv6 address]</option>: Sets the
822               destination of outgoing OLSR traffic on this interface to use
823               the specified IPv6 multicast address as destination if the
824               site-local address type is set on this interface.</para>
825
826               <para><option>Ip6MulticastGlobal [IPv6 address]</option>: Sets
827               the destination of outgoing OLSR traffic on this interface to
828               use the specified IPv6 multicast address as destination if the
829               global address type is set on this interface.</para>
830
831               <para><option>HelloInterval [0.0-]</option>: Sets the interval
832               on which HELLO messages will be generated and transmitted on
833               this interface.</para>
834
835               <para><option>HelloValidityTime [0.0-]</option>: Sets the
836               validity time to be announced in HELLO messages generated by
837               this host on this interface. This value must be larger than the
838               HELLO generation interval to make any sense. Defaults to 3 * the
839               generation interval.</para>
840
841               <para><option>TcInterval [0.0-]</option>: Sets the interval on
842               which TC messages will be generated and transmitted on this
843               interface.</para>
844
845               <para><option>TcValidityTime [0.0-]</option>: Sets the validity
846               time to be announced in TC messages generated by this host on
847               this interface. This value must be larger than the TC generation
848               interval to make any sense. Defaults to 3 * the generation
849               interval.</para>
850
851               <para><option>MidInterval [0.0-]</option>: Sets the interval on
852               which MID messages will be generated and transmitted on this
853               interface.</para>
854
855               <para><option>MidValidityTime [0.0-]</option>: Sets the validity
856               time to be announced in MID messages generated by this host on
857               this interface. This value must be larger than the MID
858               generation interval to make any sense. Defaults to 3 * the
859               generation interval.</para>
860
861               <para><option>HnaInterval [0.0-]</option>: Sets the interval on
862               which HNA messages will be generated and transmitted on this
863               interface.</para>
864
865               <para><option>HnaValidityTime [0.0-]</option>: Sets the validity
866               time to be announced in HNA messages generated by this host on
867               this interface. This value must be larger than the HNA
868               generation interval to make any sense. Defaults to 3 * the
869               generation interval.</para>
870
871               <para><option>Weight [0-]</option>: When multiple links exist
872               between hosts the weight of the interface is used to determine
873               the link to route by. Normally the weight is automatically
874               calculated by olsrd based on the characteristics of the
875               interface, but here you can specify a fixed value. Olsrd will
876               choose links with the lowest value.</para>
877             </listitem>
878           </varlistentry>
879         </variablelist>
880       </refsect1>
881
882       <refsect1>
883         <title>Misc</title>
884
885         <para>The homepage of olsrd is <ulink
886         url="http://www.olsr.org">http://www.olsr.org</ulink></para>
887       </refsect1>
888
889       <refsect1>
890         <title>Files</title>
891
892         <para><filename>/etc/olsrd.conf</filename></para>
893       </refsect1>
894
895       <refsect1>
896         <title>See Also</title>
897
898         <simplelist type="inline">
899           <member><xref endterm="olsrd_8-title" linkend="olsrd_8" /></member>
900         </simplelist>
901       </refsect1>
902     </refentry>
903
904     <refentry id="olsr_switch_8">
905       <indexterm>
906         <primary><command>olsr_switch</command></primary>
907       </indexterm>
908
909       <refentryinfo>
910         <titleabbrev>Olsrd Network Simulator</titleabbrev>
911       </refentryinfo>
912
913       <refmeta>
914         <refentrytitle id="olsr_switch_8-title">olsr_switch</refentrytitle>
915
916         <manvolnum>8</manvolnum>
917       </refmeta>
918
919       <refnamediv>
920         <refname>olsr_switch</refname>
921
922         <refpurpose>olsrd network simulator</refpurpose>
923       </refnamediv>
924
925       <refsynopsisdiv>
926         <cmdsynopsis>
927           <command>olsr_switch</command>
928
929           <arg>-foo <replaceable>foo</replaceable></arg>
930
931           <arg>-bar <replaceable>bar</replaceable></arg>
932         </cmdsynopsis>
933       </refsynopsisdiv>
934
935       <refsect1>
936         <title>Description</title>
937
938         <para><command>olsr_switch</command> is an implementation of the
939         Optimized Link State Routing protocol for Mobile Ad-Hoc networks
940         (MANET). The protocol is described in RFC3626. It is designed to be
941         run as a standalone server process - but as it is still in an
942         experimental stage most users will prefer running it with some debug
943         output which is directed to STDOUT.</para>
944
945         <para>This manual page only lists the command line arguments. For
946         details of the configuration file see the comments included in
947         <filename>/etc/olsrd.conf</filename>. Note that none of these options
948         need to be set at the command line - all these options and others can
949         be set in the configuration file.</para>
950
951         <para>The homepage of olsrd is <ulink
952         url="http://www.olsr.org">http://www.olsr.org</ulink></para>
953       </refsect1>
954
955       <refsect1>
956         <title>Options</title>
957
958         <variablelist>
959           <varlistentry>
960             <term><option>-foo <replaceable>foo</replaceable></option></term>
961
962             <listitem>
963               <para>This option specifies on what network interfaces olsrd
964               should run. These interfaces cannot be aliased interfaces such
965               as eth0:1.</para>
966             </listitem>
967           </varlistentry>
968
969           <varlistentry>
970             <term><option>-bar <replaceable>bar</replaceable></option></term>
971
972             <listitem>
973               <para>This option overrides the default configuration file path
974               used by olsrd - <filename>/etc/olsrd.conf</filename></para>
975             </listitem>
976           </varlistentry>
977         </variablelist>
978       </refsect1>
979
980       <refsect1>
981         <title>Files</title>
982
983         <para><filename>/etc/olsrd.conf</filename></para>
984       </refsect1>
985
986       <refsect1>
987         <title>See also</title>
988
989         <simplelist type="inline">
990           <member><xref endterm="olsrd_8-title" linkend="olsrd_8" /></member>
991
992           <member><xref endterm="olsrd_conf_5-title"
993           linkend="olsrd_conf_5" /></member>
994         </simplelist>
995       </refsect1>
996     </refentry>
997   </appendix>
998 </article>