<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>Firenze/OONF</title><revhistory><revision><revnumber>12</revnumber><date>2018-11-03 14:45:43</date><authorinitials>host36-66-dynamic.49-82-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>11</revnumber><date>2017-04-20 03:41:50</date><authorinitials>host161-157-dynamic.180-80-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>10</revnumber><date>2017-04-20 03:41:31</date><authorinitials>host161-157-dynamic.180-80-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>9</revnumber><date>2017-04-20 03:40:38</date><authorinitials>host161-157-dynamic.180-80-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>8</revnumber><date>2017-04-20 03:40:05</date><authorinitials>host161-157-dynamic.180-80-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>7</revnumber><date>2017-04-19 16:57:46</date><authorinitials>host161-157-dynamic.180-80-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>6</revnumber><date>2017-04-19 00:38:33</date><authorinitials>host12-55-dynamic.20-87-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>5</revnumber><date>2017-04-18 14:27:34</date><authorinitials>host12-55-dynamic.20-87-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>4</revnumber><date>2017-04-18 14:26:40</date><authorinitials>host12-55-dynamic.20-87-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>3</revnumber><date>2017-04-18 14:11:33</date><authorinitials>host12-55-dynamic.20-87-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>2</revnumber><date>2017-04-18 14:05:10</date><authorinitials>host12-55-dynamic.20-87-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>1</revnumber><date>2017-04-18 14:03:09</date><authorinitials>host12-55-dynamic.20-87-r.retail.telecomitalia.it</authorinitials></revision></revhistory></articleinfo><section><title>OLSRv2</title><section><title>Compilazione/Installazione</title><section><title>OpenWRT/LEDE</title><para>Su OpenWRT/LEDE è sufficiente installare il pacchetto con il comando </para><screen><![CDATA[opkg update
opkg install oonf-olsrd2]]></screen></section><section><title>Debian</title><para>OLSRv2 non è pacchettizzato per Debian, quindi è necessario compilarlo dai sorgenti. Scaricate l'ultima versione dei sorgenti da: <ulink url="https://github.com/OLSR/OONF"/> Installate le dipendenze: </para><screen><![CDATA[apt-get update
apt-get install bison flex build-essential cmake libnl-3-dev]]></screen><para>Entrate nella directory &quot;build&quot;, dentro al codice di OLSRv2 ed eseguite </para><screen><![CDATA[cmake ..
make
make install]]></screen><para>se si vuole usare olsr2_dynamic è necessario esportare il percorso delle librerie: </para><screen><![CDATA[export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib]]></screen><para>E' possibile lanciare olsrd2 con il seguente comando: </para><screen><![CDATA[/usr/local/sbin/olsrd2_static -l /etc/olsrd2.conf]]></screen></section></section><section><title>Configurazione</title><section><title>OpenWRT/LEDE</title><screen><![CDATA[config olsrv2 'olsrv2'
        list lan '10.150.9.0/24'
]]><![CDATA[
config log 'log'
        option file '/var/log/olsrd2.log'
]]><![CDATA[
config global 'global'
        option lockfile '/var/lock/olsrd2'
        option pidfile '/var/run/olsrd2.pid'
]]><![CDATA[
config interface 'olsr2_common'
        list ifname 'loopback'
        list ifname 'Ant1'
        list ifname 'Ant2'
        list ifname 'Ant3'
        list ifname 'Ant4'
]]><![CDATA[
config telnet 'telnet'
        option port '2009'
        option bindto '127.0.0.1']]></screen></section><section><title>Debian</title><para>Questo è un file di esempio di configurazione: basta sostituire le interfacce con quelle specifiche della vostra configurazione. </para><screen><![CDATA[[global]
        plugin remotecontrol
        plugin auto_ll4
[telnet]
        bindto  127.0.0.1
        port 2009
        
[olsrv2]
        lan 10.150.x.0/24
                        
[interface=eth1.2]
[interface=eth1.3]
[interface=eth1.4]
[interface=eth1.5]
[interface=lo]]]></screen><section><title>init.d files</title><para>/etc/init.d/olsrd2 </para><screen><![CDATA[### BEGIN INIT INFO
# Provides:          olsrd2
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: /etc/init.d/olsrd2: start olsrd2
### END INIT INFO
]]><![CDATA[
#               Based on skeleton script written by Miquel van Smoorenburg <miquels@cistron.nl>.
#               Modified for Debian 
#               by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#               Modified for olsrd
#               by Holger Levsen <debian@layer-acht.org>
#               Modified for olsr2
#               by Gabriele Gemmi <gabriel@autistici.org>
# 
# Version:      21-Dec-2006  
# modified:     01-Aug-2007
#               31-Jun-2008
#               30-May-2009
]]><![CDATA[
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/olsrd2_static
NAME=olsrd2_static
DESC=olsrd2
]]><![CDATA[
PID_FILE=/var/run/$NAME.pid
]]><![CDATA[
test -x $DAEMON || exit 0
]]><![CDATA[
# Include olsrd defaults if available
if [ -f /etc/default/olsrd2 ] ; then
        . /etc/default/olsrd2
fi
]]><![CDATA[
set -e
]]><![CDATA[
case "$1" in
  debug)
        echo -n "Starting $DESC: "
        # sleep til olsrd has been started
        while ! pidof $NAME > /dev/null ; do 
          sleep 1
        done
        echo "$NAME."
        echo $(pidof $NAME) > $PID_FILE
        ;;
  start)
        if [ "$START_OLSRD2" != "YES" ] ; then exit 0 ; fi
        if [ "$(pidof $NAME)" != "" ] ; then 
                echo "$NAME already running, doing nothing."
                exit 0
        fi
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --exec $DAEMON --pidfile $PID_FILE -- $DAEMON_OPTS
        # sleep til olsrd has been started
        while ! pidof $NAME > /dev/null ; do 
          sleep 1
        done
        echo "$NAME."        
        echo $(pidof $NAME) > $PID_FILE
        ;;
  stop)
        pidof $NAME || exit 0
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop  --quiet --exec $DAEMON --pidfile $PID_FILE
        rm -f $PID_FILE
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        $0 stop
        sleep 1
        $0 start
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart}" >&2
        exit 1
        ;;
esac
]]><![CDATA[
exit 0]]></screen><para>/etc/default/olsrd2 </para><screen><![CDATA[# Defaults for olsrd2 initscript
# sourced by /etc/init.d/olsrd2
# installed at /etc/default/olsrd2 by the maintainer scripts
]]><![CDATA[
#
# This is a POSIX shell fragment
#
]]><![CDATA[
#
# uncomment the next line run olsrd automatically at startup
#
START_OLSRD2="YES"
]]><![CDATA[
#
# debuglevel from 1 (=quiet) to 9 (=max debug)
# for running from init.d 0 is recommended
#
]]><![CDATA[
#
# "command-line options"
#
DAEMON_OPTS="--set global.fork=true -l /etc/olsrd2.conf"]]></screen><para>Ricordate di darei permessi di esecuzione allo script e di farlo partire all'avvio: </para><screen><![CDATA[chmod +x /etc/init.d/olsrd2
update-rc.d olsrd2 defaults]]></screen></section></section></section><section><title>Management e Troubleshooting</title><para>Per controllare lo stato di OONF è possibile usare questi comandi: Visualizzare lo stato delle interfaccie </para><screen><![CDATA[echo "/nhdpinfo interface" | nc 127.0.0.1 2009]]></screen><para>Visualizzare i vicini </para><screen><![CDATA[echo "/nhdpinfo neighbor" | nc 127.0.0.1 2009]]></screen><para>Netjson </para><screen><![CDATA[echo "/netjsoninfo filter graph ipv4_0" | nc 127.0.0.1 2009]]></screen></section></section></article>