cfg: minor fixup to printing of SmartGatewayPolicyRoutingScript
[olsrd.git] / files / olsrd.conf.default.full.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 policy routing script that is executed during startup and
177 # shutdown of olsrd. The script is only executed when SmartGatewayUseCount
178 # is set to a value larger than 1. The script must setup policy routing
179 # rules such that multi-gateway mode works. A sample script is included.
180 # (default is not set)
181
182 # SmartGatewayPolicyRoutingScript <not set>
183
184 # Determines the egress interfaces that are part of the multi-gateway setup and
185 # therefore only relevant when SmartGatewayUseCount is larger than 1 (in which
186 # case it must be explicitly set).
187 # (default is not set)
188
189 # SmartGatewayEgressInterfaces ""
190
191 # SmartGatewayEgressFile declares the file that contains the bandwidth
192 # parameters of the egress interfaces declared by SmartGatewayEgressInterfaces.
193 # Every line in the file declares bandwidth parameters of an egress interface,
194 # with the format:
195 #   # this is a comment
196 #   interface=upstream,downstream,pathcost,network/prefix,gateway
197 # Only the upstream and downstream fields are mandatory, the other fields are
198 # optional. An empty field signifies that its default should be used.
199 # The field defaults are:
200 #   upstream           = 0 (Kbps)
201 #   downstream         = 0 (Kbps)
202 #   pathcost           = 0 (dimensionless, 1024 is equivalent to 1 hop)
203 #   network/prefix     = no default / not set
204 #                        - network is an IP address
205 #                        - prefix is a number in the range [0, 24] for IPv4
206 #                          and in the range [0, 128] for IPv6
207 #   gateway            = no default / not set (IP address)
208 # (default is /var/run/olsrd-sgw-egress.conf)
209
210 # SmartGatewayEgressFile "/var/run/olsrd-sgw-egress.conf"
211
212 # Determines the period (in milliseconds) on which the SmartGatewayEgressFile
213 # is checked for changes and processed if changed.
214 # (default is 5000)
215
216 # SmartGatewayEgressFilePeriod 5000
217
218 # Declares the file that is written by olsrd to contain the status of the smart
219 # gateways and is only relevant when SmartGatewayUseCount is larger than 1.
220 # (default is <not set>)
221
222 # SmartGatewayStatusFile <not set>
223
224 # Determines the routing tables offset for multi-gateway policy routing tables
225 # See the policy routing script for an explanation.
226 # (default is 90)
227
228 # SmartGatewayTablesOffset 90
229
230 # Determines the policy routing rules offset for multi-gateway policy routing
231 # rules. See the policy routing script for an explanation.
232 # (default is 0, which indicates that the rules and tables should be aligned and
233 # puts this value at SmartGatewayTablesOffset - # egress interfaces -
234 # # olsr interfaces)
235
236 # SmartGatewayRulesOffset 0
237
238 # Allows the selection of a smartgateway with NAT (only for IPv4)
239 # (default is "yes")
240
241 # SmartGatewayAllowNAT yes
242
243 # Determines the period (in milliseconds) on which a new smart gateway
244 # selection is performed.
245 # (default is 10000 milliseconds)
246
247 # SmartGatewayPeriod 10000
248
249 # Determines the number of times the link state database must be stable
250 # before a new smart gateway is selected.
251 # (default is 6)
252
253 # SmartGatewayStableCount 6
254
255 # When another gateway than the current one has a cost of less than the cost
256 # of the current gateway multiplied by SmartGatewayThreshold then the smart
257 # gateway is switched to the other gateway. The unit is percentage.
258 # (default is 0)
259
260 # SmartGatewayThreshold 0
261
262 # The weighing factor for the gateway uplink bandwidth (exit link, uplink).
263 # See README-Olsr-Extensions for a description of smart gateways.
264 # (default is 1)
265
266 # SmartGatewayWeightExitLinkUp 1
267
268 # The weighing factor for the gateway downlink bandwidth (exit link, downlink).
269 # See README-Olsr-Extensions for a description of smart gateways.
270 # (default is 1)
271
272 # SmartGatewayWeightExitLinkDown 1
273
274 # The weighing factor for the ETX costs.
275 # See README-Olsr-Extensions for a description of smart gateways.
276 # (default is 1)
277
278 # SmartGatewayWeightEtx 1
279
280 # The divider for the ETX costs.
281 # See README-Olsr-Extensions for a description of smart gateways.
282 # (default is 0)
283
284 # SmartGatewayDividerEtx 0
285
286 # When a node advertises the maximum bandwidth and its ETX
287 # is below the value of this setting then the resulting gateway
288 # costs are equal to the ETX, otherwise the normal calculation
289 # of the gateway costs applies.
290 # (default is 2560)
291
292 # SmartGatewayMaxCostMaxEtx 2560
293
294 # Defines what kind of Uplink this node will publish as a
295 # smartgateway. The existence of the uplink is detected by
296 # a route to 0.0.0.0/0, ::ffff:0:0/96 and/or 2000::/3.
297 # possible values are "none", "ipv4", "ipv6", "both"
298 # (default is "both")
299
300 # SmartGatewayUplink "both"
301
302 # Specifies if the local ipv4 uplink use NAT
303 # (default is "yes")
304
305 # SmartGatewayUplinkNAT yes
306
307 # Specifies the speed of the uplink in kilobit/s.
308 # First parameter is upstream, second parameter is downstream
309 # (default is 128/1024)
310
311 # SmartGatewaySpeed 128 1024
312
313 # Specifies the EXTERNAL ipv6 prefix of the uplink. A prefix
314 # length of more than 64 is not allowed.
315 # Only relevant when running in IPv6 mode.
316 # (default is 0::/0)
317
318 # SmartGatewayPrefix ::/0
319
320 ##############################
321 ### OLSR protocol settings ###
322 ##############################
323
324 # For testing purposes it may be nice to use another port for olsrd
325 # for using another port than the IANA assigned one
326 # for a production network, there should be a good reason!!
327 # valid values are integers greater than 1, please be careful with
328 # using reserved port numbers
329 # (default is 698, the IANA assigned olsr-port)
330
331 # OlsrPort 698
332
333 # Sets the main IP (originator ip) of the router. This IP will NEVER
334 # change during the uptime of olsrd.
335 # (default is 0.0.0.0, which triggers usage of the IP of the first interface)
336
337 MainIp 192.168.181.102
338
339 # The fixed willingness to use (0-7)
340 # If not set willingness will be calculated
341 # dynamically based on battery/power status
342 # (default is 3)
343
344 # Willingness     3
345
346 # HNA (Host network association) allows the OLSR to announce
347 # additional IPs or IP subnets to the net that are reachable
348 # through this node.
349 # Syntax for HNA4 is "network-address    network-mask"
350 # Syntax for HNA6 is "network-address    prefix-length"
351 # (default is no HNA)
352 Hna4
353 {
354 # Internet gateway
355 # 0.0.0.0   0.0.0.0
356 # specific small networks reachable through this node
357 # 15.15.0.0 255.255.255.0
358 }
359 Hna6
360 {
361 # Internet gateway
362 #   0::                     0
363 # specific small networks reachable through this node
364 #   fec0:2200:106:0:0:0:0:0 48
365 }
366
367 # Hysteresis for link sensing (only for hopcount metric)
368 # Hysteresis adds more robustness to the link sensing
369 # but delays neighbor registration.
370 # (default is no)
371
372 # UseHysteresis no
373
374 # Hysteresis parameters (only for hopcount metric)
375 # Do not alter these unless you know what you are doing!
376 # Set to auto by default. Allowed values are floating point
377 # values in the interval 0,1
378 # THR_LOW must always be lower than THR_HIGH!!
379 # (default is 0.50/0.80/0.30)
380
381 # HystScaling  0.50
382 # HystThrHigh  0.80
383 # HystThrLow   0.30
384
385 # TC redundancy
386 # Specifies how much neighbor info should be sent in
387 # TC messages. Because of a design problem in the 0.5.x
388 # dijkstra implementation this value must be set to 2.
389 # 2 - send all neighbors
390 # (default is 2)
391
392 # TcRedundancy  2
393
394 # MPR coverage specifies how many MPRs a node should
395 # try select to reach every 2 hop neighbor. Because of
396 # a design problem in the 0.5.x dijkstra algorithm this
397 # value should be set to 7.
398 # (default is 7)
399
400 # MprCoverage 7
401
402 ################################
403 ### OLSR protocol extensions ###
404 ################################
405
406 # Link quality level switch between hopcount and
407 # cost-based (mostly ETX) routing. Because of
408 # a design problem in the 0.5.x dijkstra algorithm this
409 # value should not be set to 1.
410 # 0 = do not use link quality
411 # 2 = use link quality for MPR selection and routing
412 # (default is 2)
413
414 # LinkQualityLevel 2
415
416 # Link quality algorithm (only for lq level 2)
417 # (see README-Olsr-Extensions)
418 # - "etx_float", a floating point  ETX with exponential aging
419 # - "etx_fpm", same as ext_float, but with integer arithmetic
420 # - "etx_ff" (ETX freifunk), an etx variant which use all OLSR
421 #   traffic (instead of only hellos) for ETX calculation
422 # - "etx_ffeth", an incompatible variant of etx_ff that allows
423 #   ethernet links with ETX 0.1.
424 # (default is "etx_ff")
425
426 # LinkQualityAlgorithm    "etx_ff"
427
428 # Link quality aging factor (only for lq level 2)
429 # Tuning parameter for etx_float and etx_fpm, smaller values
430 # mean slower changes of ETX value. (allowed values are
431 # between 0.01 and 1.0)
432 # (default is 0.05)
433
434 # LinkQualityAging 0.05
435
436 # Fisheye mechanism for TCs (0 meansoff, 1 means on)
437 # (default is 1)
438
439 # LinkQualityFishEye  1
440
441 #
442 # NatThreshold
443 #
444 # (currently this is only in the freifunk firmware)
445 # If the NAT-Endpoint (the preferred 0/0 HNA emitting node)
446 # is to be changed, the ETX value of the current 0/0 is
447 # multiplied with the NatThreshold value before being
448 # compared to the new one.
449 # The parameter can be a value between 0.1 and 1.0, but
450 # should be close to 1.0 if changed.
451 # WARNING: This parameter should not be used together with
452 # the etx_ffeth metric !!
453 # (default is 1.0)
454
455 # NatThreshold  1.0
456
457 #############################################################
458 ### Configuration of the IPC to the windows GUI interface ###
459 #############################################################
460
461 IpcConnect
462 {
463      # Determines how many simultaneously
464      # IPC connections that will be allowed
465      # Setting this to 0 disables IPC
466
467      # MaxConnections  0
468
469      # By default only 127.0.0.1 is allowed
470      # to connect. Here allowed hosts and networks can
471      # be added
472
473      # Host            127.0.0.1
474      # Host            10.0.0.5
475      # Net             192.168.1.0 255.255.255.0
476 }
477
478 #####################################
479 ### Example plugin configurations ###
480 #####################################
481 # Olsrd plugins to load
482 # This must be the absolute path to the file
483 # or the loader will use the following scheme:
484 # - Try the paths in the LD_LIBRARY_PATH
485 #   environment variable.
486 # - The list of libraries cached in /etc/ld.so.cache
487 # - /lib, followed by /usr/lib
488 #
489
490 # Check whether a plugin is available for your operating system.
491 # Each plugin should have a README file in it's lib subfolder.
492
493 LoadPlugin "olsrd_jsoninfo.so.0.0" {
494 }
495
496 LoadPlugin "olsrd_httpinfo.so.0.1" {
497 }
498
499 #############################################
500 ### OLSRD default interface configuration ###
501 #############################################
502 # the default interface section can have the same values as the following
503 # interface configuration. It will allow you so set common options for all
504 # interfaces.
505
506 InterfaceDefaults
507 {
508 }
509
510 ######################################
511 ### OLSRd Interfaces configuration ###
512 ######################################
513 # Multiple interfaces can be specified for a single configuration block, format:
514 #   Interface "<OLSRd-Interface1>" "<OLSRd-Interface2>"
515 #
516 # Multiple configuration blocks can be specified.
517
518 Interface "wlan0"
519 {
520     # Interface Mode is used to prevent unnecessary
521     # packet forwarding on switched ethernet interfaces
522     # valid Modes are "mesh" and "ether"
523     # (default is "mesh")
524
525     # Mode "mesh"
526
527     # IPv4 broadcast address for outgoing OLSR packets.
528     # One useful example would be 255.255.255.255
529     # The second useful value would be to
530     # specify the peer address of an ptp-tunnel.
531     # another name of this parameter is "IPv4Multicast"
532     # (default is 0.0.0.0, which triggers the usage of the
533     # interface broadcast IP)
534
535     # Ip4Broadcast      0.0.0.0
536
537     # IPv6 multicast address
538     # (default is ff02::6d, the manet-router linklocal multicast)
539
540     # IPv6Multicast ff02::6d
541
542     # IPv4 src address for outgoing OLSR packages
543     # (default is 0.0.0.0, which triggers usage of the interface IP)
544
545     # IPv4Src 0.0.0.0
546
547     # IPv6 src prefix. OLSRd will choose one of the interface IPs
548     # which matches the prefix of this parameter.
549     # (default is 0::/0, which triggers the usage
550     # of a not-linklocal interface IP)
551
552     # IPv6Src ::/0
553
554     # Emission intervals in seconds.
555     # If not defined, Freifunk network defaults are used.
556     # (defaults: Hello = 2.0/20.0,  TC  = 5.0/300.0,
557     #            MID   = 5.0/300.0, HNA = 5.0/300.0)
558
559     # HelloInterval       2.0
560     # HelloValidityTime   20.0
561     # TcInterval          5.0
562     # TcValidityTime      300.0
563     # MidInterval         5.0
564     # MidValidityTime     300.0
565     # HnaInterval         5.0
566     # HnaValidityTime     300.0
567
568     # When multiple links exist between hosts
569     # the weight of interface is used to determine
570     # the link to use. Normally the weight is
571     # automatically calculated by olsrd based
572     # on the characteristics of the interface,
573     # but here you can specify a fixed value.
574     # Olsrd will choose links with the lowest value.
575     # Note:
576     # Interface weight is used only when LinkQualityLevel is set to 0.
577     # For any other value of LinkQualityLevel, the interface ETX
578     # value is used instead.
579     # Weight 0
580
581     # If a certain route should be preferred
582     # or ignored by the mesh, the Link Quality
583     # value of a node can be multiplied with a factor
584     # entered here. In the example the route
585     # using 192.168.0.1 would rather be ignored.
586     # A multiplier of 0.5 will result in a small
587     # (bad) LinkQuality value and a high (bad)
588     # ETX value.
589     # Note:
590     # Link quality multiplier is used only when
591     # LinkQualityLevel is greater than 0.
592
593     # example 1: reduce LQ to 192.168.0.1 by half
594     # LinkQualityMult 192.168.0.1 0.5
595
596     # example 2: reduce LQ to all nodes on this interface by 20%
597     # LinkQualityMult default 0.8
598 }
599
600 # END AUTOGENERATED CONFIG