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