doc: completed man pages by adding plugins to olsrd.conf(5)
authorSven-Ola Tuecke <sven-ola@gmx.de>
Thu, 25 Dec 2008 08:31:46 +0000 (09:31 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Thu, 25 Dec 2008 08:31:46 +0000 (09:31 +0100)
files/olsr_switch.8.gz
files/olsrd-manpages.xml
files/olsrd.8.gz
files/olsrd.conf.5.gz

index 44a5e2c..fe4c053 100644 (file)
Binary files a/files/olsr_switch.8.gz and b/files/olsr_switch.8.gz differ
index a0f8cc4..ff5ff0e 100644 (file)
     </copyright>
 
     <abstract>
-      <para>Source for olsrd man pages</para>
+      <para>Source for <productname>olsrd</productname> man pages</para>
     </abstract>
   </articleinfo>
 
   <para>This document contains sources for man pages. They where converted
   from the original man page files which are maintained by Andreas T√łnnesen
-  until 2005. Because the 0.5.7 version of olsrd introduces several
-  configuration changes and removes old configuration options, a re-write was
-  necessary in late 2008.</para>
+  until 2005. Because the 0.5.7 version of <productname>olsrd</productname>
+  introduces several configuration changes and removes old configuration
+  options, a re-write was necessary in late 2008.</para>
 
   <para>To process this file and convert the included man pages, use the
   <ulink url="http://docbook2x.sourceforge.net/">docbook2X</ulink> tool
 
   <refentry id="olsrd_8">
     <indexterm>
-      <primary><command>olsrd</command></primary>
+      <primary><productname>olsrd</productname></primary>
     </indexterm>
 
     <refentryinfo>
-      <titleabbrev><command>olsrd</command> Optimized Link State Routing
-      Protocol Daemon</titleabbrev>
+      <titleabbrev><productname>olsrd</productname> Optimized Link State
+      Routing Protocol Daemon</titleabbrev>
     </refentryinfo>
 
     <refmeta>
     </refmeta>
 
     <refnamediv>
-      <refname><command>olsrd</command></refname>
+      <refname>olsrd</refname>
 
       <refpurpose>Optimized Link State Routing protocol daemon</refpurpose>
     </refnamediv>
 
     <refsynopsisdiv>
-      <cmdsynopsis>
-        <command>olsrd</command>
-
-        <group>
-          <arg>-h</arg>
+      <para><cmdsynopsis>
+          <command>olsrd</command>
 
-          <arg>--help</arg>
-        </group>
+          <group>
+            <arg>-h</arg>
 
-        <group>
-          <arg>-v</arg>
+            <arg>--help</arg>
+          </group>
 
-          <arg>--version</arg>
-        </group>
+          <group>
+            <arg>-v</arg>
 
-        <group choice="req">
-          <arg>-f</arg>
+            <arg>--version</arg>
+          </group>
 
-          <arg>--config</arg>
+          <group choice="req">
+            <arg>-f</arg>
 
-          <replaceable>configfile</replaceable>
-        </group>
+            <arg>--config</arg>
 
-        <group choice="req">
-          <arg>-d</arg>
+            <replaceable> configfile</replaceable>
+          </group>
 
-          <arg>--DebugLevel</arg>
+          <group choice="req">
+            <arg>-d</arg>
 
-          <replaceable>level</replaceable>
-        </group>
+            <arg>--DebugLevel</arg>
 
-        <group>
-          <arg>-n</arg>
+            <replaceable> level</replaceable>
+          </group>
 
-          <arg>--nofork</arg>
-        </group>
+          <group>
+            <arg>-n</arg>
 
-        <group>
-          <arg>-X</arg>
+            <arg>--nofork</arg>
+          </group>
 
-          <arg>--dispin</arg>
-        </group>
+          <group>
+            <arg>-X</arg>
 
-        <group>
-          <arg>-O</arg>
+            <arg>--dispin</arg>
+          </group>
 
-          <arg>--dispout</arg>
-        </group>
+          <group>
+            <arg>-O</arg>
 
-        <group>
-          <arg>-D</arg>
+            <arg>--dispout</arg>
+          </group>
 
-          <arg>--delgw</arg>
-        </group>
+          <group>
+            <arg>-D</arg>
 
-        <group>
-          <arg>-P</arg>
+            <arg>--delgw</arg>
+          </group>
 
-          <arg>--ipc</arg>
-        </group>
+          <group>
+            <arg>-P</arg>
 
-        <group choice="req">
-          <arg>-H</arg>
+            <arg>--ipc</arg>
+          </group>
 
-          <arg>--hemu</arg>
+          <group choice="req">
+            <arg>-H</arg>
 
-          <replaceable>ipaddr</replaceable>
-        </group>
+            <arg>--hemu</arg>
 
-        <arg>interface1</arg>
-
-        <arg rep="repeat">interface2</arg>
-      </cmdsynopsis>
+            <replaceable> ipaddr</replaceable>
+          </group>
 
-      <para></para>
+          <arg>interface1</arg>
 
-      <!--Sorry for two empty paras, but I want the note properly aligned.-->
-
-      <para></para>
+          <arg rep="repeat">interface2</arg>
+        </cmdsynopsis></para>
 
       <para><emphasis role="strong">Note</emphasis>: Only if
-      <command>olsrd</command> is started without arguments, the default
-      config file is loaded - which is usually
+      <productname>olsrd</productname> is started without arguments, the
+      default config file is loaded - which is usually
       <filename>/etc/olsrd.conf</filename> or
       <filename>/usr/local/etc/olsrd.conf</filename>.</para>
     </refsynopsisdiv>
     <refsect1>
       <title>Description</title>
 
-      <para><command>olsrd</command> is an implementation of the
-      <emphasis>O</emphasis>ptimized <emphasis>L</emphasis>ink
+      <para>The <productname>olsrd</productname> daemon is an implementation
+      of the <emphasis>O</emphasis>ptimized <emphasis>L</emphasis>ink
       <emphasis>S</emphasis>tate <emphasis>R</emphasis>outing protocol (OLSR)
       for <emphasis>M</emphasis>obile <emphasis>A</emphasis>d-hoc
       <emphasis>NET</emphasis>works (MANETs). The protocol is described in
       initially developed by the c-base community in Berlin and extended by
       the Funkfeuer community in Vienna. This alternative routing scheme uses
       non-standard messages and is therefore incompatible to standard OLSR as
-      it's described in the RFC. To switch back to RFC-mode, you need to
-      enable a (currently unavailable) metrics plug in using the
-      <option>--LinkQualityAlgorithm</option> option (see <xref
+      it is described in the RFC. To switch back to RFC-mode, you need to
+      enable a (currently unavailable) metrics plugin using the
+      <option>LinkQualityAlgorithm</option> option (see <xref
       endterm="olsrd_conf_5-title" linkend="olsrd_conf_5" />).</para>
 
-      <para>The home page of olsrd is <ulink
+      <para>The home page of <productname>olsrd</productname> is <ulink
       url="http://www.olsr.org">http://www.olsr.org</ulink></para>
     </refsect1>
 
       <title>Getting Started</title>
 
       <para>Running and maintaining a larger mesh network is a complex task.
-      Nevertheless, you may simply want to test olsrd. If you have at least 3
-      devices, all equipped with a Wifi card, the following short list of
-      steps may help.</para>
+      Nevertheless, you may simply want to test
+      <productname>olsrd</productname>. If you have at least 3 devices, all
+      equipped with a WLAN card, the following short list of steps may
+      help.</para>
 
       <orderedlist>
         <listitem>
-          <para>Set up the necessary connectivity. Configure all Wifi cards to
+          <para>Set up the necessary connectivity. Configure all WLAN cards to
           Ad hoc (IBSS) or similar, use same ESSID and channel setting. All
-          Wifi cards need to use a fixed IP in the same IP address range (e.g.
+          WLAN cards need to use a fixed IP in the same IP address range (e.g.
           10.0.0.0/8). Verify, that the interfaces are configured with the
           correct broadcast address. Otherwise you will experience ARP lookups
-          on the broadcast address when running olsrd. Also stop any
-          firewalling and enable forwarding. Test the connectivity by using
-          the <command>ping</command> command. Remember: olsrd is a layer 3
-          routing daemon and therefore simply is not responsible for any layer
-          2 problems. No ping - no routes.</para>
+          on the broadcast address when running
+          <productname>olsrd</productname>. Also stop any firewalling and
+          enable forwarding. Test the connectivity by using the
+          <command>ping</command> command. Remember:
+          <productname>olsrd</productname> is a layer 3 routing daemon and
+          therefore simply is not responsible for any layer 2 problems. No
+          ping - no routes.</para>
         </listitem>
 
         <listitem>
-          <para>Install olsrd on every device. This is different for several
-          supported operating systems:</para>
+          <para>Install <productname>olsrd</productname> on every device. This
+          is different for several supported operating systems:</para>
 
           <variablelist>
             <varlistentry>
                 build_all</command>. Do <command>sudo make
                 install_all</command>. Edit the
                 <filename>/usr/local/etc/olsrd.conf</filename> file and change
-                at least the <option>Interface</option> section for your Wifi
+                at least the <option>Interface</option> section for your WLAN
                 card. You may also want to enable the httpinfo plugin. Start
                 with <command>olsrd -f /usr/local/etc/olsrd.conf -d
                 1</command>.</para>
                 <command>make</command> commands which changes the
                 installation pathes to <filename>/etc</filename>,
                 <filename>/usr/sbin</filename>, and
-                <filename>/usr/lib</filename> as it's the default with
-                previous olsrd versions.</para>
+                <filename>/usr/lib</filename> as it is the default with
+                previous <productname>olsrd</productname> versions.</para>
               </listitem>
             </varlistentry>
 
 
               <listitem>
                 <para>Download the Windows installer. Install and run the
-                <filename>Switch.exe</filename> GUI as admin. Select the Wifi
+                <filename>Switch.exe</filename> GUI as admin. Select the WLAN
                 card and de-select any other interface offered. Click the
                 <guibutton>Start</guibutton> button. Keep in mind: only a user
-                with admin rights can change the system's routing table. Any
-                active firewall solution may disturb the cooperative sharing
-                required with meshing, while a personal operating system is
-                not meant for sharing.</para>
+                with admin rights can change the routing table. Because a
+                personal operating system is optimize to give you a maximum of
+                security and convenience. As a consequence, it does not
+                support cooperation too well. To cooperate, disable at least
+                any active firewall solution on the WLAN card to enable
+                forwarding for others. For security, disable all protocols and
+                services for the WLAN card with the exception of basic TCP/IP.
+                </para>
               </listitem>
             </varlistentry>
 
               <listitem>
                 <para>Your mileage may vary with different embedded firmwares
                 and operating systems. You may flash the Freifunk Firmware.
-                DD-WRT has olsrd support. OpenWrt comes with a pre-compiled
-                binary for olsrd. There's an ongoing OpenWrt/Kamikaze project
-                with olsrd named ffluci. Installation and configuration is
-                different for those Linux flavours - be sure to read their
-                docs or online help files.</para>
+                DD-WRT has <productname>olsrd</productname> support. OpenWrt
+                comes with a pre-compiled binary for
+                <productname>olsrd</productname>. There is an ongoing
+                OpenWrt/Kamikaze project with <productname>olsrd</productname>
+                named ffluci. Installation and configuration is different for
+                those Linux flavours - be sure to read their docs or online
+                help files.</para>
               </listitem>
             </varlistentry>
           </variablelist>
         </listitem>
 
         <listitem>
-          <para>If olsrd detects the correct topology as well as
-          installs/removes routes matching that topology, you may offer
-          Internet on one of your devices. Either enable a manual <quote>HNA {
-          0.0.0.0 0.0.0.0 }</quote> in the configuration file or use the
-          dyn_gw or dyn_gw_plain plugins. For most Internet connections, you
-          need to enable NAT/MASQUERADING to translate the private IP adresses
-          to the globally valid IP address on the Internet gateway
-          device.</para>
+          <para>If <productname>olsrd</productname> detects the correct
+          topology as well as installs/removes routes matching that topology,
+          you may offer Internet on one of your devices. Either enable a
+          manual <quote>HNA { 0.0.0.0 0.0.0.0 }</quote> in the configuration
+          file or use the dyn_gw or dyn_gw_plain plugins. For most Internet
+          connections, you need to enable NAT/MASQUERADING to translate the
+          private IP addresses to the globally valid IP address on the
+          Internet gateway device.</para>
         </listitem>
 
         <listitem>
           query information from the httpinfo plugin. Use
           <command>wireshark</command> or <command>tcpdump -ni [iface] udp and
           port 698</command> to verify OLSR messaging. Take special care for
-          the Wifi cards in Ad hoc / IBSS mode: typical driver/card
+          the WLAN cards in Ad hoc / IBSS mode: typical driver/card
           combinations tend to disagree about the auto-negotiated BSSID over
           time (also called IBSS-split) which may be solved by using a
           manually configured BSSID.</para>
       replaces the <option>--config</option> option with options acquired in
       from the specified config file. While it is possible to operate using
       only command line options, you may want a config file especially for
-      readability of the larger config options (e.g.
-      <option>--Interface</option> or <option>--LoadPlugin</option>). To
+      readability of the larger config options (e.g. <option>Interface { ...
+      }</option> or <option>LoadPlugin { ... }</option> option blocks). To
       preset a config file setting, add an option before
       <option>--config</option>. To overwrite a config file setting, add an
       option after <option>--config</option>.</para>
 
-      <para>The following list compiles only options frequently specified on
-      the command line. If you use one or more command line options, you
-      normally also have to specify <option>--config</option> for the desired
-      config file.</para>
+      <para>The following list summarizes options frequently specified on the
+      command line. If you use one or more command line options, you normally
+      also have to specify <option>--config</option> for the desired config
+      file.</para>
 
       <variablelist>
         <varlistentry>
 
           <listitem>
             <para>Specifies the amount of debug information to be printed out
-            during operation. If set to 0, <command>olsrd</command> will run
-            in the background.</para>
+            during operation. If set to 0, <productname>olsrd</productname>
+            will run in the background.</para>
           </listitem>
         </varlistentry>
 
           <term><option>-n</option> or <option>--nofork</option></term>
 
           <listitem>
-            <para>This option causes <command>olsrd</command> not to fork into
-            the background, even when started with <option>--DebugLevel
-            0</option>.</para>
+            <para>This option causes <productname>olsrd</productname> not to
+            fork into the background, even when started with
+            <option>--DebugLevel 0</option>.</para>
           </listitem>
         </varlistentry>
 
           <term><option>-X</option> or <option>--dispin</option></term>
 
           <listitem>
-            <para>This option causes <command>olsrd</command> to display all
-            incoming packet data.</para>
+            <para>This option causes <productname>olsrd</productname> to
+            display all incoming packet data.</para>
           </listitem>
         </varlistentry>
 
           <term><option>-O</option> or <option>--dispout</option></term>
 
           <listitem>
-            <para>This option causes <command>olsrd</command> to display all
-            outgoing packet data.</para>
+            <para>This option causes <productname>olsrd</productname> to
+            display all outgoing packet data.</para>
           </listitem>
         </varlistentry>
 
 
           <listitem>
             <para>This option will remove a static default route when
-            <command>olsrd</command> adds an Internet route based on OLSR
-            routing.</para>
+            <productname>olsrd</productname> adds an Internet route based on
+            OLSR routing.</para>
           </listitem>
         </varlistentry>
 
 
           <listitem>
             <para>This option allows the GUI front end to create one
-            connection to <command>olsrd</command> at runtime.</para>
+            connection to <productname>olsrd</productname> at runtime.</para>
           </listitem>
         </varlistentry>
 
 
           <listitem>
             <para>Ignored for compatibility - older versions of
-            <command>olsrd</command> expect one or more interface names after
-            this option (see below).</para>
+            <productname>olsrd</productname> expect one or more interface
+            names after this option (see below).</para>
           </listitem>
         </varlistentry>
 
           <listitem>
             <para>Any character combination without a leading dash is
             interpreted as a list of interfaces. The list specifies on what
-            network interfaces olsrd should run. Only the main IP address of
-            an interface is evaluated, so you cannot specify an interface
-            alias such as eth0:1. Note, that you also cannot change the
-            interface parameters such as intervals and validity times. Use the
-            <option>--Interface</option> option instead.</para>
+            network interfaces <productname>olsrd</productname> should run.
+            Only the main IP address of an interface is evaluated, so you
+            cannot specify an interface alias such as eth0:1. Note, that you
+            also cannot change the interface parameters such as intervals and
+            validity times. Use the <option>Interface { ... }</option> option
+            block instead.</para>
           </listitem>
         </varlistentry>
       </variablelist>
 
   <refentry id="olsrd_conf_5">
     <indexterm>
-      <primary><command>olsrd.conf</command></primary>
+      <primary><filename>olsrd.conf</filename></primary>
     </indexterm>
 
     <refentryinfo>
-      <titleabbrev>Configuration File for Olsrd</titleabbrev>
+      <titleabbrev>Configuration File for
+      <productname>olsrd</productname></titleabbrev>
     </refentryinfo>
 
     <refmeta>
       /usr/local/etc by default. The file contains run-time configuration
       settings for the Optimized Link State Routing daemon <xref
       endterm="olsrd_8-title" linkend="olsrd_8" />. During startup, the
-      <command>olsrd</command> daemon reads in the file. If no command line
-      options are present, the default configuration file is read in.
+      <productname>olsrd</productname> daemon reads in the file. If no command
+      line options are present, the default configuration file is read in.
       Otherwise, the file specified by the <option>-f</option> or
       <option>--config</option> command line option is used. All settings are
       inserted as command line options by prepending a double dash and feeding
-      them to the getopt parser.</para>
-
-      <para><emphasis role="strong">Tip</emphasis>: With earlier versions of
-      <command>olsrd</command>, the configuration parser was offered as stand
-      alone shared library or DLL. With the exception of the Windows GUI
-      program (<command>Switch.exe</command>), this was unused. To optimize
-      file size for embedded devices, the stand-alone configuration parser was
-      discarded.</para>
-
-      <para>The configuration file consists of comments, single options and
-      option blocks.</para>
+      them to the getopt parser. The configuration file consists of comments,
+      single options and option blocks explained below.</para>
+
+      <para><emphasis role="strong">Note</emphasis>: With earlier versions of
+      <productname>olsrd</productname>, the configuration parser was offered
+      as stand alone shared library or DLL. With the exception of the Windows
+      GUI program (<command>Switch.exe</command>), this was unused. To
+      optimize the file size for embedded devices, the stand-alone
+      configuration parser was discarded.</para>
     </refsect1>
 
     <refsect1>
       <title>Comments</title>
 
       <para>Comments are everything following a hash character
-      (<emphasis>#</emphasis>) in a line. This data is discarded. Commenting
-      out an option is an easy way to make olsrd use the default value for
-      that option.</para>
+      (<emphasis>#</emphasis>) on a line. This data is discarded. Commenting
+      out an option is an easy way to make <productname>olsrd</productname>
+      use the default value for that option.</para>
+    </refsect1>
+
+    <refsect1>
+      <title>Option Syntax</title>
+
+      <para>An option starts with a keyword. If the option accepts arguments,
+      separate the keyword and the arguments with one or more space characters
+      (or tabs) on the same line. You can surround arguments with double or
+      single quotes, for example if an argument contains a space
+      character.</para>
     </refsect1>
 
     <refsect1>
           <replaceable>yes</replaceable>|<replaceable>no</replaceable></term>
 
           <listitem>
-            <para>Olsrd supports dynamic configuration of network interfaces.
-            This means that interfaces on which olsrd runs on can be
-            reconfigured and olsrd will update itself with no need to be
-            restarted. Olsrd also supports removal and addition of interfaces
-            in run-time. This option specifies that olsrd should keep running
-            if no network interfaces are available. Defaults to
+            <para><productname>olsrd</productname> supports dynamic
+            configuration of network interfaces. This means that interfaces on
+            which <productname>olsrd</productname> runs on can be reconfigured
+            and <productname>olsrd</productname> will update itself with no
+            need to be restarted. <productname>olsrd</productname> also
+            supports removal and addition of interfaces in run-time. This
+            option specifies that <productname>olsrd</productname> should keep
+            running if no network interfaces are available. Defaults to
             <replaceable>yes</replaceable>.</para>
           </listitem>
         </varlistentry>
           <replaceable>yes</replaceable>|<replaceable>no</replaceable></term>
 
           <listitem>
-            <para>If set to <replaceable>yes</replaceable> and olsrd running
-            with a <option>DebugLevel</option> other that
+            <para>If set to <replaceable>yes</replaceable> and
+            <productname>olsrd</productname> running with a
+            <option>DebugLevel</option> other that
             <replaceable>0</replaceable>, the terminal to which output is sent
             (STDOUT) is cleared prior to writing updated tables. This makes it
             easier to follow changes in real-time.</para>
           <replaceable>0</replaceable>-<replaceable>9</replaceable></term>
 
           <listitem>
-            <para>Controls the amount of debug output olsrd prints out. If set
-            to <replaceable>0</replaceable>, olsrd will detach from the
-            current process and run in the background. A value of
-            <replaceable>9</replaceable> yields a maximum of debug output.
-            Defaults to <replaceable>0</replaceable>.</para>
+            <para>Controls the amount of debug output
+            <productname>olsrd</productname> prints out. If set to
+            <replaceable>0</replaceable>, <productname>olsrd</productname>
+            will detach from the current process and run in the background. A
+            value of <replaceable>9</replaceable> yields a maximum of debug
+            output. Defaults to <replaceable>0</replaceable>.</para>
           </listitem>
         </varlistentry>
 
           <listitem>
             <para>This setting controls how the metric value for kernel routes
             is handled. While analyzing new information of the mesh topology,
-            olsrd may change it's internal routing path to several distant
-            nodes (in hops). If this setting is set to
+            <productname>olsrd</productname> may change the internal routing
+            path to several distant nodes (in hops). If this setting is set to
             <replaceable>flat</replaceable>, kernel routes always have a
             metric of 2. No route update is necessary if the internal routing
             pathes change. If this setting is set to
             number of hops to the destination. This induces frequent routing
             changes in larger meshes. If this setting is set to
             <replaceable>approx</replaceable>, the current hop number is set
-            as a route metric but not updated if olsrd detects a hop number
-            change. Defaults to <replaceable>flat</replaceable>.</para>
+            as a route metric but not updated if
+            <productname>olsrd</productname> detects a hop number change.
+            Defaults to <replaceable>flat</replaceable>.</para>
           </listitem>
         </varlistentry>
 
           <replaceable>4</replaceable>|<replaceable>6</replaceable></term>
 
           <listitem>
-            <para>Olsrd supports both IP versions:
+            <para><productname>olsrd</productname> supports both IP versions:
             <replaceable>4</replaceable> and <replaceable>6</replaceable>.
-            This option controls what IP version olsrd uses. Defaults to
+            This option controls what IP version
+            <productname>olsrd</productname> uses. Defaults to
             <replaceable>4</replaceable>.</para>
           </listitem>
         </varlistentry>
             loss for small packets is much lower than for large packets, these
             algorithms may not discover optimal routes. If set to
             <replaceable>etx_ff</replaceable>, LQ/ETX detection is based on
-            olsrd packet loss as it's the default with previous olsrd
-            versions. Note, that olsrd needs to send large signaling packet
-            for this to work properly, which is only true if you have a larger
-            mesh (&gt;50 nodes). Defaults to
+            OLSR packet loss as it is the default with previous
+            <productname>olsrd</productname> versions. Note, that
+            <productname>olsrd</productname> needs to send large signaling
+            packet for this to work properly, which is only true if you have a
+            larger mesh (&gt;50 nodes). Defaults to
             <replaceable>etx_fpm</replaceable>.</para>
           </listitem>
         </varlistentry>
           <replaceable>0.1</replaceable>-<replaceable>100.0</replaceable></term>
 
           <listitem>
-            <para>This option sets the interval, in seconds, that olsrd will
-            check the configured interfaces for changes in configuration.
-            Defaults to <replaceable>2.5</replaceable>.</para>
+            <para>This option sets the interval, in seconds, that
+            <productname>olsrd</productname> will check the configured
+            interfaces for changes in configuration. Defaults to
+            <replaceable>2.5</replaceable>.</para>
           </listitem>
         </varlistentry>
 
 
           <listitem>
             <para>This option sets the sleep interval, in seconds. While
-            polling the interfaces, the olsrd scheduler will sleep for this
-            time if no packets are to be received. If the value is set too
-            high for the current UDP receive buffer size, packet loss will
-            occur. Note, that the current olsrd implementation internally
+            polling the interfaces, the <productname>olsrd</productname>
+            scheduler will sleep for this time if no packets are to be
+            received. If the value is set too high for the current UDP receive
+            buffer size, packet loss will occur. Note, that the current
+            <productname>olsrd</productname> implementation internally
             calculates timing values in milliseconds (1/1000s). Defaults to
             <replaceable>0.1</replaceable>.</para>
           </listitem>
             <replaceable>0</replaceable> specifies that this node will never
             act as a relay, and <replaceable>7</replaceable> specifies that
             this node will always act as such a relay. If this option is unset
-            in the configuration file, then olsrd will try to retrieve
-            information about the system power and dynamically update
-            willingness according to this info. If no such info can be
-            retrieved willingness is set to
+            in the configuration file, then <productname>olsrd</productname>
+            will try to retrieve information about the system power and
+            dynamically update willingness according to this info. If no such
+            info can be retrieved willingness is set to
             <replaceable>4</replaceable>.</para>
           </listitem>
         </varlistentry>
       </variablelist>
     </refsect1>
 
-    <refsect1>
-      <title>Option Blocks</title>
+    <refsect1 id="olsrd_conf_5_optionblocks">
+      <title id="olsrd_conf_5_optionblocks-title">Option Blocks</title>
 
       <para>Option blocks are configuration options that holds a body of
-      sub-options encapsulated in curled braces <quote>{...}</quote>. Valid
-      options are:</para>
+      sub-options encapsulated in curled braces <quote>{...}</quote>. Note,
+      that you need to separate the keyword and the starting brace with one or
+      more whitespace characters (spaces, tabs, or newlines). Also separate
+      sub-options as well as the closing brace with additional whitespace
+      characters. Valid options are:</para>
 
       <variablelist>
         <varlistentry>
           }</option></term>
 
           <listitem>
-            <para>Olsrd can allow processes to make a TCP connection to itself
-            on which data regarding the topology will be transmitted. This is
-            typically used by GUI applications to provide a user-friendly
-            front-end to olsrd. This option block controls the IPC access. Sub
-            options are:</para>
+            <para><productname>olsrd</productname> can allow processes to make
+            a TCP connection to itself on which data regarding the topology
+            will be transmitted. This is typically used by GUI applications to
+            provide a user-friendly front-end to
+            <productname>olsrd</productname>. This option block controls the
+            IPC access. Sub options are:</para>
 
             <variablelist>
               <varlistentry>
                   exist simultaneously. Multiple connections have not been
                   tested, and probably do not work! This option should only be
                   used to control whether or not processes can connect to
-                  olsrd by setting it either to <replaceable>0</replaceable>,
-                  which will tell olsrd not to allow any connections, or by
-                  setting it to a positive value. Defaults to
-                  <replaceable>0</replaceable>.</para>
+                  <productname>olsrd</productname> by setting it either to
+                  <replaceable>0</replaceable>, which will tell
+                  <productname>olsrd</productname> not to allow any
+                  connections, or by setting it to a positive value. Defaults
+                  to <replaceable>0</replaceable>.</para>
                 </listitem>
               </varlistentry>
 
 
                 <listitem>
                   <para>This option specifies a single host that is allowed to
-                  connect to olsrd. By default only the loopback address
-                  (127.0.0.1) is allowed to access. If you want to be able to
-                  connect from another host, you should add that IP address.
-                  You may add multiple hosts.</para>
+                  connect to <productname>olsrd</productname>. By default only
+                  the loopback address (127.0.0.1) is allowed to access. If
+                  you want to be able to connect from another host, you should
+                  add that IP address. You may add multiple hosts.</para>
                 </listitem>
               </varlistentry>
 
 
                 <listitem>
                   <para>You can specify a net range of IP addresses which
-                  olsrd will allow TCP connections from. Besides the IP
-                  address, you need to specify a netmask for IPv4 and a prefix
-                  for IPv6. You may add multiple networks.</para>
+                  <productname>olsrd</productname> will allow TCP connections
+                  from. Besides the IP address, you need to specify a netmask
+                  for IPv4 and a prefix for IPv6. You may add multiple
+                  networks.</para>
                 </listitem>
               </varlistentry>
             </variablelist>
 
             <variablelist>
               <varlistentry>
-                <term><replaceable>IPv6-address</replaceable> 0-48</term>
+                <term><replaceable>IPv6-address</replaceable> 0-128</term>
 
                 <listitem>
                   <para>Specifies an IPv6 network or host to be announced via
                   Internet connectivity, add <replaceable>::</replaceable>
                   <replaceable>0</replaceable> . To announce a single host,
                   add <replaceable>ipaddr</replaceable>
-                  <replaceable>48</replaceable>.</para>
+                  <replaceable>128</replaceable>.</para>
                 </listitem>
               </varlistentry>
             </variablelist>
         </varlistentry>
 
         <varlistentry>
-          <term><option>LoadPlugin
-          "<replaceable>plugin-filename</replaceable>" {
-          <replaceable>sub-options</replaceable> }</option></term>
+          <term><option>LoadPlugin <replaceable>plugin-filename</replaceable>
+          { <replaceable>sub-options</replaceable> }</option></term>
 
           <listitem>
-            <para>Specifies a plugin that olsrd should load at startup. You
-            need to specify the filename for the shared object file
-            (<filename>*.so</filename> on Linux and <filename>*.dll</filename>
-            on Windows). Read the <filename>README</filename> in the plugin's
-            source directory<!-- or refer the <xref
-            endterm="olsrd_conf_5_plugins-title"
-            linkend="olsrd_conf_5_plugins" /> section below-->. This option
-            block can be repeated to add multiple plugins. Sub options
-            are:</para>
+            <para>Specifies a plugin that <productname>olsrd</productname>
+            should load at startup. You need to specify the filename for the
+            shared object file (<filename>*.so</filename> on Linux and
+            <filename>*.dll</filename> on Windows). Read the
+            <filename>README</filename> in the plugin's source directory or
+            refer the <xref endterm="olsrd_conf_5_plugins-title"
+            linkend="olsrd_conf_5_plugins" /> section below. This option block
+            can be repeated to add multiple plugins. Sub options are:</para>
 
             <variablelist>
               <varlistentry>
-                <term><option>PlParam</option>
-                "<replaceable>key</replaceable>"
+                <term><option>PlParam</option> <replaceable>key</replaceable>
                 <replaceable>value</replaceable></term>
 
                 <listitem>
                   <para>Sends a pair of parameters to the plugin at
-                  initialization. Consult individual plugin documentation for
-                  possible parameters.</para>
+                  initialization. The parameter's
+                  <replaceable>key</replaceable> is case insensitive. Refer to
+                  the <xref endterm="olsrd_conf_5_plugins-title"
+                  linkend="olsrd_conf_5_plugins" /> section below or consult
+                  individual plugin documentation for possible
+                  parameters.</para>
                 </listitem>
               </varlistentry>
             </variablelist>
         </varlistentry>
 
         <varlistentry>
-          <term><option>Interface "<replaceable>interface1</replaceable>"
-          "<replaceable>interface2...</replaceable>" {
+          <term><option>Interface <replaceable>interface1</replaceable>
+          <replaceable>interface2...</replaceable> {
           <replaceable>sub-options</replaceable> }</option></term>
 
           <listitem>
             <para>This option block specifies one or more network interfaces
-            on which olsrd should run. At least one network interface block
-            must be specified for olsrd to run. Various parameters can be
+            on which <productname>olsrd</productname> should run. At least one
+            network interface block must be specified for
+            <productname>olsrd</productname> to run. Various parameters can be
             specified on individual interfaces or groups of interfaces. This
             option block can be repeated to add multiple interface
             configurations. Sub options are:</para>
                 <replaceable>yes</replaceable>|<replaceable>no</replaceable></term>
 
                 <listitem>
-                  <para>Olsrd can auto detect changes in interface
-                  configurations by polling on the interval set by
-                  <option>NicChgsPollInt</option>. This is enabled by default
-                  but can be turned off per interface to save CPU
-                  cycles.</para>
+                  <para><productname>olsrd</productname> can auto detect
+                  changes in interface configurations by polling on the
+                  interval set by <option>NicChgsPollInt</option>. This is
+                  enabled by default but can be turned off per interface to
+                  save CPU cycles.</para>
                 </listitem>
               </varlistentry>
 
                   <para>Sets the interval on which TC (RFC-mode) or LQ_TC
                   (LQ/ETX-mode) messages will be generated and transmitted on
                   the interface. Note, that TC (Topology Control) messages are
-                  use to spread topology information. These messages also
+                  used to spread topology information. These messages also
                   include the current neighbour information and normally have
-                  a TTL larger than 1 to spread them in the mesh network. TC
-                  or LQ_TC messages may be forwarded delayed to support packet
-                  aggregation. If the <option>LinkQualityFishEye</option>
-                  option is enabled, the TTL for these messages is varied to
-                  faster distribute topology information in the near
-                  neighbourhood.</para>
+                  a TTL larger than 1 to flood them through the mesh network.
+                  TC or LQ_TC messages may be forwarded delayed to support
+                  packet aggregation. If the
+                  <option>LinkQualityFishEye</option> option is enabled, the
+                  TTL for these messages is varied to faster distribute
+                  topology information in the near neighbourhood.</para>
                 </listitem>
               </varlistentry>
 
                   <para>Sets the interval on which MID messages will be
                   generated and transmitted on the interface. Note, that MID
                   messages spread alias information and will be emitted only
-                  by nodes with more than one olsrd interface.</para>
+                  by nodes with more than one <productname>olsrd</productname>
+                  interface.</para>
                 </listitem>
               </varlistentry>
 
                   <para>Sets the interval on which HNA messages will be
                   generated and transmitted on the interface. Note, that HNA
                   messages spread gateway information and will be emitted only
-                  by nodes for which the <option>Hna4</option> or
-                  <option>Hna6</option> option is configured.</para>
+                  by nodes with configured <option>Hna4</option> or
+                  <option>Hna6</option> options.</para>
                 </listitem>
               </varlistentry>
 
                   <emphasis>weight</emphasis> of the interface is used to
                   determine the link to route by. Normally the
                   <emphasis>weight</emphasis> is automatically calculated by
-                  olsrd based on the characteristics of the interface, but
-                  here you can specify a fixed value. Olsrd will choose links
-                  with the lowest <emphasis>weight</emphasis> value.</para>
+                  <productname>olsrd</productname> based on the
+                  characteristics of the interface, but here you can specify a
+                  fixed value. <productname>olsrd</productname> will choose
+                  links with the lowest <emphasis>weight</emphasis>
+                  value.</para>
                 </listitem>
               </varlistentry>
 
                 <replaceable>0.1</replaceable>-<replaceable>1.0</replaceable></term>
 
                 <listitem>
-                  <para>When using olsrd in LQ/ETX-mode, the neighbour link
-                  cost is calculated based on packet loss or hello message
-                  loss (see <option>LinkQualityAlgorithm</option> option).
-                  Because the applied measurement may not reflect the
-                  real-live connection quality and link speed, this setting
-                  allows you to manually fine-tune the measurement results.
-                  You can add one or more <option>LinkQualityMult</option>
-                  options and correlate the IP address of a neighbour with a
-                  multiplication factor. This setting only allows you to
-                  determine bad links, e.g. a factor of
-                  <replaceable>0.5</replaceable> basically says: <quote>this
-                  link is only half as good as the packet loss may
+                  <para>When using <productname>olsrd</productname> in
+                  LQ/ETX-mode, the neighbour link cost is calculated based on
+                  packet loss or hello message loss (see
+                  <option>LinkQualityAlgorithm</option> option). Because the
+                  applied measurement may not reflect the real-live connection
+                  quality and link speed, this setting allows you to manually
+                  fine-tune the measurement results. You can add one or more
+                  <option>LinkQualityMult</option> options and correlate the
+                  IP address of a neighbour with a multiplication factor. This
+                  setting only allows you to determine bad links, e.g. a
+                  factor of <replaceable>0.5</replaceable> basically says:
+                  <quote>this link is only half as good as the packet loss may
                   indicate</quote>. For this reason, the
                   <replaceable>default</replaceable> keyword can be used to
                   lower all ETX/LQ values with a lower factor. You then define
                   switching routes generally is not harmful, people tend to
                   fiddle with the <option>LinkQualityMult</option> setting
                   only because their automatically selected Internet gateway
-                  changes. This is a bad habit, because it disturbs the ETX/LQ
-                  measurement and leads to sub-optimal routes. Try using the
-                  <option>NatThreshold</option> option instead. Another option
-                  is manual gateway selection either by automatic tunneling or
-                  by using a VPN technique.</para>
+                  flaps. This is a bad habit, because it disturbs the ETX/LQ
+                  measurement and leads to sub-optimal routes for others. Try
+                  using the <option>NatThreshold</option> option instead.
+                  Another option is manual gateway selection either by
+                  automatic tunneling or by using a VPN technique.</para>
                 </listitem>
               </varlistentry>
             </variablelist>
       </variablelist>
     </refsect1>
 
-    <!--refsect1 id="olsrd_conf_5_plugins">
+    <refsect1 id="olsrd_conf_5_plugins">
       <title id="olsrd_conf_5_plugins-title">Plugins</title>
 
-      <para>tbd...</para>
-    </refsect1-->
+      <para>The functionality of the <productname>olsrd</productname> daemon
+      is extendable by plugins. Plugins are shared object files
+      (<filename>*.so</filename> on Linux or <filename>*.dll</filename> on
+      Windows) to be loaded from <productname>olsrd</productname> during
+      startup. To load a plugin, add the appropriate
+      <option>LoadPlugin</option> option to the config file (see <xref
+      endterm="olsrd_conf_5_optionblocks-title"
+      linkend="olsrd_conf_5_optionblocks" /> above). A plugin accepts zero or
+      more parameters, which can be added by <option>PlParam</option>
+      <replaceable>key</replaceable> <replaceable>value</replaceable>
+      statements to the <option>LoadPlugin</option> option block. The
+      following plugin are included with the current
+      <productname>olsrd</productname> installation:</para>
+
+      <variablelist>
+        <varlistentry>
+          <term><option>LoadPlugin arprefresh.so.0.1 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin refreshes the local ARP cache from received OLSR
+            messages. This optimizes the ARP lookups otherwise required if
+            unicast traffic is send on a previously unused link chain. The
+            correct function requires Linux kernel 2.6. The plugin accepts no
+            parameters.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_bmf.so.1.5.3 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin floods IP-multicast and optional IP-broadcast
+            traffic via the MPR chain. The multicast or broadcast traffic is
+            grabbed from a non-OLSR interface, forwarded through the mesh and
+            exits to another non-OLSR interface. Note, that this plugin
+            requires multi-threading support. Also note, that this plugin has
+            a separate source repository on <ulink
+            url="http://olsr-bmf.sourceforge.net/">http://olsr-bmf.sourceforge.net/</ulink>
+            . The plugin accepts the following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> NonOlsrIf
+                <replaceable>interface</replaceable></term>
+
+                <listitem>
+                  <para>As a special feature, it is possible to also forward
+                  from and to non-OLSR interfaces. If you have network
+                  interfaces on which <productname>olsrd</productname> is not
+                  running, but you do want to forward multicast and
+                  local-broadcast IP packets, specify up to 32
+                  <option>NonOlsrIf</option> sub-options.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> DoLocalBroadcast
+                <replaceable>yes</replaceable>|<replaceable>true</replaceable>|<replaceable>no</replaceable>|<replaceable>false</replaceable></term>
+
+                <listitem>
+                  <para>Enable or disable the flooding of local broadcast
+                  packets (e.g. packets with IP destination 192.168.1.255).
+                  Defaults to <replaceable>yes</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> BmfInterface
+                <replaceable>interface</replaceable></term>
+
+                <listitem>
+                  <para>Specifies the name of the BMF network interface.
+                  Defaults to <replaceable>bmf0</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> BmfInterfaceIp
+                <replaceable>ipaddr/prefix</replaceable></term>
+
+                <listitem>
+                  <para>Specifies the IP address and netmask for the BMF
+                  network interface. By default, the IP address of the first
+                  OLSR interface is copied. The default prefix is
+                  <replaceable>32</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> CapturePacketsOnOlsrInterfaces
+                <replaceable>yes</replaceable>|<replaceable>true</replaceable>|<replaceable>no</replaceable>|<replaceable>false</replaceable></term>
+
+                <listitem>
+                  <para>Enables or disables capturing packets on the
+                  OLSR-enabled interfaces (in promiscuous mode). The multicast
+                  (and, if configured, local broadcast) packets sent on the
+                  non-OLSR network interfaces and on the BMF network interface
+                  will always be flooded over the OLSR network. If this
+                  parameter is <replaceable>yes</replaceable>, also the
+                  packets sent on the OLSR-enabled network interfaces will be
+                  flooded over the OLSR network. Note, that his parameter
+                  should be set consistently on all hosts throughout the
+                  network. If not, hosts may receive multicast packets in
+                  duplicate. Defaults to <replaceable>no</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> BmfMechanism
+                <replaceable>Broadcast</replaceable>|<replaceable>UnicastPromiscuous</replaceable></term>
+
+                <listitem>
+                  <para>Determines the forwarding mechanism to use. In the
+                  <replaceable>UnicastPromiscuous</replaceable> mode, packets
+                  are forwarded (unicast) to the best candidate neighbor;
+                  other neighbors listen promiscuously. IP-local broadcast is
+                  not used. This saves air time on 802.11 WLAN networks, on
+                  which unicast packets are usually sent at a much higher bit
+                  rate than broadcast packets (which are sent at a basic bit
+                  rate). Defaults to
+                  <replaceable>Broadcast</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> FanOutLimit
+                <replaceable>1</replaceable>-<replaceable>10</replaceable></term>
+
+                <listitem>
+                  <para>If the number of neighbors to forward to is less than
+                  or equal to the <option>FanOutLimit</option>, then packets
+                  to be relayed will be sent via unicast. If the number is
+                  greater than the <option>FanOutLimit</option>, the packet
+                  goes out as broadcast. Not used if
+                  <option>BmfMechanism</option> is set to
+                  <replaceable>UnicastPromiscuous</replaceable>. Defaults to
+                  <replaceable>2</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> BroadcastRetransmitCount
+                <replaceable>1</replaceable>-<replaceable>10</replaceable></term>
+
+                <listitem>
+                  <para>Determines the number of times BMF will transmit the
+                  same packet whenever it decides to use broadcast to forward
+                  a packet. Not used if <option>BmfMechanism</option> is set
+                  to <replaceable>UnicastPromiscuous</replaceable>. Defaults
+                  to <replaceable>1</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_dot_draw.so.0.3 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin can be used to query topology graphs via a
+            network connection. To visualize the queried information, you need
+            the <productname>GraphViz</productname> package from: <ulink
+            url="http://www.graphviz.org/">http://www.graphviz.org/</ulink>.
+            The plugin accepts the following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> port
+                <replaceable>1</replaceable>-<replaceable>65535</replaceable></term>
+
+                <listitem>
+                  <para>Determines the port number to be queried. Defaults to
+                  <replaceable>2004</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> accept
+                <replaceable>ipaddr</replaceable></term>
+
+                <listitem>
+                  <para>Determines a single IP address from which a connection
+                  is accepted. Defaults to
+                  <replaceable>127.0.0.1</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_dyn_gw.so.0.4 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin announces <quote>HNA { 0.0.0.0 0.0.0.0 }</quote>
+            if it detects a functional static default route. The plugin
+            constantly tests the default route using ICMP
+            (<command>ping</command>). Note, that this plugin requires
+            multi-threading support. Note also, that you need a static default
+            route on the node. The plugin accepts the following
+            parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> interval
+                <replaceable>1</replaceable>-<replaceable>3600</replaceable></term>
+
+                <listitem>
+                  <para>Determines the time between ping tests. Defaults to
+                  <replaceable>5</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> ping
+                <replaceable>ipaddr</replaceable></term>
+
+                <listitem>
+                  <para>Adds a ping destination address. If one or more IPv4
+                  addresses are configured, the plugin performs a ping test on
+                  these addresses in descending order. If a ping test is
+                  successful, subsequent addresses won't be pinged No
+                  default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> hna "<replaceable>ipaddr
+                netmask-or-prefix</replaceable>"</term>
+
+                <listitem>
+                  <para>Specifies an optional HNA entry to be announced if the
+                  ping test succeeds. Note, that the <option>PlParam</option>
+                  sequence matters: to link a specific HNA entry to a ping
+                  test, add the desired <replaceable>hna</replaceable>
+                  parameter followed by one or more
+                  <replaceable>ping</replaceable> parameters. Defaults to
+                  <replaceable>0.0.0.0 0.0.0.0</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_dyn_gw_plain.so.0.4 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin announces <quote>HNA { 0.0.0.0 0.0.0.0 }</quote>
+            if it detects a static default route. To maintain the default
+            route, you need an external program such as a cron job. The plugin
+            accepts no parameters.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_httpinfo.so.0.1 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin can be used to query internal information via a
+            web browser. The plugin implements a tiny HTTP server and
+            publishes information on several pages. The plugin accepts the
+            following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> port
+                <replaceable>1</replaceable>-<replaceable>65535</replaceable></term>
+
+                <listitem>
+                  <para>Determines the port number to be queried. No default,
+                  <replaceable>8080</replaceable> recommended.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> host
+                <replaceable>ipaddr</replaceable></term>
+
+                <term><option>PlParam</option> host4
+                <replaceable>ipaddr</replaceable></term>
+
+                <listitem>
+                  <para>Adds a single IPv4 address to the list of allowed
+                  source addresses. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> net "<replaceable>ipaddr
+                netmask</replaceable>"</term>
+
+                <term><option>PlParam</option> net4 "<replaceable>ipaddr
+                netmask</replaceable>"</term>
+
+                <listitem>
+                  <para>Adds an IPv4 network range to the list of allowed
+                  source addresses. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> host6
+                <replaceable>IPv6-address</replaceable></term>
+
+                <listitem>
+                  <para>Adds a single IPv6 address to the list of allowed
+                  source addresses. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> net6 "<replaceable>IPv6-address
+                0-128</replaceable>"</term>
+
+                <listitem>
+                  <para>Adds an IPv6 network range to the list of allowed
+                  source addresses. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> resolve
+                <replaceable>yes</replaceable>|<replaceable>true</replaceable>|<replaceable>no</replaceable>|<replaceable>false</replaceable></term>
+
+                <listitem>
+                  <para>Determines if the plugin tries to resolve IP addresses
+                  to names when generating output. Note, that if you are using
+                  private IP addresses in your mesh, you also need to load
+                  <option>olsrd_nameservice.so.0.3</option> and link the local
+                  <filename>/etc/hosts</filename> file to the
+                  <option>hosts-file</option> generated by this plugin.
+                  Otherwise this option slows down the plugins operation.
+                  Defaults to <replaceable>no</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_mini.so.0.1 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin is an example to be copied if you want to
+            program a new plugin. The plugin accepts the following
+            parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> test
+                "<replaceable>some-text</replaceable>"</term>
+
+                <listitem>
+                  <para>Prints out some text during plugin initialization. No
+                  default.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_nameservice.so.0.3 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin floods node information through the mesh
+            piggy-backed on the OLSR protocol. It also collects information
+            received by other nodes and stores that information in different
+            text files on a regularly basis. The plugin accepts the following
+            parameters.</para>
+
+            <variablelist>
+              <title>General</title>
+
+              <varlistentry>
+                <term><option>PlParam</option> interval
+                <replaceable>1</replaceable>-<replaceable>3968</replaceable></term>
+
+                <listitem>
+                  <para>Determines the interval for sending NAME messages in
+                  seconds. Defaults to <replaceable>120</replaceable> (2
+                  minutes).</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> timeout
+                <replaceable>1.0</replaceable>-<replaceable>3968.0</replaceable></term>
+
+                <listitem>
+                  <para>Determines the validity time for received NAME
+                  messages in seconds. Defaults to
+                  <replaceable>1800.0</replaceable> (30 minutes)</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+
+            <variablelist>
+              <title>Host Names</title>
+
+              <varlistentry>
+                <term><option>PlParam</option> name
+                <replaceable>hostname</replaceable></term>
+
+                <listitem>
+                  <para>Configures a host name for the
+                  <productname>olsrd</productname> node. This name together
+                  with the main IP address of <productname>olsrd</productname>
+                  is flooded though the mesh. You can specify this parameter
+                  more than once to flood different names. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> suffix
+                <replaceable>dotname</replaceable></term>
+
+                <listitem>
+                  <para>Configures a suffix which is appended to all received
+                  names. No default, but <replaceable>.olsr</replaceable>
+                  (with a dot) is recommended to prevent DNS name
+                  spoofing.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> hosts-file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>The plugin writes received IP addresses and names to a
+                  resolver compatible file which is updated on a regularly
+                  basis. To overwrite the local hosts file, specify
+                  <filename>/etc/hosts</filename> (Linux, BSD) or
+                  <filename>c:\\windows\\system32\\drivers\\etc\\hosts</filename>
+                  (Windows). Defaults to
+                  <filename>/var/run/hosts_olsr</filename> (Linux, BSD) or
+                  <filename>c:\windows\hosts_olsr</filename> (Windows).</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> add-hosts
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Configures a file which contents are appended when
+                  writing the <option>hosts-file</option>. If
+                  <productname>olsrd</productname> is configured to overwrite
+                  your /etc/hosts file, you may rename your current /etc/hosts
+                  file and configure this parameter to preserve any static
+                  entries. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> name-change-script
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Configures a shell script which is executed after
+                  updating the <option>hosts-file</option>. Can be used to
+                  update a website or database. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> sighup-pid-file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Sends a SIGHUP to the process specified by the pidfile
+                  (usually <filename>/var/run/dnsmasq.pid</filename>) when the
+                  host name table changes. This is useful for letting
+                  <productname>dnsmasq</productname> or
+                  <productname>bind</productname> know they have to reload
+                  their hosts file. Linux or BSD only, no default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option>
+                <replaceable>[ipaddr]</replaceable>
+                <replaceable>hostname</replaceable></term>
+
+                <listitem>
+                  <para>Adds a host name to be announced for the specified IP
+                  address. Note, that this parameter is not commonly used,
+                  specify the <option>name</option> parameter instead (see
+                  above). The IP address has to be either from one of the
+                  <productname>olsrd</productname> interfaces or within a
+                  configured HNA network. This parameter can be specified
+                  multiple times. No default.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+
+            <variablelist>
+              <title>Services</title>
+
+              <varlistentry>
+                <term><option>PlParam</option> service
+                "<replaceable>announcement</replaceable>"</term>
+
+                <listitem>
+                  <para>Floods the configured service announcement through the
+                  mesh. The announcement must include 3 fields separated with
+                  a pipe character:
+                  <replaceable>URL</replaceable>|<replaceable>Protocol</replaceable>|<replaceable>Description</replaceable>.
+                  The <replaceable>URL</replaceable> field needs to start with
+                  a protocol id, determines an IP or host.suffix combination
+                  and adds a port number. Examples:
+                  <quote>http://10.0.0.1:80</quote> or
+                  <quote>ftp://myname.olsr:20</quote>.
+                  <productname>olsrd</productname> also checks, if the address
+                  is a local IP address, is included with any configured HNA
+                  range, or is equal to a configured <option>name</option> and
+                  <option>suffix</option> parameter. The
+                  <replaceable>Protocol</replaceable> field indicates either
+                  <replaceable>tcp</replaceable> or
+                  <replaceable>udp</replaceable>. Use any non-empty text for
+                  the <replaceable>Description</replaceable> field. You can
+                  specify this parameter more than once to flood different
+                  services. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> services-file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>The plugin writes received service announcements to a
+                  file which is updated on a regularly basis. Defaults to
+                  <filename>/var/run/services_olsr</filename> (Linux, BSD) or
+                  <filename>c:\windows\services_olsr</filename>
+                  (Windows).</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> services-change-script
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Configures a shell script which is executed after
+                  updating the <option>services-file</option>. No
+                  default.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+
+            <variablelist>
+              <title>MAC Addresses</title>
+
+              <varlistentry>
+                <term><option>PlParam</option> mac
+                <replaceable>xx:xx:xx:xx:xx:xx[,0-255]</replaceable></term>
+
+                <listitem>
+                  <para>Floods the configured MAC address through the mesh.
+                  This MAC address may be used to fine control captive portal
+                  solutions based on MAC adresses. The optional decimal number
+                  designates a class. You can specify this parameter more than
+                  once to flood different MAC addresses. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> macs-file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>The plugin writes received MAC adresses to a file
+                  which is updated on a regularly basis. Defaults to
+                  <filename>/var/run/macs_olsr</filename> (Linux, BSD) or
+                  <filename>c:\windows\macs_olsr</filename> (Windows).</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> macs-change-script
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Configures a shell script which is executed after
+                  updating the <option>macs-file</option>. No default.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+
+            <variablelist>
+              <title>DNS Forwarders</title>
+
+              <varlistentry>
+                <term><option>PlParam</option> dns-server
+                <replaceable>ipaddr</replaceable></term>
+
+                <listitem>
+                  <para>Announces the configured IP address which should
+                  indicate a DNS server or DNS forwarder. If you configure
+                  <replaceable>0.0.0.0</replaceable>, the main IP address of
+                  <productname>olsrd</productname> will be replaced. Other
+                  running <productname>olsrd</productname> instances will
+                  receive a list of announced DNS server IP addresses, select
+                  the currently best reachable IP address, and write the
+                  selected IP address to the <option>resolv-file</option>
+                  file.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> resolv-file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Defaults to
+                  <filename>/var/run/resolvconf_olsr</filename> (Linux, BSD)
+                  or <filename>c:\windows\resolvconf_olsr</filename>
+                  (Windows).</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+
+            <variablelist>
+              <title>GPS Positions</title>
+
+              <varlistentry>
+                <term><option>PlParam</option> lat
+                <replaceable>latitude</replaceable></term>
+
+                <listitem>
+                  <para>Configures a decimal float value (latitude) for this
+                  node to be flooded in the mesh. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> lon
+                <replaceable>longitude</replaceable></term>
+
+                <listitem>
+                  <para>Configures a decimal float value (longitude) for this
+                  node to be flooded in the mesh. No default.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> latlon-file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>The plugin writes received positions to a file which
+                  is updated on a regularly basis. The file format provides
+                  javascript-compatible function calls ready for inclusion to
+                  a web page. The file is written only, if the
+                  <option>lat</option> and <option>lon</option> parameters are
+                  set. Defaults to <filename>/var/run/latlon.js</filename>
+                  (Linux, BSD) or <filename>c:\windows\latlon.js</filename>
+                  (Windows).</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> latlon-infile
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Configures a file to read positions from. This
+                  parameter is meant to be used by a moving GPS receiver,
+                  which may write comma separated decimal latitude and
+                  longitude to this file. This will overwrite the
+                  <option>lat</option> and <option>lon</option> parameters
+                  during runtime. No default.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <!--varlistentry>
+          <term><option>LoadPlugin olsrd_pgraph.so.1.1 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>We really need to get rid of this plugin, since it does not
+            work nor is the OLSRConnect.py available.</para>
+          </listitem>
+        </varlistentry-->
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_quagga.so.0.2.2 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin allows you to import or export
+            <productname>olsrd</productname> routing information from or to
+            the <productname>quagga</productname> routing daemon (see <ulink
+            url="http://www.quagga.net/">http://www.quagga.net/</ulink>). You
+            need a patched and running <productname>quagga</productname>
+            routing daemon to load this plugin successfully. The plugin
+            accepts the following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> redistribute
+                <replaceable>system</replaceable>|<replaceable>kernel</replaceable>|<replaceable>connect</replaceable>|<replaceable>static</replaceable>|<replaceable>rip</replaceable>|<replaceable>ripng</replaceable>|<replaceable>ospf</replaceable>|<replaceable>ospf6</replaceable>|<replaceable>isis</replaceable>|<replaceable>bgp</replaceable>|<replaceable>hsls</replaceable></term>
+
+                <listitem>
+                  <para>Notifies <productname>Zebra</productname> to add a
+                  specific protocol for redistribution. You may add this
+                  parameter more than once.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> ExportRoutes
+                <replaceable>only/both</replaceable></term>
+
+                <listitem>
+                  <para>Determines, if <productname>olsrd</productname> should
+                  <replaceable>only</replaceable> export routes to
+                  <productname>quagga</productname> or should export routes to
+                  <replaceable>both</replaceable>
+                  <productname>quagga</productname> and kernel. If this
+                  parameter is unset, no routes are exported to
+                  <productname>quagga</productname>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> Distance
+                <replaceable>0</replaceable>-<replaceable>255</replaceable></term>
+
+                <listitem>
+                  <para>Configures the administrative distance for routes
+                  exported to <productname>Zebra</productname>. Defaults to
+                  <replaceable>0</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> LocalPref
+                <replaceable>yes</replaceable>|<replaceable>true</replaceable>|<replaceable>no</replaceable>|<replaceable>false</replaceable></term>
+
+                <listitem>
+                  <para>Sets the SELECTED flag on the routes exported to
+                  <productname>Zebra</productname> which means these routes
+                  are preferred in any case. Defaults to
+                  <replaceable>no</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_secure.so.0.5 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin uses a secret pre shared key for signature
+            generation and verification of incoming OLSR messages. All nodes
+            that participate in an OLSR routing domain need to use the same
+            key. The key as a size of 128-bits and is read in from a key file
+            which should contain 16 bytes of binary data. The plugin accepts
+            the following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> keyfile
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Configure a filename to read the pre shared key from.
+                  Defaults to
+                  <filename>/etc/olsrd.d/olsrd_secure_key</filename>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_txtinfo.so.0.1 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin can be used to query internal information via
+            the <guilabel>wget</guilabel> command. This plugin is a de-bloated
+            and scriptable version of the httpinfo-Plugin. Example usage:
+            <command>wget -q -O - http://localhost:2006/neighbours</command>
+            to display the current neighbour table. The plugin accepts the
+            following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> port
+                <replaceable>1</replaceable>-<replaceable>65535</replaceable></term>
+
+                <listitem>
+                  <para>Determines the port number to be queried. Defaults to
+                  <replaceable>2006</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> accept
+                <replaceable>ipaddr</replaceable></term>
+
+                <listitem>
+                  <para>Adds a single IP address to the list of allowed source
+                  addresses. Defaults to <replaceable>127.0.0.1</replaceable>
+                  for IPv4 or <replaceable>::1</replaceable> for IPv6.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>LoadPlugin olsrd_watchdog.so.0.1 {
+          <replaceable>...</replaceable> }</option></term>
+
+          <listitem>
+            <para>This plugin writes the current time to a file on a regularly
+            basis. This can be used to detect a freezed instance of
+            <productname>olsrd</productname> by an external script or cron
+            job. The plugin accepts the following parameters.</para>
+
+            <variablelist>
+              <varlistentry>
+                <term><option>PlParam</option> file
+                <replaceable>filename</replaceable></term>
+
+                <listitem>
+                  <para>Determines the file to be written. Defaults to
+                  <filename>/tmp/olsr.watchdog</filename>.</para>
+                </listitem>
+              </varlistentry>
+
+              <varlistentry>
+                <term><option>PlParam</option> interval
+                <replaceable>1</replaceable>-<replaceable>3600</replaceable></term>
+
+                <listitem>
+                  <para>Determines the update interval in seconds. Defaults to
+                  <replaceable>5</replaceable>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect1>
 
     <refsect1>
       <title>Misc</title>
 
-      <para>The homepage of olsrd is <ulink
+      <para>The homepage of <productname>olsrd</productname> is <ulink
       url="http://www.olsr.org">http://www.olsr.org</ulink></para>
     </refsect1>
 
     <refnamediv>
       <refname>olsr_switch</refname>
 
-      <refpurpose>olsrd network simulator</refpurpose>
+      <refpurpose><productname>olsrd</productname> network
+      simulator</refpurpose>
     </refnamediv>
 
     <refsynopsisdiv>
       need to be set at the command line - all these options and others can be
       set in the configuration file.</para>
 
-      <para>The homepage of olsrd is <ulink
+      <para>The homepage of <productname>olsrd</productname> is <ulink
       url="http://www.olsr.org">http://www.olsr.org</ulink></para>
     </refsect1>
 
           <term><option>-foo <replaceable>foo</replaceable></option></term>
 
           <listitem>
-            <para>This option specifies on what network interfaces olsrd
-            should run. These interfaces cannot be aliased interfaces such as
-            eth0:1.</para>
+            <para>This option specifies on what network interfaces
+            <productname>olsrd</productname> should run. These interfaces
+            cannot be aliased interfaces such as eth0:1.</para>
           </listitem>
         </varlistentry>
 
 
           <listitem>
             <para>This option overrides the default configuration file path
-            used by olsrd - <filename>/etc/olsrd.conf</filename></para>
+            used by <productname>olsrd</productname> -
+            <filename>/etc/olsrd.conf</filename></para>
           </listitem>
         </varlistentry>
       </variablelist>
index 4a6c56b..3c7db94 100644 (file)
Binary files a/files/olsrd.8.gz and b/files/olsrd.8.gz differ
index a4338de..6d0858e 100644 (file)
Binary files a/files/olsrd.conf.5.gz and b/files/olsrd.conf.5.gz differ