Olsr.conf

From Bubble

Contents

description des différents paramètres

AllowNoInt

cette option permet de laisser olsr en standy by lorsqu il n y a plus d interfaces sans planter. pratique lors d' un /etc/init.d/networking restart ou d'une reconfiguraztion de carte radio.

ClearScreen

Tables are now only printed if changes occur, so there are no longer any periodical output when using a debuglevel >0. A "heartbeat" is now printed to STDOUT(if it is a terminal) in the form of a rotating line to show that olsrd is actually operating. Adding "ClearScreen yes" to the configuration file clears the screen each time before the debug output shows updated information. This makes the debug output easier to read in many cases. "ClearScreen no" is the default, if no "ClearScreen" directive is given in the configuration file.

PollingRate

This option sets the interval, in seconds, that the olsrd event scheduler should be set to poll. A setting of 0.2 will set olsrd to poll for events every 0.2 seconds. Defaults to 0.1.

TcRedundancy
La TC redundancy indique combien d'information de voisin devrait être introduite des     messages de TC
les valeurs que possibles sont : 
0 - envoyez seulement les sélecteurs de MPR 
1 - envoyez les sélecteurs MPR et les MPRs
2 - envoient a tous les voisins
#
par default la valeur est a 0 
MultiPointRelais est une des autres 'optimization' notoires 
; disponible dans   RFC3626...
mettez la valeur a off en mettant la valeur de redondance a 2
LinkQualityFishEye
jikstra
# Don't recalculate the Dijkstra-Table for every 
# incoming TC-Message from nodes more than n hops away -
# Disable this algorithm in a huge mesh only if you are 
# interested to accelerate global warming with overheated CPUs
# The first integer tells the algorithm to recalculate 
# the Dijkstra-table when a TC-Message arrives from a node
# not more than n hops away. If set to 0 it will not 
# recalculate it upon incoming TCs
# The second number (float) sets the time interval when
# the Dijkstra table will be recalculated anyway.
# Whatever comes first...

un tableau pour comprendre les options

Intitulé TestOlsr (rcwiki) Rcng OlsrV0.5 Freifunk
AllowNoInt yes yes yes yes
ClearScreen yes yes yes yes
PollingRate Default value 0.05 sec
TcRedundancy defaults to 0 2
MprCoverage defaults to 1 7
LinkQualityFishEye x 1
LinkQualityWinSize x 100
LinkQualityDijkstraLimit x 0 9.0
LinkQualityLevel 2 2
UseHysteresis no no

la bonne configuration

olsrd.conf utilisé par reseaucitoyen avec olsr 5.0-..
DebugLevel              0
AllowNoInt              yes
ClearScreen             yes
UseHysteresis           no
IpVersion               4
MprCoverage             7
TcRedundancy            2 
LinkQualityFishEye      1
LinkQualityDijkstraLimit 0 9.0
LinkQualityLevel        2
LinkQualityWinSize      100
#
#
Interface "eth1"
{
}

autres exemples

olsr.conf du test olsr de 2003
DebugLevel              0
IpVersion               4
AllowNoInt              yes
Pollrate                0.1
TcRedundancy            2
MprCoverage             7
LinkQualityFishEye      1
LinkQualityWinSize      100
LinkQualityDijkstraLimit 0 5.0
IpcConnect
{
       MaxConnections  1
       Host            127.0.0.1
       Net 192.168.1.0 255.255.255.0
}
LinkQualityLevel 2
UseHysteresis no
Interface "eth1"
{
       HelloInterval           5.0
       HelloValidityTime       20.0
       TcInterval              2.0
       TcValidityTime          30.0
       MidInterval             15.0
       MidValidityTime         30.0
       HnaInterval             15.0
       HnaValidityTime         30.0
} 


le fichiers olsrd.conf d une freifunk
##################################################
##        Freifunk Default OLSRD.CONF           ##
##      olsr.org OLSR daemon config file        ##
##        onelektra at gmx dot net              ##
##################################################
# 
# Lines starting with a # are discarded
#
# This file was edited by Elektra and needs
# olsrd-0.4.10 CVS or higher
#
# This file is an example of a typical configuration 
# for a huge (250 Nodes or more), reliable, scalable
# routing-loop-free (well, almost  :)  and mostly static 
# network (regarding mobility) using the LQ extention
# and FishEyeAlgorithm with LinkQualityDijkstraLimit 
# to reduce CPU-Overhead
#
# Debug level(0-9)
# If set to 0 the daemon runs in the background
# Use Debug level 0 on a embedded system -
# debugging draws a lot of CPU-Power
DebugLevel      1
# FishEyeAlgorithm - Disable only if you want to
# experience routing loops  :) 
# See the README about Fisheye in the olsrd-source
LinkQualityFishEye 1
# Don't recalculate the Dijkstra-Table for every 
# incoming TC-Message from nodes more than n hops away -
# Disable this algorithm in a huge mesh only if you are 
# interested to accelerate global warming with overheated CPUs
# The first integer tells the algorithm to recalculate 
# the Dijkstra-table when a TC-Message arrives from a node
# not more than n hops away. If set to 0 it will not 
# recalculate it upon incoming TCs
# The second number (float) sets the time interval when
# the Dijkstra table will be recalculated anyway.
# Whatever comes first... 
LinkQualityDijkstraLimit 3 5.0
# IP version to use (4 or 6)
IpVersion       4
# Clear the screen each time the internal state changes
ClearScreen     yes
# HNA IPv4 routes
# syntax: netaddr netmask
# Example Internet gateway:
# 0.0.0.0 0.0.0.0
Hna4
{
# Don't use this to announce an Internet Gateway -
# rather use the dyn_gw plugin that checks wheter you are
# actually a gateway or a black hole for other peoples
# internet traffic...
#   Internet gateway:
#   0.0.0.0      0.0.0.0
#   more entries can be added:
#   192.168.1.0  255.255.255.0
}
# HNA IPv6 routes
# syntax: netaddr prefix
# Example Internet gateway:
Hna6
{
#   Internet gateway:
#   ::              0
#   more entries can be added:
#   fec0:2200:106:: 48
}
# Should olsrd keep on running even if there are
# no interfaces available? This is a good idea
# for a PCMCIA/USB hotswap environment.
# "yes" OR "no"
AllowNoInt      yes
# TOS(type of service) value for
# the IP header of control traffic.
# If not set it will default to 16
#TosValue       16
# The fixed willingness to use(0-7)
# If not set willingness will be calculated
# dynamically based on battery/power status
# if such information is available
Willingness     7
# Allow processes like the GUI front-end
# to connect to the daemon.
IpcConnect
{
     # Determines how many simultaneously
     # IPC connections that will be allowed
     # Setting this to 0 disables IPC
     MaxConnections  1
    # By default only 127.0.0.1 is allowed
    # to connect. Here allowed hosts can
    # be added
    Host            127.0.0.1
    #Host            10.0.0.5
    # You can also specify entire net-ranges 
    # that are allowed to connect. Multiple
    # entries are allowed
    #Net             192.168.1.0 255.255.255.0     
}
# Enable Hysteresis only if you want your routing table
# to brake down every 5 seconds
# Hysteresis is one of this fancy looking 'optimizations'
# in RFC 3626 that don't work in real life
# If unsure say "NO!"
UseHysteresis   no
# Hysteresis parameters
# Do not alter these unless you know 
# what you are doing!
#
# If you know what you are doing 
# you make sure that hysteresis
# is completely SWITCHED OFF!
#
# Set to auto by default. Allowed
# values are floating point values
# in the interval 0,1
# THR_LOW must always be lower than
# THR_HIGH.
#HystScaling    0.50
#HystThrHigh    0.80
#HystThrLow     0.30
# Link quality level
# 0 = do not use link quality
# 1 = use link quality for MPR selection
# 2 = use link quality for MPR selection and routing
# Defaults to 0
LinkQualityLevel        2
# Link quality window size
# Defaults to 10
#  100 is slow but stable...
LinkQualityWinSize      100
# Polling rate in seconds(float). 
# Default value 0.05 sec
Pollrate        0.05
# TC redundancy
# Specifies how much neighbor info should
# be sent in TC messages
# Possible values are:
# 0 - only send MPR selectors
# 1 - send MPR selectors and MPRs
# 2 - send all neighbors
#
# defaults to 0
# MultiPointRelais is another notorious
# 'optimization' feature in RFC3626...
# Switch it off by chosing redundancy value 2
TcRedundancy    2
#
# MPR coverage
# Specifies how many MPRs a node should
# try select to reach every 2 hop neighbor
#
# Can be set to any integer >0
#
# defaults to 1
#
# Full coverage is the way to get rid of this
# annoying 'optimization'
MprCoverage     7
# Olsrd plugins to load
# This must be the absolute path to the file
# or the loader will use the following scheme:
# - Try the paths in the LD_LIBRARY_PATH 
#   environment variable.
# - The list of libraries cached in /etc/ld.so.cache
# - /lib, followed by /usr/lib
# Example plugin entry with parameters:
# This activates the HTTP Info plugin on port 8080 for
# localhost only.
LoadPlugin         "httpinfo.so.0.1"
 {
      PlParam     "port" "8080"
      PlParam     "accept" "localhost"
}
# This plugin generates the information to make those fancy
# 2D and 3D topology graphs
#LoadPlugin         "olsrd_dot_draw.so.0.3"
#{
#       PlParam     "accept" "192.168.120.17"
#}
# This plugin announces that this node is a gateway into
# other networks, it it actually is:
#LoadPlugin "olsrd_dyn_gw.so.0.3"
#{
# Here parameters are set to be sent to the
# plugin. Theese are on the form "key" "value".
# Parameters ofcause, differs from plugin to plugin.
# Consult the documentation of your plugin for details.
# Example: dyn_gw params
# how often to check for Internet connectivity
# defaults to 5 secs
#   PlParam     "Interval"   "40"
# if one or more IPv4 addresses are given, do a ping on these in
# descending order to validate that there is not only an entry in
# routing table, but also a real internet connection. If any of
# these addresses could be pinged successfully, the test was
# succesful, i.e. if the ping on the 1st address was successful,the
# 2nd won't be pinged
#  PlParam     "Ping"       "141.1.1.1"
#   PlParam     "Ping"       "194.25.2.129"
#}
# This plugin announces services available on your router:
# Of course the configfile should be present...
# LoadPlugin    "olsrd_servicediscover.so.0.3"
#{
#        PlParam "configfile" "/etc/servicediscover.conf"
#};
# Add more plugins here...
# Finally, the interfaces section:
# Interfaces and their rules
# Omitted options will be set to the
# default values. Multiple interfaces
#
# can be specified in the same block
# and multiple blocks can be set.
# !!CHANGE THE INTERFACE LABEL(s) TO MATCH YOUR INTERFACE(s)!!
# (eg. wlan0 or eth1):
Interface "ath0" "eth0" "eth1" "wlan0"
{
   # IPv4 broadcast address to use. The
   # one usefull example would be 255.255.255.255
   # If not defined the broadcastaddress
   # every card is configured with is used
   # Ip4Broadcast              255.255.255.255
   # IPv6 address scope to use.
   # Must be 'site-local' or 'global'
   # Ip6AddrType               site-local
   # IPv6 multicast address to use when
   # using site-local addresses.
   # If not defined, ff05::15 is used
   # Ip6MulticastSite          ff05::11
   # IPv6 multicast address to use when
   # using global addresses
   # If not defined, ff0e::1 is used
   # Ip6MulticastGlobal        ff0e::1
   # Emission intervals.
   # If not defined, RFC proposed values will
   # be used in most cases.
   # Hello interval in seconds(float)
   HelloInterval    5.0
   # HELLO validity time
   HelloValidityTime   300.0
   # TC interval in seconds(float)
   TcInterval        2.0
   # TC validity time
   TcValidityTime      300.0
   # MID interval in seconds(float)
   MidInterval 5.0
   # MID validity time
   MidValidityTime     300.0
   # HNA interval in seconds(float)
   HnaInterval 5.0
   # HNA validity time
   HnaValidityTime     300.0
   # When multiple links exist between hosts
   # the weight of interface is used to determine
   # the link to use. Normally the weight 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 value.
   # Weight 0

}

un fichiers de config d un olsr compilé a partir de source de openmesh
# niveau de debug(0-9)
# si vous mettez a 0 le daemon tourne en tache de fond
DebugLevel 0
# Fisheye mechanism for TC messages 0=off, 1=on
LinkQualityFishEye 1
# Don't recalculate the Dijkstra-table for every incoming topology 
# control packet. There is no need to recalculate the whole table 
# if a minor change occured several hops away. Small CPUs will start
# to glow if you do this in a mesh of considerable size. Rather the table 
# should be recalculated if a change occured in the neighborhood 
# of this node. The first number is the number of hops. Nodes within 
# this number of hops trigger a recalculation of the table. If the 
# number is 0 no incoming topology control packet will trigger 
# a recalculation of the table. The second number (floating point!) 
# is the length ot the interval until the table is recalculated anyway.    
LinkQualityDijkstraLimit 1 6.0
# IP version to use (4 or 6)
IpVersion       4
# Clear the screen each time the internal state changes
ClearScreen     yes
# HNA IPv4 routes
# syntax: netaddr netmask
# Example Internet gateway:
# 0.0.0.0 0.0.0.0
Hna4
{
#   Internet gateway:
  0.0.0.0      0.0.0.0
}
# HNA IPv6 routes
# syntax: netaddr prefix
# Example Internet gateway:
Hna6
{
#   Internet gateway:
#   ::              0
#   more entries can be added:
#   fec0:2200:106:: 48
} 
# Should olsrd keep on running even if there are
# no interfaces available? This is a good idea
# for a PCMCIA/USB hotswap environment.
# "yes" OR "no" 
AllowNoInt      yes
# TOS(type of service) value for
# the IP header of control traffic.
# If not set it will default to 16 
#TosValue       16
# The fixed willingness to use(0-7)
# If not set willingness will be calculated
# dynamically based on battery/power status
# if such information is available
#Willingness            4
# Allow processes like the GUI front-end
# to connect to the daemon.
IpcConnect
{
# Determines how many simultaneously
# IPC connections that will be allowed
# Setting this to 0 disables IPC
MaxConnections  6
    # By default only 127.0.0.1 is allowed
    # to connect. Here allowed hosts can
    # be added
    Host            127.0.0.1
    #Host            10.0.0.5
    # You can also specify entire net-ranges 
    # that are allowed to connect. Multiple
    # entries are allowed
    Net             192.168.16.0 255.255.255.0     
}
# Wether to use hysteresis or not
# Hysteresis adds more robustness to the
# link sensing but delays neighbor registration.
# Used by default. 'yes' or 'no'
#   Do not use hysteresis with ETX!
UseHysteresis   no
# Hysteresis parameters
# Do not alter these unless you know 
# what you are doing!
# Set to auto by default. Allowed
#  values are floating point values
# in the interval 0,1
# THR_LOW must always be lower than
# THR_HIGH. 
#HystScaling    0.50
#HystThrHigh    0.80
#HystThrLow     0.30
# Link quality level
# 0 = do not use link quality
# 1 = use link quality for MPR selection
# 2 = use link quality for MPR selection and routing
# Defaults to 0
LinkQualityLevel        2
# Link quality window size
# Defaults to 10
LinkQualityWinSize      100
# Polling rate in seconds(float). 
# Default value 0.05 sec
Pollrate        0.05
# TC redundancy
# Specifies how much neighbor info should
# be sent in TC messages
# Possible values are:
# 0 - only send MPR selectors
# 1 - send MPR selectors and MPRs
# 2 - send all neighbors
#
# defaults to 0
TcRedundancy    2
#
# MPR coverage
# Specifies how many MPRs a node should
# try select to reach every 2 hop neighbor
#
# Can be set to any integer >0
#
# defaults to 1 
MprCoverage     5
# Olsrd plugins to load
#  This must be the absolute path to the file
# or the loader will use the following scheme:
# - Try the paths in the LD_LIBRARY_PATH 
#   environment variable.
# - The list of libraries cached in /etc/ld.so.cache
# - /lib, followed by /usr/lib
# Example plugin entry with parameters:
LoadPlugin "olsrd_dyn_gw.so.0.3"
{
   # Here parameters are set to be sent to the
   # plugin. Theese are on the form "key" "value".
   # Parameters ofcause, differs from plugin to plugin.
   # Consult the documentation of your plugin for details.
#
   # Example: dyn_gw params
#
   # how often to check for Internet connectivity
   # defaults to 5 secs
#   PlParam     "Interval"   "40"
#   
   # if one or more IPv4 addresses are given, do a ping on these in
   # descending order to validate that there is not only an entry in
   # routing table, but also a real internet connection. If any of
   # these addresses could be pinged successfully, the test was
   # succesful, i.e. if the ping on the 1st address was successful,the
   # 2nd won't be pinged
#   PlParam     "Ping"       "141.1.1.1"
#   PlParam     "Ping"       "194.25.2.129"
}
#
#LoadPlugin "olsrd_httpinfo.so.0.1"
#{
#  PlParam     "port"  "8080"
#   PlParam     "Net"   "0.0.0.0 255.255.255.255"
#}
 #          
##
# Interfaces and their rules
# Omitted options will be set to the
# default values. Multiple interfaces
# can be specified in the same block
# and multiple blocks can be set.
#
# !!CHANGE THE INTERFACE LABEL(s) TO MATCH YOUR INTERFACE(s)!!
# (eg. wlan0 or eth1):
#
Interface "eth1" "eth2" 
{
    # IPv4 broadcast address to use. The
   # one usefull example would be 255.255.255.255
   # If not defined the broadcastaddress
   # every card is configured with is used
#
   # Ip4Broadcast              255.255.255.255
#
   # IPv6 address scope to use.
   # Must be 'site-local' or 'global'
#
   # Ip6AddrType               site-local
#
   # IPv6 multicast address to use when
   # using site-local addresses.
   # If not defined, ff05::15 is used
#
   # Ip6MulticastSite          ff05::11
#
   # IPv6 multicast address to use when
   # using global addresses
   # If not defined, ff0e::1 is used
#
   # Ip6MulticastGlobal        ff0e::1
#
#
   # Emission intervals.
   # If not defined, RFC proposed values will
   # be used in most cases.
#
   # Hello interval in seconds(float)
   HelloInterval    5.0
#
   # HELLO validity time
   HelloValidityTime   200.0
#
#
   # TC interval in seconds(float) 0.5 is only viable when
   # LinkQualityFishEye is enabled. Otherwise larger networks would
   # suffocate from a massive protocol overhead of TC-messages
#
   TcInterval        0.5  
   # TC validity time
   TcValidityTime      250.0
   # MID interval in seconds(float)
   MidInterval 5.0
   # MID validity time
   MidValidityTime     100.0
   # HNA interval in seconds(float)
   HnaInterval 5.0
   # HNA validity time
   HnaValidityTime     100.0
##
##
   # If a certain route should be preferred or ignored by the mesh, the
   # Link Quality value of a node can be multiplied with a factor entered
   # here. In the example the route using 192.168.0.1 would rather be
   # ignored.  A multiplier of 0.5 will result in a small (bad) LinkQuality
   # value and a high (bad) ETX value.  Note: Link quality multiplier is
   # used only when LinkQualityLevel is > 0.
#     LinkQualityMult 10.200.172.200 0.9
   # This multiplier applies to all other nodes 
   # LinkQualityMult default 0.8
}