f56fa0f76dd907b6e681cf268d5caf2ae062231c
[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 # Defines what kind of Uplink this node will publish as a
172 # smartgateway. The existence of the uplink is detected by
173 # a route to 0.0.0.0/0, ::ffff:0:0/96 and/or 2000::/3.
174 # possible values are "none", "ipv4", "ipv6", "both"
175 # (default is "both")
176
177 # SmartGatewayUplink "both"
178
179 # Specifies if the local ipv4 uplink use NAT
180 # (default is "yes")
181
182 # SmartGatewayUplinkNAT yes
183
184 # Specifies the speed of the uplink in kilobit/s.
185 # First parameter is upstream, second parameter is downstream
186 # (default is 128/1024)
187
188 # SmartGatewaySpeed 128 1024
189
190 # Specifies the EXTERNAL ipv6 prefix of the uplink. A prefix
191 # length of more than 64 is not allowed.
192 # (default is 0::/0)
193
194 # SmartGatewayPrefix 0::/0
195
196 # Set to yes will make OLSRd to set the file 
197 # /proc/sys/net/ipv4/ip_forward to 1 during startup. It will be
198 # restored to the original value during shutdown
199 # Set this to no makes OLSRd check the value, if its not 1
200 # OLSRd will exit with an error.
201 # (default is yes)
202
203 # SetIpForward yes
204
205 ##############################
206 ### OLSR protocol settings ###
207 ##############################
208
209 # For testing purposes it may be nice to use another port for olsrd
210 # for using another port than the IANA assigned one 
211 # for a production network, there should be a good reason!!
212 # valid values are integers >1, please be careful with using reserved
213 # port numbers
214 # (default is 698, the IANA assigned olsr-port)
215
216 # OlsrPort 698
217
218 # Sets the main IP (originator ip) of the router. This IP will NEVER
219 # change during the uptime of olsrd.
220 # (default is 0.0.0.0, which triggers usage of the IP of the first interface)
221
222 # MainIp 10.0.0.1
223
224 # The fixed willingness to use (0-7)
225 # If not set willingness will be calculated
226 # dynamically based on battery/power status
227 # (default is 3)
228
229 # Willingness     3
230
231 # HNA (Host network association) allows the OLSR to announce
232 # additional IPs or IP subnets to the net that are reachable
233 # through this node.
234 # Syntax for HNA4 is "network-address    network-mask"
235 # Syntax for HNA6 is "network-address    prefix-length"
236 # (default is no HNA)
237 Hna4
238 {
239 # Internet gateway
240 # 0.0.0.0   0.0.0.0
241 # specific small networks reachable through this node
242 # 15.15.0.0 255.255.255.0
243 }
244 Hna6
245 {
246 # Internet gateway
247 #   0::                     0
248 # specific small networks reachable through this node
249 #   fec0:2200:106:0:0:0:0:0 48
250 }
251
252
253 # Hysteresis for link sensing (only for hopcount metric)
254 # Hysteresis adds more robustness to the link sensing
255 # but delays neighbor registration.
256 # (defaults to yes)
257
258 # UseHysteresis yes
259
260 # Hysteresis parameters (only for hopcount metric)
261 # Do not alter these unless you know what you are doing!
262 # Set to auto by default. Allowed values are floating point
263 # values in the interval 0,1
264 # THR_LOW must always be lower than THR_HIGH!!
265 # (default is 0.5/0.8/0.3)
266
267 # HystScaling  0.50
268 # HystThrHigh  0.80
269 # HystThrLow 0.30
270
271 # TC redundancy
272 # Specifies how much neighbor info should be sent in
273 # TC messages. Because of a design problem in the 0.5.x
274 # dijkstra implementation this value must be set to 2.
275 # 2 - send all neighbors
276 # (default is 2)
277
278 # TcRedundancy  2
279
280 # MPR coverage specifies how many MPRs a node should
281 # try select to reach every 2 hop neighbor. Because of
282 # a design problem in the 0.5.x lq mpr selection algorithm
283 # this value should be set to 7.
284 # (default is 7)
285
286 # MprCoverage 7
287
288 ################################
289 ### OLSR protocol extensions ###
290 ################################
291
292 # Link quality level switch between hopcount and 
293 # cost-based (mostly ETX) routing. Because of
294 # a design problem in the 0.5.x dijkstra algorithm this
295 # value should not be set to 1.
296 # 0 = do not use link quality
297 # 2 = use link quality for MPR selection and routing
298 # (default is 2)
299
300 # LinkQualityLevel 2
301
302 # Link quality algorithm (only for lq level 2)
303 # (see README-Olsr-Extensions)
304 # - "etx_float", a floating point  ETX with exponential aging
305 # - "etx_fpm", same as ext_float, but with integer arithmetic
306 # - "etx_ff" (ETX freifunk), an etx variant which use all OLSR
307 #   traffic (instead of only hellos) for ETX calculation
308 # - "etx_ffeth", an incompatible variant of etx_ff that allows
309 #   ethernet links with ETX 0.1.
310 # (defaults to "etx_ff")
311
312 # LinkQualityAlgorithm    "etx_ff"
313
314 # Link quality aging factor (only for lq level 2)
315 # Tuning parameter for etx_float and etx_fpm, smaller values
316 # mean slower changes of ETX value. (allowed values are
317 # between 0.01 and 1.0)
318 # (default is 0.05)
319
320 # LinkQualityAging 0.05
321
322 # Fisheye mechanism for TCs (0 meansoff, 1 means on)
323 # (default is 1)
324
325 # LinkQualityFishEye  1
326
327 #
328 # NatThreshold 
329 #
330 # (currently this is only in the freifunk firmware)
331 # If the NAT-Endpoint (the preferred 0/0 HNA emitting node)
332 # is to be changed, the ETX value of the current 0/0 is 
333 # multiplied with the NatThreshold value before being
334 # compared to the new one.
335 # The parameter can be a value between 0.1 and 1.0, but
336 # should be close to 1.0 if changed.
337 # WARNING: This parameter should not be used together with
338 # the etx_ffeth metric !!
339 # (defaults to 1.0)
340
341 # NatThreshold  1.0
342
343 #############################################################
344 ### Configuration of the IPC to the windows GUI interface ###
345 #############################################################
346
347 IpcConnect
348 {
349      # Determines how many simultaneously
350      # IPC connections that will be allowed
351      # Setting this to 0 disables IPC
352
353      # MaxConnections  0
354
355      # By default only 127.0.0.1 is allowed
356      # to connect. Here allowed hosts and networks can
357      # be added
358
359      # Host            127.0.0.1
360      # Host            10.0.0.5
361      # Net             192.168.1.0 255.255.255.0     
362 }
363
364 #####################################
365 ### Example plugin configurations ###
366 #####################################
367 # Olsrd plugins to load
368 # This must be the absolute path to the file
369 # or the loader will use the following scheme:
370 # - Try the paths in the LD_LIBRARY_PATH 
371 #   environment variable.
372 # - The list of libraries cached in /etc/ld.so.cache
373 # - /lib, followed by /usr/lib
374 #
375 # the examples in this list are for linux, so check if the plugin is
376 # available if you use windows/BSD.
377 # each plugin should have a README file in it's lib subfolder
378
379 # LoadPlugin "olsrd_httpinfo.dll"
380 LoadPlugin "olsrd_httpinfo.so.0.1"
381 {
382     # port number the httpinfo plugin will be listening, default 1978
383 #   PlParam     "port"   "8000"
384     
385     # ip address that can access the plugin, use "0.0.0.0"
386     # to allow everyone
387     PlParam     "Host"   "127.0.0.1"
388 #   PlParam     "Host"   "80.23.53.22"
389     
390     # networks that can access the plugin (ip/netmask)
391     # careful with 0.0.0.0/0, makes (ddos) attacks poss.
392 #   PlParam     "Net"    "0.0.0.0 0.0.0.0"
393     PlParam     "Net"    "104.0.0.0 255.255.0.0"
394     PlParam     "Net"    "192.168.0.0 255.255.0.0"
395 }
396
397 # LoadPlugin "olsrd_txtinfo.dll"
398 LoadPlugin "olsrd_txtinfo.so.0.1"
399 {
400     # the default port is 2006 but you can change it like this:
401     #PlParam     "port"   "8080"
402
403     # You can set a "accept" single address to allow to connect to
404     # txtinfo. If no address is specified, then localhost (127.0.0.1)
405     # is allowed by default.  txtinfo will only use the first "accept"
406     # parameter specified and will ignore the rest.
407
408     # to allow a specific host:
409     #PlParam      "accept" "172.29.44.23"
410     # if you set it to 0.0.0.0, it will accept all connections
411     #PlParam      "accept" "0.0.0.0"
412 }
413
414 # LoadPlugin "olsrd_jsoninfo.dll"
415 LoadPlugin "olsrd_jsoninfo.so.0.0"
416 {
417     # the default port is 2006 but you can change it like this:
418     #PlParam     "port"   "8080"
419
420     # You can set a "accept" single address to allow to connect to
421     # jsoninfo. If no address is specified, then localhost (127.0.0.1)
422     # is allowed by default.  jsoninfo will only use the first "accept"
423     # parameter specified and will ignore the rest.
424
425     # to allow a specific host:
426     #PlParam      "accept" "172.29.44.23"
427     # if you set it to 0.0.0.0, it will accept all connections
428     #PlParam      "accept" "0.0.0.0"
429 }
430
431 #LoadPlugin "olsrd_secure.so.0.3"
432 #{
433     # define source of keyfile for secure plugin
434     # see lib/secure/README_SECURE for more information
435     
436 #   PlParam     "Keyfile"   "/etc/olsr-keyfile.txt"
437 #}
438
439 #LoadPlugin "olsrd_dyn_gw.so.0.5"
440 #{
441     # The plugin check interval can be set here in milliseconds.
442     # The default is 1000 ms (1 second).
443 #    PlParam     "CheckInterval"  "5000"
444     
445     # The ping check interval in case there is any pinged host specified.
446     # The default is 5 seconds.
447 #    PlParam     "PingInterval"   "40"
448     
449     # If one or more IPv4 addresses are given, do a ping on these in
450     # descending order to validate that there is not only an entry in
451     # routing table, but also a real network connection. If any of
452     # these addresses could be pinged successfully, the test was
453     # succesful, i.e. if the ping on the 1st address was successful,the
454     # 2nd won't be pinged.
455     #
456     # The Ping list applies to the group of HNAs specified above or to the 
457                 # default internet gateway when no HNA is specified.
458                 #
459                 # Running the plugin without parameters acts as the 'old' dyn_gw_plain.
460     
461     #   The following ping entries for the internet gateway
462 #    PlParam "Ping"   "141.1.1.1"
463 #    PlParam "Ping"   "194.25.2.129"
464     
465     #   First group of HNAs with related ping host
466 #    PlParam    "HNA"      "192.168.80.0 255.255.255.0"
467 #    PlParam    "HNA"      "192.168.81.0 255.255.255.0"
468 #    PlParam    "Ping"   "192.168.81.12"
469     
470     #   Second HNA group with multiple related ping hosts.
471     #   Specifying multiple ping hosts provides redundancy.
472 #    PlParam "HNA"    "192.168.100.0 255.255.255.0"
473 #    PlParam "HNA"    "192.168.101.0 255.255.255.0"
474 #    PlParam "HNA"    "192.168.102.0 255.255.255.0"
475 #    PlParam "Ping"   "192.168.100.10"
476 #    PlParam "Ping"   "192.168.101.10"
477     
478     #   Third HNA group without ping check
479 #    PlParam "HNA"    "192.168.200.0 255.255.255.0"
480 #    PlParam "HNA"    "192.168.201.0 255.255.255.0"
481 #    PlParam "HNA"    "192.168.202.0 255.255.255.0"
482 #}
483
484 #LoadPlugin "olsrd_dyn_gw_plain.so.0.4"
485 #{
486 #}
487
488 #############################################
489 ### OLSRD default interface configuration ###
490 #############################################
491 # the default interface section can have the same values as the following
492 # interface configuration. It will allow you so set common options for all
493 # interfaces.
494
495 InterfaceDefaults {
496     # Ip4Broadcast      255.255.255.255
497 }
498
499 ######################################
500 ### OLSRd Interfaces configuration ###
501 ######################################
502 # multiple interfaces can be specified for a single configuration block
503 # multiple configuration blocks can be specified
504
505 # WARNING, don't forget to insert your interface names here !
506 Interface "<OLSRd-Interface1>" "<OLSRd-Interface2>"
507 {
508     # Interface Mode is used to prevent unnecessary
509     # packet forwarding on switched ethernet interfaces
510     # valid Modes are "mesh" and "ether"
511     # (default is "mesh")
512
513     # Mode "mesh"
514
515     # IPv4 broadcast address for outgoing OLSR packets.
516     # One usefull example would be 255.255.255.255
517     # The second useful value would be to
518     # specify the peer adress of an ptp-tunnel.
519     # another name of this parameter is "IPv4Multicast"
520     # (default is 0.0.0.0, which triggers the usage of the
521     # interface broadcast IP)
522     
523     # Ip4Broadcast      0.0.0.0
524
525     # IPv6 multicast address
526     # (default is FF02::6D, the manet-router linklocal multicast)
527
528     # IPv6Multicast     FF02::6D
529
530     # IPv4 src address for outgoing OLSR packages
531     # (default is 0.0.0.0, which triggers usage of the interface IP)
532
533     # IPv4Src 0.0.0.0
534
535     # IPv6 src prefix. OLSRd will choose one of the interface IPs
536     # which matches the prefix of this parameter.
537     # (default is 0::/0, which triggers the usage
538     # of a not-linklocal interface IP)
539
540     # IPv6Src 0::/0
541     
542     # Emission intervals in seconds.
543     # If not defined, Freifunk network defaults are used
544     # (default is 2.0/20.0 for Hello and 5.0/300.0 for Tc/Mid/Hna)
545
546     # HelloInterval       2.0
547     # HelloValidityTime  20.0
548     # TcInterval          5.0
549     # TcValidityTime    300.0
550     # MidInterval         5.0
551     # MidValidityTime   300.0
552     # HnaInterval         5.0
553     # HnaValidityTime   300.0
554     
555     # When multiple links exist between hosts
556     # the weight of interface is used to determine
557     # the link to use. Normally the weight is
558     # automatically calculated by olsrd based
559     # on the characteristics of the interface,
560     # but here you can specify a fixed value.
561     # Olsrd will choose links with the lowest value.
562     # Note:
563     # Interface weight is used only when LinkQualityLevel is set to 0.
564     # For any other value of LinkQualityLevel, the interface ETX
565     # value is used instead.
566     # Weight 0
567
568     # If a certain route should be preferred 
569     # or ignored by the mesh, the Link Quality 
570     # value of a node can be multiplied with a factor 
571     # entered here. In the example the route 
572     # using 192.168.0.1 would rather be ignored.
573     # A multiplier of 0.5 will result in a small
574     # (bad) LinkQuality value and a high (bad)
575     # ETX value.
576     # Note:
577     # Link quality multiplier is used only when
578     # LinkQualityLevel is > 0.
579
580     # example 1: reduce LQ to 192.168.0.1 by half
581     # LinkQualityMult 192.168.0.1 0.5
582
583     # example 2: reduce LQ to all nodes on this interface by 20%
584     # LinkQualityMult default 0.8
585 }