doc: some typos olsrd(8)
[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   <refentry id="olsrd_8">
67     <indexterm>
68       <primary><command>olsrd</command></primary>
69     </indexterm>
70
71     <refentryinfo>
72       <titleabbrev><command>olsrd</command> Optimized Link State Routing
73       Protocol Daemon</titleabbrev>
74     </refentryinfo>
75
76     <refmeta>
77       <refentrytitle id="olsrd_8-title">olsrd</refentrytitle>
78
79       <manvolnum>8</manvolnum>
80     </refmeta>
81
82     <refnamediv>
83       <refname><command>olsrd</command></refname>
84
85       <refpurpose>Optimized Link State Routing protocol daemon</refpurpose>
86     </refnamediv>
87
88     <refsynopsisdiv>
89       <cmdsynopsis>
90         <command>olsrd</command>
91
92         <group>
93           <arg>-h</arg>
94
95           <arg>--help</arg>
96         </group>
97
98         <group>
99           <arg>-v</arg>
100
101           <arg>--version</arg>
102         </group>
103
104         <group choice="req">
105           <arg>-f</arg>
106
107           <arg>--config</arg>
108
109           <replaceable>configfile</replaceable>
110         </group>
111
112         <group choice="req">
113           <arg>-d</arg>
114
115           <arg>--DebugLevel</arg>
116
117           <replaceable>level</replaceable>
118         </group>
119
120         <group>
121           <arg>-n</arg>
122
123           <arg>--nofork</arg>
124         </group>
125
126         <group>
127           <arg>-X</arg>
128
129           <arg>--dispin</arg>
130         </group>
131
132         <group>
133           <arg>-O</arg>
134
135           <arg>--dispout</arg>
136         </group>
137
138         <group>
139           <arg>-D</arg>
140
141           <arg>--delgw</arg>
142         </group>
143
144         <group>
145           <arg>-P</arg>
146
147           <arg>--ipc</arg>
148         </group>
149
150         <group choice="req">
151           <arg>-H</arg>
152
153           <arg>--hemu</arg>
154
155           <replaceable>ipaddr</replaceable>
156         </group>
157
158         <arg>interface1</arg>
159
160         <arg rep="repeat">interface2</arg>
161       </cmdsynopsis>
162
163       <para></para>
164
165       <!--Sorry for two empty paras, but I want the note properly aligned.-->
166
167       <para></para>
168
169       <para><emphasis role="strong">Note</emphasis>: Only if
170       <command>olsrd</command> is started without arguments, the default
171       config file is loaded - which is usually
172       <filename>/etc/olsrd.conf</filename> or
173       <filename>/usr/local/etc/olsrd.conf</filename>.</para>
174     </refsynopsisdiv>
175
176     <refsect1>
177       <title>Description</title>
178
179       <para><command>olsrd</command> is an implementation of the
180       <emphasis>O</emphasis>ptimized <emphasis>L</emphasis>ink
181       <emphasis>S</emphasis>tate <emphasis>R</emphasis>outing protocol (OLSR)
182       for <emphasis>M</emphasis>obile <emphasis>A</emphasis>d-hoc
183       <emphasis>NET</emphasis>works (MANETs). The protocol is described in
184       RFC3626. It is designed to be run as a standalone server process - but
185       as it is still in an experimental stage most users will prefer running
186       it with some debug output.</para>
187
188       <para>This implementation of the OLSR protocol features an alternative
189       routing scheme based on link quality using an ETX-like metric which was
190       initially developed by the c-base community in Berlin and extended by
191       the Funkfeuer community in Vienna. This alternative routing scheme uses
192       non-standard messages and is therefore incompatible to standard OLSR as
193       it's described in the RFC. To switch back to RFC-mode, you need to
194       enable a (currently unavailable) metrics plug in using the
195       <option>--LinkQualityAlgorithm</option> option (see <xref
196       endterm="olsrd_conf_5-title" linkend="olsrd_conf_5" />).</para>
197
198       <para>The home page of olsrd is <ulink
199       url="http://www.olsr.org">http://www.olsr.org</ulink></para>
200     </refsect1>
201
202     <refsect1>
203       <title>Getting Started</title>
204
205       <para>Running and maintaining a larger mesh network is a complex task.
206       Nevertheless, you may simply want to test olsrd. If you have at least 3
207       devices, all equipped with a Wifi card, the following short list of
208       steps may help.</para>
209
210       <orderedlist>
211         <listitem>
212           <para>Set up the necessary connectivity. Configure all Wifi cards to
213           Ad hoc (IBSS) or similar, use same ESSID and channel setting. All
214           Wifi cards need to use a fixed IP in the same IP address range (e.g.
215           10.0.0.0/8). Verify, that the interfaces are configured with the
216           correct broadcast address. Otherwise you will experience ARP lookups
217           on the broadcast address when running olsrd. Also stop any
218           firewalling and enable forwarding. Test the connectivity by using
219           the <command>ping</command> command. Remember: olsrd is a layer 3
220           routing daemon and therefore simply is not responsible for any layer
221           2 problems. No ping - no routes.</para>
222         </listitem>
223
224         <listitem>
225           <para>Install olsrd on every device. This is different for several
226           supported operating systems:</para>
227
228           <variablelist>
229             <varlistentry>
230               <term>Linux</term>
231
232               <listitem>
233                 <para>Download a stable source tar.gz. Unpack. Be sure to
234                 install the build tools (e.g. <command>apt-get install
235                 build-essential flex bison</command>). Do <command>make
236                 build_all</command>. Do <command>sudo make
237                 install_all</command>. Edit the
238                 <filename>/usr/local/etc/olsrd.conf</filename> file and change
239                 at least the <option>Interface</option> section for your Wifi
240                 card. You may also want to enable the httpinfo plugin. Start
241                 with <command>olsrd -f /usr/local/etc/olsrd.conf -d
242                 1</command>.</para>
243
244                 <para>You may add <option>PREFIX=/usr</option> to the
245                 <command>make</command> commands which changes the
246                 installation pathes to <filename>/etc</filename>,
247                 <filename>/usr/sbin</filename>, and
248                 <filename>/usr/lib</filename> as it's the default with
249                 previous olsrd versions.</para>
250               </listitem>
251             </varlistentry>
252
253             <varlistentry>
254               <term>Windows</term>
255
256               <listitem>
257                 <para>Download the Windows installer. Install and run the
258                 <filename>Switch.exe</filename> GUI as admin. Select the Wifi
259                 card and de-select any other interface offered. Click the
260                 <guibutton>Start</guibutton> button. Keep in mind: only a user
261                 with admin rights can change the system's routing table. Any
262                 active firewall solution may disturb the cooperative sharing
263                 required with meshing, while a personal operating system is
264                 not meant for sharing.</para>
265               </listitem>
266             </varlistentry>
267
268             <varlistentry>
269               <term>BSD</term>
270
271               <listitem>
272                 <para>Basically use the same procedure as with Linux. You need
273                 to install and use the <command>gmake</command> command to
274                 build and install.</para>
275               </listitem>
276             </varlistentry>
277
278             <varlistentry>
279               <term>Embedded:</term>
280
281               <listitem>
282                 <para>Your mileage may vary with different embedded firmwares
283                 and operating systems. You may flash the Freifunk Firmware.
284                 DD-WRT has olsrd support. OpenWrt comes with a pre-compiled
285                 binary for olsrd. There's an ongoing OpenWrt/Kamikaze project
286                 with olsrd named ffluci. Installation and configuration is
287                 different for those Linux flavours - be sure to read their
288                 docs or online help files.</para>
289               </listitem>
290             </varlistentry>
291           </variablelist>
292         </listitem>
293
294         <listitem>
295           <para>If olsrd detects the correct topology as well as
296           installs/removes routes matching that topology, you may offer
297           Internet on one of your devices. Either enable a manual <quote>HNA {
298           0.0.0.0 0.0.0.0 }</quote> in the configuration file or use the
299           dyn_gw or dyn_gw_plain plugins. For most Internet connections, you
300           need to enable NAT/MASQUERADING to translate the private IP adresses
301           to the globally valid IP address on the Internet gateway
302           device.</para>
303         </listitem>
304
305         <listitem>
306           <para>Start debugging if necessary. Use the <ulink
307           url="http://localhost:8080/">http://localhost:8080/</ulink> URL to
308           query information from the httpinfo plugin. Use
309           <command>wireshark</command> or <command>tcpdump -ni [iface] udp and
310           port 698</command> to verify OLSR messaging. Take special care for
311           the Wifi cards in Ad hoc / IBSS mode: typical driver/card
312           combinations tend to disagree about the auto-negotiated BSSID over
313           time (also called IBSS-split) which may be solved by using a
314           manually configured BSSID.</para>
315         </listitem>
316       </orderedlist>
317     </refsect1>
318
319     <refsect1>
320       <title>Options</title>
321
322       <para>You can specify options either on the command line or by using a
323       config file - usually <filename>/etc/olsrd.conf</filename> or
324       <filename>/usr/local/etc/olsrd.conf</filename>. The getopt parser
325       replaces the <option>--config</option> option with options acquired in
326       from the specified config file. While it is possible to operate using
327       only command line options, you may want a config file especially for
328       readability of the larger config options (e.g.
329       <option>--Interface</option> or <option>--LoadPlugin</option>). To
330       preset a config file setting, add an option before
331       <option>--config</option>. To overwrite a config file setting, add an
332       option after <option>--config</option>.</para>
333
334       <para>The following list compiles only options frequently specified on
335       the command line. If you use one or more command line options, you
336       normally also have to specify <option>--config</option> for the desired
337       config file.</para>
338
339       <variablelist>
340         <varlistentry>
341           <term><option>-h</option> or <option>--help</option></term>
342
343           <listitem>
344             <para>Prints out the list of valid command line / config file
345             options and exits.</para>
346           </listitem>
347         </varlistentry>
348
349         <varlistentry>
350           <term><option>-v</option> or <option>--version</option></term>
351
352           <listitem>
353             <para>Prints out the current version number and exits.</para>
354           </listitem>
355         </varlistentry>
356
357         <varlistentry>
358           <term><option>-f <replaceable>configfile</replaceable></option> or
359           <option>--config
360           <replaceable>configfile</replaceable></option></term>
361
362           <listitem>
363             <para>Reads in the specified config file. The acquired options are
364             inserted into the command line at the position of the
365             <option>-f</option> or <option>--config</option> option.</para>
366           </listitem>
367         </varlistentry>
368
369         <varlistentry>
370           <term><option>-d level</option> or <option>--DebugLevel
371           <replaceable>level</replaceable></option></term>
372
373           <listitem>
374             <para>Specifies the amount of debug information to be printed out
375             during operation. If set to 0, <command>olsrd</command> will run
376             in the background.</para>
377           </listitem>
378         </varlistentry>
379
380         <varlistentry>
381           <term><option>-n</option> or <option>--nofork</option></term>
382
383           <listitem>
384             <para>This option causes <command>olsrd</command> not to fork into
385             the background, even when started with <option>--DebugLevel
386             0</option>.</para>
387           </listitem>
388         </varlistentry>
389
390         <varlistentry>
391           <term><option>-X</option> or <option>--dispin</option></term>
392
393           <listitem>
394             <para>This option causes <command>olsrd</command> to display all
395             incoming packet data.</para>
396           </listitem>
397         </varlistentry>
398
399         <varlistentry>
400           <term><option>-O</option> or <option>--dispout</option></term>
401
402           <listitem>
403             <para>This option causes <command>olsrd</command> to display all
404             outgoing packet data.</para>
405           </listitem>
406         </varlistentry>
407
408         <varlistentry>
409           <term><option>-D</option> or <option>--delgw</option></term>
410
411           <listitem>
412             <para>This option will remove a static default route when
413             <command>olsrd</command> adds an Internet route based on OLSR
414             routing.</para>
415           </listitem>
416         </varlistentry>
417
418         <varlistentry>
419           <term><option>-P</option> or <option>--ipc</option></term>
420
421           <listitem>
422             <para>This option allows the GUI front end to create one
423             connection to <command>olsrd</command> at runtime.</para>
424           </listitem>
425         </varlistentry>
426
427         <varlistentry>
428           <term><option>-H <replaceable>ipaddr</replaceable></option> or
429           <option>--hemu <replaceable>ipaddr</replaceable></option></term>
430
431           <listitem>
432             <para>Use this option to connect to the <xref
433             endterm="olsr_switch_8-title" linkend="olsr_switch_8" /> network
434             simulation application. Here <replaceable>ipaddr</replaceable>
435             will be the IP address that the process will set as its main
436             address in the emulation mode. This emulated interfaces have no
437             connection to the real IP stack and can be chosen freely.</para>
438           </listitem>
439         </varlistentry>
440
441         <varlistentry>
442           <term><option>-i</option></term>
443
444           <listitem>
445             <para>Ignored for compatibility - older versions of
446             <command>olsrd</command> expect one or more interface names after
447             this option (see below).</para>
448           </listitem>
449         </varlistentry>
450
451         <varlistentry>
452           <term><option><replaceable>interface1</replaceable>
453           interface2...</option></term>
454
455           <listitem>
456             <para>Any character combination without a leading dash is
457             interpreted as a list of interfaces. The list specifies on what
458             network interfaces olsrd should run. Only the main IP address of
459             an interface is evaluated, so you cannot specify an interface
460             alias such as eth0:1. Note, that you also cannot change the
461             interface parameters such as intervals and validity times. Use the
462             <option>--Interface</option> option instead.</para>
463           </listitem>
464         </varlistentry>
465       </variablelist>
466     </refsect1>
467
468     <refsect1>
469       <title>Files</title>
470
471       <simplelist type="vert">
472         <member><filename><?install-datadir ?>/etc/olsrd.conf</filename></member>
473       </simplelist>
474     </refsect1>
475
476     <refsect1>
477       <title>See Also</title>
478
479       <simplelist type="inline">
480         <member><xref endterm="olsrd_conf_5-title"
481         linkend="olsrd_conf_5" /></member>
482       </simplelist>
483     </refsect1>
484   </refentry>
485
486   <refentry id="olsrd_conf_5">
487     <indexterm>
488       <primary><command>olsrd.conf</command></primary>
489     </indexterm>
490
491     <refentryinfo>
492       <titleabbrev>Configuration File for Olsrd</titleabbrev>
493     </refentryinfo>
494
495     <refmeta>
496       <refentrytitle id="olsrd_conf_5-title">olsrd.conf</refentrytitle>
497
498       <manvolnum>5</manvolnum>
499     </refmeta>
500
501     <refnamediv>
502       <refname><filename>olsrd.conf</filename></refname>
503
504       <refpurpose>configuration file for <xref endterm="olsrd_8-title"
505       linkend="olsrd_8" /></refpurpose>
506     </refnamediv>
507
508     <refsect1>
509       <title>Description</title>
510
511       <para>The <filename>olsrd.conf</filename> file is located in /etc or
512       /usr/local/etc by default. The file contains run-time configuration
513       settings for the Optimized Link State Routing daemon <xref
514       endterm="olsrd_8-title" linkend="olsrd_8" />. During startup, the
515       <command>olsrd</command> daemon reads in the file. If no command line
516       options are present, the default configuration file is read in.
517       Otherwise, the file specified by the <option>-f</option> or
518       <option>--config</option> command line option is used. All settings are
519       inserted as command line options by prepending a double dash and feeding
520       them to the getopt parser.</para>
521
522       <para><emphasis role="strong">Tip</emphasis>: With earlier versions of
523       <command>olsrd</command>, the configuration parser was offered as stand
524       alone shared library or DLL. With the exception of the Windows GUI
525       program (<command>Switch.exe</command>), this was unused. To optimize
526       file size for embedded devices, the stand-alone configuration parser was
527       discarded.</para>
528
529       <para>The configuration file consists of comments, single options and
530       option blocks.</para>
531     </refsect1>
532
533     <refsect1>
534       <title>Comments</title>
535
536       <para>Comments are everything following a hash character
537       (<emphasis>#</emphasis>) in a line. This data is discarded. Commenting
538       out an option is an easy way to make olsrd use the default value for
539       that option.</para>
540     </refsect1>
541
542     <refsect1>
543       <title>Single Options</title>
544
545       <para><emphasis role="strong">Caution</emphasis>: The current
546       implementation (olsrd-0.5.7-pre as of Dec-2008) discards several single
547       options controlling the Link Quality Extensions valid with earlier
548       versions. It is planned to re-implement the RFC-mode by using a special
549       LinkQualityAlgorithm plugin. Discarded options:
550       <option>UseHysteresis</option>, <option>HystScaling</option>,
551       <option>HystThrHigh</option>, <option>HystThrLow</option>,
552       <option>LinkQualityLevel</option>, and
553       <option>LinkQualityWinsize</option>.</para>
554
555       <para>Single options consists of a keyword and a value. Note, that a
556       comment can follow such a option on the same line. Valid single options
557       are:</para>
558
559       <variablelist>
560         <varlistentry>
561           <term><option>config</option>
562           <replaceable>configfile</replaceable></term>
563
564           <listitem>
565             <para>Nesting within config files is not supported. Do not
566             use.</para>
567           </listitem>
568         </varlistentry>
569
570         <varlistentry>
571           <term><option>delgw</option>, <option>dispin</option>,
572           <option>dispout</option>, <option>help</option>,
573           <option>hemu</option>, <option>iface</option>, <option>ipc</option>,
574           <option>nofork</option>, <option>version</option>:</term>
575
576           <listitem>
577             <para>While these are valid options, they do not make much sense
578             in a config file. Refer to <xref endterm="olsrd_8-title"
579             linkend="olsrd_8" /> for their meaning.</para>
580           </listitem>
581         </varlistentry>
582
583         <varlistentry>
584           <term><option>AllowNoInt</option>
585           <replaceable>yes</replaceable>|<replaceable>no</replaceable></term>
586
587           <listitem>
588             <para>Olsrd supports dynamic configuration of network interfaces.
589             This means that interfaces on which olsrd runs on can be
590             reconfigured and olsrd will update itself with no need to be
591             restarted. Olsrd also supports removal and addition of interfaces
592             in run-time. This option specifies that olsrd should keep running
593             if no network interfaces are available. Defaults to
594             <replaceable>yes</replaceable>.</para>
595           </listitem>
596         </varlistentry>
597
598         <varlistentry>
599           <term><option>ClearScreen</option>
600           <replaceable>yes</replaceable>|<replaceable>no</replaceable></term>
601
602           <listitem>
603             <para>If set to <replaceable>yes</replaceable> and olsrd running
604             with a <option>DebugLevel</option> other that
605             <replaceable>0</replaceable>, the terminal to which output is sent
606             (STDOUT) is cleared prior to writing updated tables. This makes it
607             easier to follow changes in real-time.</para>
608           </listitem>
609         </varlistentry>
610
611         <varlistentry>
612           <term><option>DebugLevel</option>
613           <replaceable>0</replaceable>-<replaceable>9</replaceable></term>
614
615           <listitem>
616             <para>Controls the amount of debug output olsrd prints out. If set
617             to <replaceable>0</replaceable>, olsrd will detach from the
618             current process and run in the background. A value of
619             <replaceable>9</replaceable> yields a maximum of debug output.
620             Defaults to <replaceable>0</replaceable>.</para>
621           </listitem>
622         </varlistentry>
623
624         <varlistentry>
625           <term><option>FIBMetric</option>
626           <replaceable>flat</replaceable>|<replaceable>correct</replaceable>|<replaceable>approx</replaceable></term>
627
628           <listitem>
629             <para>This setting controls how the metric value for kernel routes
630             is handled. While analyzing new information of the mesh topology,
631             olsrd may change it's internal routing path to several distant
632             nodes (in hops). If this setting is set to
633             <replaceable>flat</replaceable>, kernel routes always have a
634             metric of 2. No route update is necessary if the internal routing
635             pathes change. If this setting is set to
636             <replaceable>correct</replaceable>, the kernel metric shows the
637             number of hops to the destination. This induces frequent routing
638             changes in larger meshes. If this setting is set to
639             <replaceable>approx</replaceable>, the current hop number is set
640             as a route metric but not updated if olsrd detects a hop number
641             change. Defaults to <replaceable>flat</replaceable>.</para>
642           </listitem>
643         </varlistentry>
644
645         <varlistentry>
646           <term><option>IpVersion</option>
647           <replaceable>4</replaceable>|<replaceable>6</replaceable></term>
648
649           <listitem>
650             <para>Olsrd supports both IP versions:
651             <replaceable>4</replaceable> and <replaceable>6</replaceable>.
652             This option controls what IP version olsrd uses. Defaults to
653             <replaceable>4</replaceable>.</para>
654           </listitem>
655         </varlistentry>
656
657         <varlistentry>
658           <term><option>LinkQualityAging</option>
659           <replaceable>0.01</replaceable>-<replaceable>1.0</replaceable></term>
660
661           <listitem>
662             <para>This setting controls the LQ/ETX change speed for the
663             <emphasis>etx_fpm</emphasis> and <emphasis>etx_float</emphasis>
664             link quality plugins. A higher value will result in faster LQ/ETX
665             changes. Defaults to <replaceable>0.1</replaceable>.</para>
666           </listitem>
667         </varlistentry>
668
669         <varlistentry>
670           <term><option>LinkQualityAlgorithm</option>
671           <replaceable>etx_fpm</replaceable>|<replaceable>etx_float</replaceable>|<replaceable>etx_ff</replaceable></term>
672
673           <listitem>
674             <para>Selects one of the internal LQ/ETX detection algorithms.
675             Both <replaceable>etx_fpm</replaceable> (uses integers) and
676             <replaceable>etx_float</replaceable> (uses floating point math)
677             calculate the link quality based on HELLO and LQ_HELLO message
678             loss. Note, that HELLO messages trigger a send-buffer-flush, so
679             basically HELLOs are sent in small packets. Because the packet
680             loss for small packets is much lower than for large packets, these
681             algorithms may not discover optimal routes. If set to
682             <replaceable>etx_ff</replaceable>, LQ/ETX detection is based on
683             olsrd packet loss as it's the default with previous olsrd
684             versions. Note, that olsrd needs to send large signaling packet
685             for this to work properly, which is only true if you have a larger
686             mesh (&gt;50 nodes). Defaults to
687             <replaceable>etx_fpm</replaceable>.</para>
688           </listitem>
689         </varlistentry>
690
691         <varlistentry>
692           <term><option>LinkQualityDijkstraLimit</option>
693           <replaceable>0</replaceable>|<replaceable>255</replaceable>
694           <replaceable>[Pollrate]</replaceable>-<replaceable>120.0</replaceable></term>
695
696           <listitem>
697             <para>This setting configures a calculation optimization which may
698             be necessary for large meshes with slow nodes (e.g. 100 MHz ARM
699             CPU). Normally, an incoming TC message triggers a re-calculation
700             of the internal network model. This setting can be used switch to
701             a regularly calculation (first value set to
702             <replaceable>0</replaceable>) and to use a specific calculation
703             interval in seconds (second value larger then
704             <replaceable>[Pollrate]</replaceable>). Note, that infrequent
705             re-calculation may introduce routing loops because nodes need more
706             time to adapt their routing tables. Defaults to
707             <replaceable>255</replaceable> <replaceable>0.0</replaceable>
708             (inactive).</para>
709           </listitem>
710         </varlistentry>
711
712         <varlistentry>
713           <term><option>LinkQualityFishEye</option>
714           <replaceable>0</replaceable>|<replaceable>1</replaceable></term>
715
716           <listitem>
717             <para>Enables (<replaceable>1</replaceable>) or disables
718             (<replaceable>0</replaceable>) the experimental fish eye
719             algorithm. In mesh network with high packet loss, the topology
720             information does not spread fast and synchronized, which
721             introduces routing loops. The fish eye algorithm will send TC
722             (Topology Control) messages with varying TTL values. Which floods
723             the near neighborhood more often with topology information than
724             distant nodes (in hops). Use this option together with a shorter
725             <option>TcInterval</option> and a higher
726             <option>MprCoverage</option> setting.</para>
727           </listitem>
728         </varlistentry>
729
730         <varlistentry>
731           <term><option>MprCoverage</option> <replaceable>1</replaceable> or
732           higher</term>
733
734           <listitem>
735             <para>This value decides, how many MPRs a node should attempt to
736             select for every two hop neighbor. Defaults to
737             <emphasis><replaceable>1</replaceable></emphasis>, and any other
738             setting will severely reduce the optimization introduced by the
739             MPR scheme. Note, that when using the
740             <option>LinkQualityFishEye</option> option, a higher value is
741             recommended.</para>
742           </listitem>
743         </varlistentry>
744
745         <varlistentry>
746           <term><option>NatThreshold</option>
747           <replaceable>0.1</replaceable>-<replaceable>1.0</replaceable></term>
748
749           <listitem>
750             <para>In a large mesh network, several gateways may announce HNA
751             0/0 which basically says <quote>Internet here</quote>. Because
752             most Internet gateways offer their service using a translated
753             globally valid IP (NAT), switching the current gateway terminates
754             all running NATted connections. In other words: if you live
755             between 2 Internet gateways and start download, the download may
756             block some OLSR packets. The download will stop because this
757             triggers a route change - especially if you do not use traffic
758             shaping to prioritize OLSR packets. This setting introduces a
759             threshold to stop switching the default gateway on minor LQ/ETX
760             changes if another (NATted) gateway is to be used. As a trade off,
761             this may introduce routing loops or selects a bad gateway if the
762             threshold is too low. Defaults to <replaceable>1.0</replaceable>
763             (inactive).</para>
764           </listitem>
765         </varlistentry>
766
767         <varlistentry>
768           <term><option>NicChgsPollInt</option>
769           <replaceable>0.1</replaceable>-<replaceable>100.0</replaceable></term>
770
771           <listitem>
772             <para>This option sets the interval, in seconds, that olsrd will
773             check the configured interfaces for changes in configuration.
774             Defaults to <replaceable>2.5</replaceable>.</para>
775           </listitem>
776         </varlistentry>
777
778         <varlistentry>
779           <term><option>Pollrate</option>
780           <replaceable>0.1</replaceable>-<replaceable>10.0</replaceable></term>
781
782           <listitem>
783             <para>This option sets the sleep interval, in seconds. While
784             polling the interfaces, the olsrd scheduler will sleep for this
785             time if no packets are to be received. If the value is set too
786             high for the current UDP receive buffer size, packet loss will
787             occur. Note, that the current olsrd implementation internally
788             calculates timing values in milliseconds (1/1000s). Defaults to
789             <replaceable>0.1</replaceable>.</para>
790           </listitem>
791         </varlistentry>
792
793         <varlistentry>
794           <term><option>RtProto</option>
795           <replaceable>0</replaceable>-<replaceable>255</replaceable></term>
796
797           <listitem>
798             <para>This setting configures the routing protocol ID to be used
799             when setting routes via rtnetlink, see RTNETLINK(7) for the
800             <emphasis>rtm_protocol</emphasis> keyword. Defaults to
801             <replaceable>3</replaceable>.</para>
802           </listitem>
803         </varlistentry>
804
805         <varlistentry>
806           <term><option>RtTableDefault</option>
807           <replaceable>0</replaceable>|<replaceable>1</replaceable>-<replaceable>254</replaceable></term>
808
809           <listitem>
810             <para>Defines the routing table for inserting a new default route.
811             Defaults to <replaceable>0</replaceable> (use
812             <option>RtTable</option>)</para>
813           </listitem>
814         </varlistentry>
815
816         <varlistentry>
817           <term><option>RtTable</option>
818           <replaceable>1</replaceable>-<replaceable>254</replaceable></term>
819
820           <listitem>
821             <para>With Linux and BSD, more than one routing table exist in the
822             system. Together with a rules set that determines which table
823             handles what packets, these system functions are called
824             <quote>iproute2</quote> or <quote>Policy Routing</quote>. You may
825             want to read the <ulink url="http://lartc.org/">Linux Advanced
826             Routing &amp; Traffic Control</ulink> for details. Defaults to
827             <replaceable>254</replaceable> (or <quote>main</quote>, see
828             <filename>/etc/iproute2/rt_tables</filename>)</para>
829           </listitem>
830         </varlistentry>
831
832         <varlistentry>
833           <term><option>TcRedundancy</option>
834           <replaceable>0</replaceable>|<replaceable>1</replaceable>|<replaceable>2</replaceable></term>
835
836           <listitem>
837             <para>This value controls the TC redundancy used by the local node
838             in TC message generation. To enable a more robust understanding of
839             the topology, nodes can be set to announce more than just their
840             MPR selector set in TC messages. If set to
841             <replaceable>0</replaceable>, the advertised link set of the node
842             is limited to the MPR selectors. If set to
843             <replaceable>1</replaceable>, the advertised link set of the node
844             is the union of its MPR set and its MPR selector set. If set to
845             <replaceable>2</replaceable>, the advertised link set of the node
846             is the full symmetric neighbor set of the node. Defaults to
847             <replaceable>0</replaceable>.</para>
848           </listitem>
849         </varlistentry>
850
851         <varlistentry>
852           <term><option>TosValue</option>
853           <replaceable>0</replaceable>-<replaceable>16</replaceable></term>
854
855           <listitem>
856             <para>This value controls the type of service value to set in the
857             IP header of OLSR control traffic. Defaults to
858             <replaceable>16</replaceable>.</para>
859           </listitem>
860         </varlistentry>
861
862         <varlistentry>
863           <term><option>Willingness</option>
864           <replaceable>0</replaceable>-<replaceable>7</replaceable></term>
865
866           <listitem>
867             <para>Nodes participating in an OLSR routed network will announce
868             their willingness to act as relays for OLSR control traffic for
869             their neighbors (MPR). This option specifies a fixed willingness
870             value to be announced by the local node.
871             <replaceable>4</replaceable> is a neutral option here, while
872             <replaceable>0</replaceable> specifies that this node will never
873             act as a relay, and <replaceable>7</replaceable> specifies that
874             this node will always act as such a relay. If this option is unset
875             in the configuration file, then olsrd will try to retrieve
876             information about the system power and dynamically update
877             willingness according to this info. If no such info can be
878             retrieved willingness is set to
879             <replaceable>4</replaceable>.</para>
880           </listitem>
881         </varlistentry>
882       </variablelist>
883     </refsect1>
884
885     <refsect1>
886       <title>Option Blocks</title>
887
888       <para>Option blocks are configuration options that holds a body of
889       sub-options encapsulated in curled braces <quote>{...}</quote>. Valid
890       options are:</para>
891
892       <variablelist>
893         <varlistentry>
894           <term><option>IpcConnect { <replaceable>sub-options</replaceable>
895           }</option></term>
896
897           <listitem>
898             <para>Olsrd can allow processes to make a TCP connection to itself
899             on which data regarding the topology will be transmitted. This is
900             typically used by GUI applications to provide a user-friendly
901             front-end to olsrd. This option block controls the IPC access. Sub
902             options are:</para>
903
904             <variablelist>
905               <varlistentry>
906                 <term><option>MaxConnections</option>
907                 <replaceable>0</replaceable>-<replaceable>5</replaceable></term>
908
909                 <listitem>
910                   <para>This option specifies how many connections that can
911                   exist simultaneously. Multiple connections have not been
912                   tested, and probably do not work! This option should only be
913                   used to control whether or not processes can connect to
914                   olsrd by setting it either to <replaceable>0</replaceable>,
915                   which will tell olsrd not to allow any connections, or by
916                   setting it to a positive value. Defaults to
917                   <replaceable>0</replaceable>.</para>
918                 </listitem>
919               </varlistentry>
920
921               <varlistentry>
922                 <term><option>Host</option>
923                 <replaceable>ipaddr</replaceable></term>
924
925                 <listitem>
926                   <para>This option specifies a single host that is allowed to
927                   connect to olsrd. By default only the loopback address
928                   (127.0.0.1) is allowed to access. If you want to be able to
929                   connect from another host, you should add that IP address.
930                   You may add multiple hosts.</para>
931                 </listitem>
932               </varlistentry>
933
934               <varlistentry>
935                 <term><option>Net</option> <replaceable>ipaddr</replaceable>
936                 <replaceable>netmask</replaceable>|<replaceable>prefix</replaceable></term>
937
938                 <listitem>
939                   <para>You can specify a net range of IP addresses which
940                   olsrd will allow TCP connections from. Besides the IP
941                   address, you need to specify a netmask for IPv4 and a prefix
942                   for IPv6. You may add multiple networks.</para>
943                 </listitem>
944               </varlistentry>
945             </variablelist>
946           </listitem>
947         </varlistentry>
948
949         <varlistentry>
950           <term><option>Hna4 { <replaceable>sub-options</replaceable>
951           }</option></term>
952
953           <listitem>
954             <para>Hosts in a routed network can announce connectivity to
955             external networks or hosts using HNA messages. This option block
956             is used to set the IPv4 networks or hosts to be announced. Sub
957             options are:</para>
958
959             <variablelist>
960               <varlistentry>
961                 <term><replaceable>IPv4-address</replaceable>
962                 <replaceable>IPv4-netmask</replaceable></term>
963
964                 <listitem>
965                   <para>Specifies an IPv4 network or host to be announced via
966                   HNA messages. Multiple entries can be added. To announce
967                   Internet connectivity, add
968                   <replaceable>0.0.0.0</replaceable>
969                   <replaceable>0.0.0.0</replaceable>. To announce a single
970                   host, add <replaceable>ipaddr</replaceable>
971                   <replaceable>255.255.255.255</replaceable>.</para>
972                 </listitem>
973               </varlistentry>
974             </variablelist>
975           </listitem>
976         </varlistentry>
977
978         <varlistentry>
979           <term><option>Hna6 { <replaceable>sub-options</replaceable>
980           }</option></term>
981
982           <listitem>
983             <para>Hosts in a routed network can announce connectivity to
984             external networks or hosts using HNA messages. This option block
985             is used to set the IPv6 networks or hosts to be announced. Sub
986             options are:</para>
987
988             <variablelist>
989               <varlistentry>
990                 <term><replaceable>IPv6-address</replaceable> 0-48</term>
991
992                 <listitem>
993                   <para>Specifies an IPv6 network or host to be announced via
994                   HNA messages. Multiple entries can be added. To announce
995                   Internet connectivity, add <replaceable>::</replaceable>
996                   <replaceable>0</replaceable> . To announce a single host,
997                   add <replaceable>ipaddr</replaceable>
998                   <replaceable>48</replaceable>.</para>
999                 </listitem>
1000               </varlistentry>
1001             </variablelist>
1002           </listitem>
1003         </varlistentry>
1004
1005         <varlistentry>
1006           <term><option>LoadPlugin
1007           "<replaceable>plugin-filename</replaceable>" {
1008           <replaceable>sub-options</replaceable> }</option></term>
1009
1010           <listitem>
1011             <para>Specifies a plugin that olsrd should load at startup. You
1012             need to specify the filename for the shared object file
1013             (<filename>*.so</filename> on Linux and <filename>*.dll</filename>
1014             on Windows). Read the <filename>README</filename> in the plugin's
1015             source directory<!-- or refer the <xref
1016             endterm="olsrd_conf_5_plugins-title"
1017             linkend="olsrd_conf_5_plugins" /> section below-->. This option
1018             block can be repeated to add multiple plugins. Sub options
1019             are:</para>
1020
1021             <variablelist>
1022               <varlistentry>
1023                 <term><option>PlParam</option>
1024                 "<replaceable>key</replaceable>"
1025                 <replaceable>value</replaceable></term>
1026
1027                 <listitem>
1028                   <para>Sends a pair of parameters to the plugin at
1029                   initialization. Consult individual plugin documentation for
1030                   possible parameters.</para>
1031                 </listitem>
1032               </varlistentry>
1033             </variablelist>
1034           </listitem>
1035         </varlistentry>
1036
1037         <varlistentry>
1038           <term><option>Interface "<replaceable>interface1</replaceable>"
1039           "<replaceable>interface2...</replaceable>" {
1040           <replaceable>sub-options</replaceable> }</option></term>
1041
1042           <listitem>
1043             <para>This option block specifies one or more network interfaces
1044             on which olsrd should run. At least one network interface block
1045             must be specified for olsrd to run. Various parameters can be
1046             specified on individual interfaces or groups of interfaces. This
1047             option block can be repeated to add multiple interface
1048             configurations. Sub options are:</para>
1049
1050             <variablelist>
1051               <varlistentry>
1052                 <term><option>AutoDetectChanges</option>
1053                 <replaceable>yes</replaceable>|<replaceable>no</replaceable></term>
1054
1055                 <listitem>
1056                   <para>Olsrd can auto detect changes in interface
1057                   configurations by polling on the interval set by
1058                   <option>NicChgsPollInt</option>. This is enabled by default
1059                   but can be turned off per interface to save CPU
1060                   cycles.</para>
1061                 </listitem>
1062               </varlistentry>
1063
1064               <varlistentry>
1065                 <term><option>Ip4Broadcast</option>
1066                 <replaceable>IPv4-address</replaceable></term>
1067
1068                 <listitem>
1069                   <para>Forces the given IPv4 broadcast address to be used as
1070                   destination address for all outgoing OLSR traffic on the
1071                   interface. If your mesh uses several IP address ranges, the
1072                   global broadcast address
1073                   <replaceable>255.255.255.255</replaceable> can be used. If
1074                   you use a point-to-point link (e.g. a tun-type VPN tunnel),
1075                   you may configure the neighbours IP address. If this option
1076                   is unset, the broadcast address of the interface will be
1077                   used. In this case, the broadcast address will be updated
1078                   during run-time if a change is detected.</para>
1079                 </listitem>
1080               </varlistentry>
1081
1082               <varlistentry>
1083                 <term><option>Ip6AddrType</option>
1084                 <replaceable>site-local</replaceable>|<replaceable>unique-local</replaceable>|<replaceable>global</replaceable></term>
1085
1086                 <listitem>
1087                   <para>This option sets the IPv6 address type to be used for
1088                   interface address detection. Defaults to
1089                   <replaceable>site-local</replaceable>.</para>
1090                 </listitem>
1091               </varlistentry>
1092
1093               <varlistentry>
1094                 <term><option>Ip6MulticastSite</option>
1095                 <replaceable>IPv6-address</replaceable></term>
1096
1097                 <listitem>
1098                   <para>If <option>Ip6AddrType</option> is set to
1099                   <replaceable>site-local</replaceable>, this setting forces
1100                   the given IPv6 broadcast address to be used as destination
1101                   address for all outgoing OLSR traffic on the interface.
1102                   .</para>
1103                 </listitem>
1104               </varlistentry>
1105
1106               <varlistentry>
1107                 <term><option>Ip6MulticastGlobal</option>
1108                 <replaceable>IPv6-address</replaceable></term>
1109
1110                 <listitem>
1111                   <para>If <option>Ip6AddrType</option> is set to
1112                   <replaceable>global</replaceable>, this setting forces the
1113                   given IPv6 broadcast address to be used as destination
1114                   address for all outgoing OLSR traffic on the interface.
1115                   .</para>
1116                 </listitem>
1117               </varlistentry>
1118
1119               <varlistentry>
1120                 <term><option>HelloInterval</option>
1121                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1122
1123                 <listitem>
1124                   <para>Sets the interval on which HELLO (RFC-mode) or
1125                   LQ_HELLO (LQ/ETX-mode) messages will be generated and
1126                   transmitted on the interface. Note, that HELLO messages are
1127                   used to detect neighbours and determine symmetric
1128                   (bi-directional) links. These messages also include the
1129                   current neighbour information and always have a TTL of 1
1130                   which prevents any forwarding.</para>
1131                 </listitem>
1132               </varlistentry>
1133
1134               <varlistentry>
1135                 <term><option>HelloValidityTime</option>
1136                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1137
1138                 <listitem>
1139                   <para>Sets the validity time to be announced in HELLO or
1140                   LQ_HELLO messages transmitted on the interface. This value
1141                   must be larger than <option>HelloInterval</option>.</para>
1142                 </listitem>
1143               </varlistentry>
1144
1145               <varlistentry>
1146                 <term><option>TcInterval</option>
1147                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1148
1149                 <listitem>
1150                   <para>Sets the interval on which TC (RFC-mode) or LQ_TC
1151                   (LQ/ETX-mode) messages will be generated and transmitted on
1152                   the interface. Note, that TC (Topology Control) messages are
1153                   use to spread topology information. These messages also
1154                   include the current neighbour information and normally have
1155                   a TTL larger than 1 to spread them in the mesh network. TC
1156                   or LQ_TC messages may be forwarded delayed to support packet
1157                   aggregation. If the <option>LinkQualityFishEye</option>
1158                   option is enabled, the TTL for these messages is varied to
1159                   faster distribute topology information in the near
1160                   neighbourhood.</para>
1161                 </listitem>
1162               </varlistentry>
1163
1164               <varlistentry>
1165                 <term><option>TcValidityTime</option>
1166                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1167
1168                 <listitem>
1169                   <para>Sets the validity time to be announced in TC or LQ_TC
1170                   messages transmitted on the interface. This value must be
1171                   larger than <option>TcInterval</option>.</para>
1172                 </listitem>
1173               </varlistentry>
1174
1175               <varlistentry>
1176                 <term><option>MidInterval</option>
1177                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1178
1179                 <listitem>
1180                   <para>Sets the interval on which MID messages will be
1181                   generated and transmitted on the interface. Note, that MID
1182                   messages spread alias information and will be emitted only
1183                   by nodes with more than one olsrd interface.</para>
1184                 </listitem>
1185               </varlistentry>
1186
1187               <varlistentry>
1188                 <term><option>MidValidityTime</option>
1189                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1190
1191                 <listitem>
1192                   <para>Sets the validity time to be announced in MID messages
1193                   transmitted on the interface. This value must be larger than
1194                   <option>MidInterval</option>.</para>
1195                 </listitem>
1196               </varlistentry>
1197
1198               <varlistentry>
1199                 <term><option>HnaInterval</option>
1200                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1201
1202                 <listitem>
1203                   <para>Sets the interval on which HNA messages will be
1204                   generated and transmitted on the interface. Note, that HNA
1205                   messages spread gateway information and will be emitted only
1206                   by nodes for which the <option>Hna4</option> or
1207                   <option>Hna6</option> option is configured.</para>
1208                 </listitem>
1209               </varlistentry>
1210
1211               <varlistentry>
1212                 <term><option>HnaValidityTime</option>
1213                 <replaceable>0.0</replaceable>-<replaceable>3968.0</replaceable></term>
1214
1215                 <listitem>
1216                   <para>Sets the validity time to be announced in HNA messages
1217                   transmitted on the interface. This value must be larger than
1218                   <option>HnaInterval</option>.</para>
1219                 </listitem>
1220               </varlistentry>
1221
1222               <varlistentry>
1223                 <term><option>Weight</option>
1224                 <replaceable>0</replaceable>-<replaceable>[maxint]</replaceable></term>
1225
1226                 <listitem>
1227                   <para>When multiple links exist between hosts, the
1228                   <emphasis>weight</emphasis> of the interface is used to
1229                   determine the link to route by. Normally the
1230                   <emphasis>weight</emphasis> is automatically calculated by
1231                   olsrd based on the characteristics of the interface, but
1232                   here you can specify a fixed value. Olsrd will choose links
1233                   with the lowest <emphasis>weight</emphasis> value.</para>
1234                 </listitem>
1235               </varlistentry>
1236
1237               <varlistentry>
1238                 <term><option>LinkQualityMult</option>
1239                 <replaceable>default</replaceable>|<replaceable>neighbour-ipaddr</replaceable>
1240                 <replaceable>0.1</replaceable>-<replaceable>1.0</replaceable></term>
1241
1242                 <listitem>
1243                   <para>When using olsrd in LQ/ETX-mode, the neighbour link
1244                   cost is calculated based on packet loss or hello message
1245                   loss (see <option>LinkQualityAlgorithm</option> option).
1246                   Because the applied measurement may not reflect the
1247                   real-live connection quality and link speed, this setting
1248                   allows you to manually fine-tune the measurement results.
1249                   You can add one or more <option>LinkQualityMult</option>
1250                   options and correlate the IP address of a neighbour with a
1251                   multiplication factor. This setting only allows you to
1252                   determine bad links, e.g. a factor of
1253                   <replaceable>0.5</replaceable> basically says: <quote>this
1254                   link is only half as good as the packet loss may
1255                   indicate</quote>. For this reason, the
1256                   <replaceable>default</replaceable> keyword can be used to
1257                   lower all ETX/LQ values with a lower factor. You then define
1258                   better links by adding further entries with known IP
1259                   addresses and a higher factor.</para>
1260
1261                   <para><emphasis role="strong">Note</emphasis>: While
1262                   switching routes generally is not harmful, people tend to
1263                   fiddle with the <option>LinkQualityMult</option> setting
1264                   only because their automatically selected Internet gateway
1265                   changes. This is a bad habit, because it disturbs the ETX/LQ
1266                   measurement and leads to sub-optimal routes. Try using the
1267                   <option>NatThreshold</option> option instead. Another option
1268                   is manual gateway selection either by automatic tunneling or
1269                   by using a VPN technique.</para>
1270                 </listitem>
1271               </varlistentry>
1272             </variablelist>
1273           </listitem>
1274         </varlistentry>
1275       </variablelist>
1276     </refsect1>
1277
1278     <!--refsect1 id="olsrd_conf_5_plugins">
1279       <title id="olsrd_conf_5_plugins-title">Plugins</title>
1280
1281       <para>tbd...</para>
1282     </refsect1-->
1283
1284     <refsect1>
1285       <title>Misc</title>
1286
1287       <para>The homepage of olsrd is <ulink
1288       url="http://www.olsr.org">http://www.olsr.org</ulink></para>
1289     </refsect1>
1290
1291     <refsect1>
1292       <title>Files</title>
1293
1294       <para><filename>/etc/olsrd.conf</filename></para>
1295     </refsect1>
1296
1297     <refsect1>
1298       <title>See Also</title>
1299
1300       <simplelist type="inline">
1301         <member><xref endterm="olsrd_8-title" linkend="olsrd_8" /></member>
1302       </simplelist>
1303     </refsect1>
1304   </refentry>
1305
1306   <refentry id="olsr_switch_8">
1307     <indexterm>
1308       <primary><command>olsr_switch</command></primary>
1309     </indexterm>
1310
1311     <refentryinfo>
1312       <titleabbrev>Olsrd Network Simulator</titleabbrev>
1313     </refentryinfo>
1314
1315     <refmeta>
1316       <refentrytitle id="olsr_switch_8-title">olsr_switch</refentrytitle>
1317
1318       <manvolnum>8</manvolnum>
1319     </refmeta>
1320
1321     <refnamediv>
1322       <refname>olsr_switch</refname>
1323
1324       <refpurpose>olsrd network simulator</refpurpose>
1325     </refnamediv>
1326
1327     <refsynopsisdiv>
1328       <cmdsynopsis>
1329         <command>olsr_switch</command>
1330
1331         <arg>-foo <replaceable>foo</replaceable></arg>
1332
1333         <arg>-bar <replaceable>bar</replaceable></arg>
1334       </cmdsynopsis>
1335     </refsynopsisdiv>
1336
1337     <refsect1>
1338       <title>Description</title>
1339
1340       <para><command>olsr_switch</command> is an implementation of the
1341       Optimized Link State Routing protocol for Mobile Ad-Hoc networks
1342       (MANET). The protocol is described in RFC3626. It is designed to be run
1343       as a standalone server process - but as it is still in an experimental
1344       stage most users will prefer running it with some debug output which is
1345       directed to STDOUT.</para>
1346
1347       <para>This manual page only lists the command line arguments. For
1348       details of the configuration file see the comments included in
1349       <filename>/etc/olsrd.conf</filename>. Note that none of these options
1350       need to be set at the command line - all these options and others can be
1351       set in the configuration file.</para>
1352
1353       <para>The homepage of olsrd is <ulink
1354       url="http://www.olsr.org">http://www.olsr.org</ulink></para>
1355     </refsect1>
1356
1357     <refsect1>
1358       <title>Options</title>
1359
1360       <variablelist>
1361         <varlistentry>
1362           <term><option>-foo <replaceable>foo</replaceable></option></term>
1363
1364           <listitem>
1365             <para>This option specifies on what network interfaces olsrd
1366             should run. These interfaces cannot be aliased interfaces such as
1367             eth0:1.</para>
1368           </listitem>
1369         </varlistentry>
1370
1371         <varlistentry>
1372           <term><option>-bar <replaceable>bar</replaceable></option></term>
1373
1374           <listitem>
1375             <para>This option overrides the default configuration file path
1376             used by olsrd - <filename>/etc/olsrd.conf</filename></para>
1377           </listitem>
1378         </varlistentry>
1379       </variablelist>
1380     </refsect1>
1381
1382     <refsect1>
1383       <title>Files</title>
1384
1385       <para><filename>/etc/olsrd.conf</filename></para>
1386     </refsect1>
1387
1388     <refsect1>
1389       <title>See also</title>
1390
1391       <simplelist type="inline">
1392         <member><xref endterm="olsrd_8-title" linkend="olsrd_8" /></member>
1393
1394         <member><xref endterm="olsrd_conf_5-title"
1395         linkend="olsrd_conf_5" /></member>
1396       </simplelist>
1397     </refsect1>
1398   </refentry>
1399 </article>