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