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