Small changes to config files and sanity checks based on Markus review
authorHenning Rogge <hrogge@googlemail.com>
Wed, 24 Feb 2010 17:29:44 +0000 (18:29 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Wed, 24 Feb 2010 17:29:44 +0000 (18:29 +0100)
files/olsrd.conf.default.full
files/olsrd.conf.default.lq
files/olsrd.conf.default.lq-fisheye
files/olsrd.conf.default.rfc
src/cfgparser/olsrd_conf.c
src/lq_plugin_default_ffeth.c
src/main.c

index a086e40..ea73f0e 100644 (file)
 # RtTable is for host routes, RtTableDefault for the route to the default
 # internet gateway (2 in case of IPv6+NIIT) and RtTableTunnel is for
 # routes to the ipip tunnels, valid values are 1 to 254
-# (freifunkfirmware currently uses 111/111/111 for its policy routing)
 # (default is 254/112/113, the first is the "main" table in linux)
 
 # RtTable 254
 # RtTableTunnelPriority 32786
 # RtTableDefaultPriority 32796
 
-# Activates the automatic use of NIIT (see README_NIIT_SMARTGW)
+# Activates (in IPv6 mode) the automatic use of NIIT
+# (see README_NIIT_SMARTGW)
 # (default is "yes")
 
 # UseNiit "yes"
 
 # OlsrPort 698
 
-# Sets the main IP (originator ip) of the router
+# Sets the main IP (originator ip) of the router. This IP will NEVER
+# change during the uptime of olsrd.
 # (default is 0.0.0.0, which triggers usage of the IP of the first interface)
 
 # MainIp 10.0.0.1
index 8e7d85d..bd40ff2 100644 (file)
@@ -76,7 +76,8 @@
 
 # RtPolicy "yes"
 
-# Activates the automatic use of NIIT (see README_NIIT_SMARTGW)
+# Activates (in IPv6 mode) the automatic use of NIIT
+# (see README_NIIT_SMARTGW)
 # (default is "yes")
 
 # UseNiit "yes"
index 39a243c..bdbf076 100644 (file)
@@ -1,6 +1,7 @@
 #
 # OLSR.org routing daemon config file
-# This file contains the usual options for an RFC compatible mesh
+# This file contains the usual options for an ETX based
+# stationary network with fisheye
 # (for other options see olsrd.conf.default.full)
 #
 # Lines starting with a # are discarded
 # these parameters are only working on linux at the moment, but might become
 # useful on BSD in the future
 
-RtPolicy "no"
+# SrcIpRoutes tells OLSRd to set the Src flag of host routes to the originator-ip
+# of the node. In addition to this an additional localhost device is created
+# to make sure the returning traffic can be received.
+# (Default is "no")
 
-# Activates the automatic use of NIIT (see README_NIIT_SMARTGW)
+# SrcIpRoutes "no"
+
+# Specify the proto tag to be used for routes olsr inserts into kernel
+# currently only implemented for linux
+# valid values under linux are 1 .. 254
+# 1 gets remapped by olsrd to 0 UNSPECIFIED (1 is reserved for ICMP redirects)
+# 2 KERNEL routes (not very wise to use)
+# 3 BOOT (should in fact not be used by routing daemons)
+# 4 STATIC 
+# 8 .. 15 various routing daemons (gated, zebra, bird, & co)
+# (defaults to 0 which gets replaced by an OS-specific default value
+# under linux 3 (BOOT) (for backward compatibility)
+
+# RtProto 0
+
+# RtPolicy activates the usage of routing tables and policy rules for OLSRd
+# routing. It's used to keep host and default route in different tables and
+# to handle more complicated routing setups with SmartGateway
+# (Default is "yes")
+
+# RtPolicy "yes"
+
+# Activates (in IPv6 mode) the automatic use of NIIT
+# (see README_NIIT_SMARTGW)
 # (default is "yes")
 
-UseNiit "no"
+# UseNiit "yes"
 
 # Activates the smartgateway ipip tunnel feature.
 # See README_NIIT_SMARTGW for a description of smartgateways.
 # (default is "yes")
 
-SmartGateway "no"
+# SmartGateway "yes"
+
+# Allows the selection of a smartgateway with NAT (only for IPv4)
+# (default is "yes")
+
+# SmartGatewayAllowNAT "yes"
+
+# Defines what kind of Uplink this node will publish as a
+# smartgateway. The existence of the uplink is detected by
+# a route to 0.0.0.0/0, ::ffff:0:0/96 and/or 2000::/3.
+# possible values are "none", "ipv4", "ipv6", "both"
+# (default is "both")
+
+# SmartGatewayUplink "both"
+
+# Specifies if the local ipv4 uplink use NAT
+# (default is "yes")
+
+# SmartGatewayUplinkNAT "yes"
+
+# Specifies the speed of the uplink in kilobit/s.
+# First parameter is upstream, second parameter is downstream
+# (default is 128/1024)
+
+# SmartGatewaySpeed 128 1024
+
+# Specifies the EXTERNAL ipv6 prefix of the uplink. A prefix
+# length of more than 64 is not allowed.
+# (default is 0::/0
+
+# SmartGatewayPrefix 0::/0
 
 ##############################
 ### OLSR protocol settings ###
index 857fecf..3d723c7 100644 (file)
@@ -56,7 +56,8 @@
 
 RtPolicy "no"
 
-# Activates the automatic use of NIIT (see README_NIIT_SMARTGW)
+# Activates (in IPv6 mode) the automatic use of NIIT
+# (see README_NIIT_SMARTGW)
 # (default is "yes")
 
 UseNiit "no"
index 1e8d178..c60d67a 100644 (file)
@@ -370,6 +370,11 @@ olsrd_sanity_check_cnf(struct olsrd_config *cnf)
     return -1;
   }
 
+  if (cnf->smart_gw_active && cnf->lq_nat_thresh < 1.0) {
+    fprintf(stderr, "Don't use Nat threshold together with smart gateway mode.\n");
+    return -1;
+  }
+
 #ifdef linux
   /* calculate rt_policy defaults if necessary */
   if (!cnf->rt_policy) {
index a4e5d3e..9d12bcc 100644 (file)
@@ -287,6 +287,10 @@ default_lq_ffeth_timer(void __attribute__ ((unused)) * context)
 static void
 default_lq_initialize_ffeth(void)
 {
+  if (olsr_cnf->lq_nat_thresh < 1.0) {
+    fprintf(stderr, "Error, etx_ffeth does not work together with nat_treshold < 1.0\n");
+    olsr_exit("", 1);
+  }
   olsr_packetparser_add_function(&default_lq_parser_ffeth);
   olsr_start_timer(1000, 0, OLSR_TIMER_PERIODIC, &default_lq_ffeth_timer, NULL, 0);
 }
index d8ccf75..0aaaa9d 100644 (file)
@@ -82,6 +82,8 @@ static void olsr_shutdown(int) __attribute__ ((noreturn));
 
 #if defined linux || __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
 #define DEFAULT_LOCKFILE_PREFIX "/var/run/olsrd"
+#else
+#define DEFAULT_LOCKFILE_PREFIX "olsrd"
 #endif
 
 /*