pud: disable distribution of position updates over OLSR when olsrTtl is 0
authorFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 14 May 2014 16:52:48 +0000 (18:52 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 15 May 2014 08:39:32 +0000 (10:39 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/pud/olsrd.conf.sample
lib/pud/src/configuration.c
lib/pud/src/receiver.c

index 0a6db30..906d5c2 100644 (file)
@@ -184,7 +184,8 @@ LoadPlugin "<olsrd plugin library path>/olsrd_pud.so.1.1.0"
     #
 
     # olsrTtl is the TTL that is used when sending messages over the OLSR
-    #         networks
+    #         networks. Setting this to 0 (zero) will disable distribution
+    #         of position updates over the OLSR networks.
     #
     # Default: 64
     #
index 4d07bf6..58d8f7f 100644 (file)
@@ -1140,12 +1140,6 @@ int setOlsrTtl(const char *value, void *data __attribute__ ((unused)), set_plugi
                return true;
        }
 
-       if ((olsrTtl < 1) /* || (olsrTtl > MAX_TTL) */) {
-               pudError(false, "Value of parameter %s (%u) is outside of valid range 1-%u",
-                               valueName, olsrTtl, MAX_TTL);
-               return true;
-       }
-
        return false;
 }
 
index 01e7794..12a8ae9 100644 (file)
@@ -158,7 +158,7 @@ static void txToAllOlsrInterfaces(TimedTxInterface interfaces) {
        /*
         * push out to all OLSR interfaces
         */
-       if (((interfaces & TX_INTERFACE_OLSR) != 0) && (pu_size > 0)) {
+       if (((interfaces & TX_INTERFACE_OLSR) != 0) && getOlsrTtl() && (pu_size > 0)) {
                int r;
                struct interface *ifn;
                for (ifn = ifnet; ifn; ifn = ifn->int_next) {