Merge tag 'v0.6.4'
[olsrd.git] / files / olsrd.conf.default.full
1 #
2 # OLSR.org routing daemon config file
3 # This file contains ALL available options and explanations about them
4 #
5 # Lines starting with a # are discarded
6 #
7
8 #### ATTENTION for IPv6 users ####
9 # Because of limitations in the parser IPv6 addresses must NOT
10 # begin with a ":", so please add a "0" as a prefix.
11
12 ###########################
13 ### Basic configuration ###
14 ###########################
15 # keep this settings at the beginning of your first configuration file
16
17 # Debug level (0-9)
18 # If set to 0 the daemon runs in the background, unless "NoFork" is set to true
19 # (Default is 1)
20
21 # DebugLevel  1
22
23 # IP version to use (4 or 6)
24 # (Default is 4)
25
26 # IpVersion 4
27
28 #################################
29 ### OLSRd agent configuration ###
30 #################################
31 # this parameters control the settings of the routing agent which are not
32 # related to the OLSR protocol and it's extensions
33
34 # Clear the screen each time the internal state changes
35 # (Default is yes)
36
37 # ClearScreen     yes
38
39 # Should olsrd keep on running even if there are
40 # no interfaces available? This is a good idea
41 # for a PCMCIA/USB hotswap environment.
42 # (Default is yes)
43
44 # AllowNoInt  yes
45
46 # LockFile
47 # The lockfile is used to prevent multiple OLSR instances running at the same
48 # time.
49 # (Linux/BSD default is "/var/run/olsrd-ipv(4/6).lock")
50 # (Win32 default is "<configfile>-ipv(4/6).lock")
51
52 # LockFile "olsrd.lock"
53
54 # Polling rate for OLSR sockets in seconds (float). 
55 # (Default is 0.05)
56
57 # Pollrate  0.05
58
59 # Interval to poll network interfaces for configuration changes (in seconds).
60 # Linux systems can detect interface statechange via netlink sockets.
61 # (Defaults is 2.5)
62
63 # NicChgsPollInt  2.5
64
65 # TOS(type of service) byte value for the IP header of control traffic.
66 # Must be multiple of 4, because OLSR doesn't use ECN
67 # (Default is 192, CS6 - Network Control)
68
69 # TosValue 192
70
71 # FIBMetric controls the metric value of the host-routes OLSRd sets.
72 # - "flat" means that the metric value is always 2. This is the preferred value
73 #   because it helps the linux kernel routing to clean up older routes
74 # - "correct" use the hopcount as the metric value.
75 # - "approx" use the hopcount as the metric value too, but does only update the
76 #   hopcount if the nexthop changes too
77 # (Default is "flat")
78
79 # FIBMetric "flat"
80
81 #######################################
82 ### Linux specific OLSRd extensions ###
83 #######################################
84 # these parameters are only working on linux at the moment, but might become
85 # useful on BSD in the future
86
87 # SrcIpRoutes tells OLSRd to set the Src flag of host routes to the originator-ip
88 # of the node. In addition to this an additional localhost device is created
89 # to make sure the returning traffic can be received.
90 # (Default is "no")
91
92 # SrcIpRoutes no
93
94 # Specify the proto tag to be used for routes olsr inserts into kernel
95 # currently only implemented for linux
96 # valid values under linux are 1 .. 254
97 # 1 gets remapped by olsrd to 0 UNSPECIFIED (1 is reserved for ICMP redirects)
98 # 2 KERNEL routes (not very wise to use)
99 # 3 BOOT (should in fact not be used by routing daemons)
100 # 4 STATIC 
101 # 8 .. 15 various routing daemons (gated, zebra, bird, & co)
102 # (defaults to 0 which gets replaced by an OS-specific default value
103 # under linux 3 (BOOT) (for backward compatibility)
104
105 # RtProto 0
106
107 # Specifies the routing Table olsr uses
108 # RtTable is for host routes, RtTableDefault for the route to the default
109 # internet gateway (2 in case of IPv6+NIIT) and RtTableTunnel is for
110 # routes to the ipip tunnels, valid values are 1 to 254
111 # There is a special parameter "auto" (choose default below)
112 # (with smartgw: default is 254/223/224)
113 # (without smartgw: default is 254/254/254, linux main table)
114
115 # RtTable auto
116 # RtTableDefault auto
117 # RtTableTunnel auto
118
119 # Specifies the policy rule priorities for the three routing tables and
120 # a special rule for smartgateway routing (see README-Olsr-Extensions)
121 # Priorities can only be set if three different routing tables are set.
122 # if set the values must obey to condition
123 # RtTablePriority < RtTableDefaultOlsrPriority
124 # < RtTableTunnelPriority < RtTableDefaultPriority.
125 # There are two special parameters, "auto" (choose fitting to SmartGW
126 # mode) and "none" (do not set policy rule)
127 # (with smartgw: default is none/32776/32776/32796)
128 # (without smartgw: default is none/none/none/none)
129
130 # RtTablePriority auto
131 # RtTableDefaultOlsrPriority auto
132 # RtTableTunnelPriority auto
133 # RtTableDefaultPriority auto
134
135 # Activates (in IPv6 mode) the automatic use of NIIT
136 # (see README-Olsr-Extensions)
137 # (default is "yes")
138
139 # UseNiit yes
140
141 # Activates the smartgateway ipip tunnel feature.
142 # See README-Olsr-Extensions for a description of smartgateways.
143 # (default is "no")
144
145 # SmartGateway no
146
147 # Allows the selection of a smartgateway with NAT (only for IPv4)
148 # (default is "yes")
149
150 # SmartGatewayAllowNAT yes
151
152 # Determines the period (in milliseconds) on which a new smart gateway
153 # selection is performed.
154 # (default is 10000 milliseconds)
155
156 # SmartGatewayPeriod 10000
157
158 # Determines the number of times the link state database must be stable
159 # before a new smart gateway is selected.
160 # (default is 6)
161
162 # SmartGatewayStableCount 6
163
164 # When another gateway than the current one has a cost of less than the cost
165 # of the current gateway multiplied by SmartGatewayThreshold then the smart
166 # gateway is switched to the other gateway. The unit is percentage.
167 # (defaults to 0)
168
169 # SmartGatewayThreshold 0
170
171 # The weighing factor for the gateway uplink bandwidth (exit link, uplink).
172 # See README-Olsr-Extensions for a description of smart gateways.
173 # (default is 1)
174
175 # SmartGatewayWeightExitLinkUp 1
176
177 # The weighing factor for the gateway downlink bandwidth (exit link, downlink).
178 # See README-Olsr-Extensions for a description of smart gateways.
179 # (default is 1)
180
181 # SmartGatewayWeightExitLinkDown 1
182
183 # The weighing factor for the ETX costs.
184 # See README-Olsr-Extensions for a description of smart gateways.
185 # (default is 1)
186
187 # SmartGatewayWeightEtx 1
188
189 # The divider for the ETX costs.
190 # See README-Olsr-Extensions for a description of smart gateways.
191 # (default is 0)
192
193 # SmartGatewayDividerEtx 0
194
195 # Defines what kind of Uplink this node will publish as a
196 # smartgateway. The existence of the uplink is detected by
197 # a route to 0.0.0.0/0, ::ffff:0:0/96 and/or 2000::/3.
198 # possible values are "none", "ipv4", "ipv6", "both"
199 # (default is "both")
200
201 # SmartGatewayUplink "both"
202
203 # Specifies if the local ipv4 uplink use NAT
204 # (default is "yes")
205
206 # SmartGatewayUplinkNAT yes
207
208 # Specifies the speed of the uplink in kilobit/s.
209 # First parameter is upstream, second parameter is downstream
210 # (default is 128/1024)
211
212 # SmartGatewaySpeed 128 1024
213
214 # Specifies the EXTERNAL ipv6 prefix of the uplink. A prefix
215 # length of more than 64 is not allowed.
216 # (default is 0::/0)
217
218 # SmartGatewayPrefix 0::/0
219
220 # Set to yes will make OLSRd to set the file 
221 # /proc/sys/net/ipv4/ip_forward to 1 during startup. It will be
222 # restored to the original value during shutdown
223 # Set this to no makes OLSRd check the value, if its not 1
224 # OLSRd will exit with an error.
225 # (default is yes)
226
227 # SetIpForward yes
228
229 ##############################
230 ### OLSR protocol settings ###
231 ##############################
232
233 # For testing purposes it may be nice to use another port for olsrd
234 # for using another port than the IANA assigned one 
235 # for a production network, there should be a good reason!!
236 # valid values are integers >1, please be careful with using reserved
237 # port numbers
238 # (default is 698, the IANA assigned olsr-port)
239
240 # OlsrPort 698
241
242 # Sets the main IP (originator ip) of the router. This IP will NEVER
243 # change during the uptime of olsrd.
244 # (default is 0.0.0.0, which triggers usage of the IP of the first interface)
245
246 # MainIp 10.0.0.1
247
248 # The fixed willingness to use (0-7)
249 # If not set willingness will be calculated
250 # dynamically based on battery/power status
251 # (default is 3)
252
253 # Willingness     3
254
255 # HNA (Host network association) allows the OLSR to announce
256 # additional IPs or IP subnets to the net that are reachable
257 # through this node.
258 # Syntax for HNA4 is "network-address    network-mask"
259 # Syntax for HNA6 is "network-address    prefix-length"
260 # (default is no HNA)
261 Hna4
262 {
263 # Internet gateway
264 # 0.0.0.0   0.0.0.0
265 # specific small networks reachable through this node
266 # 15.15.0.0 255.255.255.0
267 }
268 Hna6
269 {
270 # Internet gateway
271 #   0::                     0
272 # specific small networks reachable through this node
273 #   fec0:2200:106:0:0:0:0:0 48
274 }
275
276
277 # Hysteresis for link sensing (only for hopcount metric)
278 # Hysteresis adds more robustness to the link sensing
279 # but delays neighbor registration.
280 # (defaults to yes)
281
282 # UseHysteresis yes
283
284 # Hysteresis parameters (only for hopcount metric)
285 # Do not alter these unless you know what you are doing!
286 # Set to auto by default. Allowed values are floating point
287 # values in the interval 0,1
288 # THR_LOW must always be lower than THR_HIGH!!
289 # (default is 0.5/0.8/0.3)
290
291 # HystScaling  0.50
292 # HystThrHigh  0.80
293 # HystThrLow 0.30
294
295 # TC redundancy
296 # Specifies how much neighbor info should be sent in
297 # TC messages. Because of a design problem in the 0.5.x
298 # dijkstra implementation this value must be set to 2.
299 # 2 - send all neighbors
300 # (default is 2)
301
302 # TcRedundancy  2
303
304 # MPR coverage specifies how many MPRs a node should
305 # try select to reach every 2 hop neighbor. Because of
306 # a design problem in the 0.5.x lq mpr selection algorithm
307 # this value should be set to 7.
308 # (default is 7)
309
310 # MprCoverage 7
311
312 ################################
313 ### OLSR protocol extensions ###
314 ################################
315
316 # Link quality level switch between hopcount and 
317 # cost-based (mostly ETX) routing. Because of
318 # a design problem in the 0.5.x dijkstra algorithm this
319 # value should not be set to 1.
320 # 0 = do not use link quality
321 # 2 = use link quality for MPR selection and routing
322 # (default is 2)
323
324 # LinkQualityLevel 2
325
326 # Link quality algorithm (only for lq level 2)
327 # (see README-Olsr-Extensions)
328 # - "etx_float", a floating point  ETX with exponential aging
329 # - "etx_fpm", same as ext_float, but with integer arithmetic
330 # - "etx_ff" (ETX freifunk), an etx variant which use all OLSR
331 #   traffic (instead of only hellos) for ETX calculation
332 # - "etx_ffeth", an incompatible variant of etx_ff that allows
333 #   ethernet links with ETX 0.1.
334 # (defaults to "etx_ff")
335
336 # LinkQualityAlgorithm    "etx_ff"
337
338 # Link quality aging factor (only for lq level 2)
339 # Tuning parameter for etx_float and etx_fpm, smaller values
340 # mean slower changes of ETX value. (allowed values are
341 # between 0.01 and 1.0)
342 # (default is 0.05)
343
344 # LinkQualityAging 0.05
345
346 # Fisheye mechanism for TCs (0 meansoff, 1 means on)
347 # (default is 1)
348
349 # LinkQualityFishEye  1
350
351 #
352 # NatThreshold 
353 #
354 # (currently this is only in the freifunk firmware)
355 # If the NAT-Endpoint (the preferred 0/0 HNA emitting node)
356 # is to be changed, the ETX value of the current 0/0 is 
357 # multiplied with the NatThreshold value before being
358 # compared to the new one.
359 # The parameter can be a value between 0.1 and 1.0, but
360 # should be close to 1.0 if changed.
361 # WARNING: This parameter should not be used together with
362 # the etx_ffeth metric !!
363 # (defaults to 1.0)
364
365 # NatThreshold  1.0
366
367 #############################################################
368 ### Configuration of the IPC to the windows GUI interface ###
369 #############################################################
370
371 IpcConnect
372 {
373      # Determines how many simultaneously
374      # IPC connections that will be allowed
375      # Setting this to 0 disables IPC
376
377      # MaxConnections  0
378
379      # By default only 127.0.0.1 is allowed
380      # to connect. Here allowed hosts and networks can
381      # be added
382
383      # Host            127.0.0.1
384      # Host            10.0.0.5
385      # Net             192.168.1.0 255.255.255.0     
386 }
387
388 #####################################
389 ### Example plugin configurations ###
390 #####################################
391 # Olsrd plugins to load
392 # This must be the absolute path to the file
393 # or the loader will use the following scheme:
394 # - Try the paths in the LD_LIBRARY_PATH 
395 #   environment variable.
396 # - The list of libraries cached in /etc/ld.so.cache
397 # - /lib, followed by /usr/lib
398 #
399 # the examples in this list are for linux, so check if the plugin is
400 # available if you use windows/BSD.
401 # each plugin should have a README file in it's lib subfolder
402
403 # LoadPlugin "olsrd_httpinfo.dll"
404 LoadPlugin "olsrd_httpinfo.so.0.1"
405 {
406     # port number the httpinfo plugin will be listening, default 1978
407 #   PlParam     "port"   "8000"
408     
409     # ip address that can access the plugin, use "0.0.0.0"
410     # to allow everyone
411     PlParam     "Host"   "127.0.0.1"
412 #   PlParam     "Host"   "80.23.53.22"
413     
414     # networks that can access the plugin (ip/netmask)
415     # careful with 0.0.0.0/0, makes (ddos) attacks poss.
416 #   PlParam     "Net"    "0.0.0.0 0.0.0.0"
417     PlParam     "Net"    "104.0.0.0 255.255.0.0"
418     PlParam     "Net"    "192.168.0.0 255.255.0.0"
419 }
420
421 # LoadPlugin "olsrd_txtinfo.dll"
422 LoadPlugin "olsrd_txtinfo.so.0.1"
423 {
424     # the default port is 2006 but you can change it like this:
425     #PlParam     "port"   "8080"
426
427     # You can set a "accept" single address to allow to connect to
428     # txtinfo. If no address is specified, then localhost (127.0.0.1)
429     # is allowed by default.  txtinfo will only use the first "accept"
430     # parameter specified and will ignore the rest.
431
432     # to allow a specific host:
433     #PlParam      "accept" "172.29.44.23"
434     # if you set it to 0.0.0.0, it will accept all connections
435     #PlParam      "accept" "0.0.0.0"
436 }
437
438 # LoadPlugin "olsrd_jsoninfo.dll"
439 LoadPlugin "olsrd_jsoninfo.so.0.0"
440 {
441     # the default port is 2006 but you can change it like this:
442     #PlParam     "port"   "8080"
443
444     # You can set a "accept" single address to allow to connect to
445     # jsoninfo. If no address is specified, then localhost (127.0.0.1)
446     # is allowed by default.  jsoninfo will only use the first "accept"
447     # parameter specified and will ignore the rest.
448
449     # to allow a specific host:
450     #PlParam      "accept" "172.29.44.23"
451     # if you set it to 0.0.0.0, it will accept all connections
452     #PlParam      "accept" "0.0.0.0"
453
454     # specify a UUID for this node to track it for debugging
455     #PlParam      "UUIDFile" "/etc/olsrd/olsrd.uuid"
456 }
457
458 #LoadPlugin "olsrd_secure.so.0.3"
459 #{
460     # define source of keyfile for secure plugin
461     # see lib/secure/README_SECURE for more information
462     
463 #   PlParam     "Keyfile"   "/etc/olsr-keyfile.txt"
464 #}
465
466 #LoadPlugin "olsrd_dyn_gw.so.0.5"
467 #{
468     # The plugin check interval can be set here in milliseconds.
469     # The default is 1000 ms (1 second).
470 #    PlParam     "CheckInterval"  "5000"
471     
472     # The ping check interval in case there is any pinged host specified.
473     # The default is 5 seconds.
474 #    PlParam     "PingInterval"   "40"
475     
476     # If one or more IPv4 addresses are given, do a ping on these in
477     # descending order to validate that there is not only an entry in
478     # routing table, but also a real network connection. If any of
479     # these addresses could be pinged successfully, the test was
480     # succesful, i.e. if the ping on the 1st address was successful,the
481     # 2nd won't be pinged.
482     #
483     # The Ping list applies to the group of HNAs specified above or to the 
484                 # default internet gateway when no HNA is specified.
485                 #
486                 # Running the plugin without parameters acts as the 'old' dyn_gw_plain.
487     
488     #   The following ping entries for the internet gateway
489 #    PlParam "Ping"   "141.1.1.1"
490 #    PlParam "Ping"   "194.25.2.129"
491     
492     #   First group of HNAs with related ping host
493 #    PlParam    "HNA"      "192.168.80.0 255.255.255.0"
494 #    PlParam    "HNA"      "192.168.81.0 255.255.255.0"
495 #    PlParam    "Ping"   "192.168.81.12"
496     
497     #   Second HNA group with multiple related ping hosts.
498     #   Specifying multiple ping hosts provides redundancy.
499 #    PlParam "HNA"    "192.168.100.0 255.255.255.0"
500 #    PlParam "HNA"    "192.168.101.0 255.255.255.0"
501 #    PlParam "HNA"    "192.168.102.0 255.255.255.0"
502 #    PlParam "Ping"   "192.168.100.10"
503 #    PlParam "Ping"   "192.168.101.10"
504     
505     #   Third HNA group without ping check
506 #    PlParam "HNA"    "192.168.200.0 255.255.255.0"
507 #    PlParam "HNA"    "192.168.201.0 255.255.255.0"
508 #    PlParam "HNA"    "192.168.202.0 255.255.255.0"
509 #}
510
511 #LoadPlugin "olsrd_dyn_gw_plain.so.0.4"
512 #{
513 #}
514
515 #############################################
516 ### OLSRD default interface configuration ###
517 #############################################
518 # the default interface section can have the same values as the following
519 # interface configuration. It will allow you so set common options for all
520 # interfaces.
521
522 InterfaceDefaults {
523     # Ip4Broadcast      255.255.255.255
524 }
525
526 ######################################
527 ### OLSRd Interfaces configuration ###
528 ######################################
529 # multiple interfaces can be specified for a single configuration block
530 # multiple configuration blocks can be specified
531
532 # WARNING, don't forget to insert your interface names here !
533 Interface "<OLSRd-Interface1>" "<OLSRd-Interface2>"
534 {
535     # Interface Mode is used to prevent unnecessary
536     # packet forwarding on switched ethernet interfaces
537     # valid Modes are "mesh" and "ether"
538     # (default is "mesh")
539
540     # Mode "mesh"
541
542     # IPv4 broadcast address for outgoing OLSR packets.
543     # One useful example would be 255.255.255.255
544     # The second useful value would be to
545     # specify the peer address of an ptp-tunnel.
546     # another name of this parameter is "IPv4Multicast"
547     # (default is 0.0.0.0, which triggers the usage of the
548     # interface broadcast IP)
549     
550     # Ip4Broadcast      0.0.0.0
551
552     # IPv6 multicast address
553     # (default is FF02::6D, the manet-router linklocal multicast)
554
555     # IPv6Multicast     FF02::6D
556
557     # IPv4 src address for outgoing OLSR packages
558     # (default is 0.0.0.0, which triggers usage of the interface IP)
559
560     # IPv4Src 0.0.0.0
561
562     # IPv6 src prefix. OLSRd will choose one of the interface IPs
563     # which matches the prefix of this parameter.
564     # (default is 0::/0, which triggers the usage
565     # of a not-linklocal interface IP)
566
567     # IPv6Src 0::/0
568     
569     # Emission intervals in seconds.
570     # If not defined, Freifunk network defaults are used
571     # (default is 2.0/20.0 for Hello and 5.0/300.0 for Tc/Mid/Hna)
572
573     # HelloInterval       2.0
574     # HelloValidityTime  20.0
575     # TcInterval          5.0
576     # TcValidityTime    300.0
577     # MidInterval         5.0
578     # MidValidityTime   300.0
579     # HnaInterval         5.0
580     # HnaValidityTime   300.0
581     
582     # When multiple links exist between hosts
583     # the weight of interface is used to determine
584     # the link to use. Normally the weight is
585     # automatically calculated by olsrd based
586     # on the characteristics of the interface,
587     # but here you can specify a fixed value.
588     # Olsrd will choose links with the lowest value.
589     # Note:
590     # Interface weight is used only when LinkQualityLevel is set to 0.
591     # For any other value of LinkQualityLevel, the interface ETX
592     # value is used instead.
593     # Weight 0
594
595     # If a certain route should be preferred 
596     # or ignored by the mesh, the Link Quality 
597     # value of a node can be multiplied with a factor 
598     # entered here. In the example the route 
599     # using 192.168.0.1 would rather be ignored.
600     # A multiplier of 0.5 will result in a small
601     # (bad) LinkQuality value and a high (bad)
602     # ETX value.
603     # Note:
604     # Link quality multiplier is used only when
605     # LinkQualityLevel is > 0.
606
607     # example 1: reduce LQ to 192.168.0.1 by half
608     # LinkQualityMult 192.168.0.1 0.5
609
610     # example 2: reduce LQ to all nodes on this interface by 20%
611     # LinkQualityMult default 0.8
612 }