Modified default values for consistent settings for large community networks
authorHenning Rogge <henning@henning-notebook.fritz.box>
Tue, 29 Dec 2009 21:36:13 +0000 (22:36 +0100)
committerHenning Rogge <henning@henning-notebook.fritz.box>
Tue, 29 Dec 2009 21:36:13 +0000 (22:36 +0100)
src/lq_plugin.c
src/lq_plugin.h
src/olsr_cfg.h
src/olsr_protocol.h

index caf76e5..8b84e45 100644 (file)
@@ -70,8 +70,12 @@ init_lq_handler_tree(void)
   register_lq_handler(&lq_etx_float_handler, LQ_ALGORITHM_ETX_FLOAT_NAME);
   register_lq_handler(&lq_etx_fpm_handler, LQ_ALGORITHM_ETX_FPM_NAME);
   register_lq_handler(&lq_etx_ff_handler, LQ_ALGORITHM_ETX_FF_NAME);
-  if (activate_lq_handler(olsr_cnf->lq_algorithm)) {
-    activate_lq_handler(LQ_ALGORITHM_ETX_FPM_NAME);
+
+  if (olsr_cnf->lq_algorithm == NULL) {
+    activate_lq_handler(LQ_ALGORITHM_ETX_FF_NAME);
+  }
+  else {
+    activate_lq_handler(olsr_cnf->lq_algorithm);
   }
 }
 
@@ -102,25 +106,20 @@ register_lq_handler(struct lq_handler *handler, const char *name)
   avl_insert(&lq_handler_tree, &node->node, false);
 }
 
-int
+void
 activate_lq_handler(const char *name)
 {
   struct lq_handler_node *node;
-  if (name == NULL) {
-    return 1;
-  }
 
   node = (struct lq_handler_node *)avl_find(&lq_handler_tree, name);
   if (node == NULL) {
     OLSR_PRINTF(1, "Error, unknown lq_handler '%s'\n", name);
-    return 1;
+    olsr_exit("", 1);
   }
 
   OLSR_PRINTF(1, "Using '%s' algorithm for lq calculation.\n", name);
   active_lq_handler = node->handler;
   active_lq_handler->initialize();
-
-  return 0;
 }
 
 /*
index 88b1b02..48f2fd7 100644 (file)
@@ -111,7 +111,7 @@ int avl_strcasecmp(const void *str1, const void *str2);
 void init_lq_handler_tree(void);
 
 void register_lq_handler(struct lq_handler *handler, const char *name);
-int activate_lq_handler(const char *name);
+void activate_lq_handler(const char *name);
 
 olsr_linkcost olsr_calc_tc_cost(const struct tc_edge_entry *);
 
index 18195dd..90ec283 100644 (file)
 #define DEF_USE_HYST        false
 #define DEF_FIB_METRIC      FIBM_FLAT
 #define DEF_LQ_LEVEL        2
-#define DEF_LQ_FISH         0
+#define DEF_LQ_FISH         1
 #define DEF_LQ_DIJK_LIMIT   255
 #define DEF_LQ_DIJK_INTER   0.0
-#define DEF_LQ_NAT_THRESH   1.0
+#define DEF_LQ_NAT_THRESH   0.5
 #define DEF_LQ_AGING        0.1
-#define DEF_CLEAR_SCREEN    false
+#define DEF_CLEAR_SCREEN    true
 #define DEF_OLSRPORT        698
 #define DEF_RTPROTO         0 /* 0 means OS-specific default */
 #define DEF_RTTABLE         254
index c5314d1..0c79ecf 100644 (file)
 #define TC_JITTER            25 /* percent */
 
 /*
- *Holding Time
+ * Default Holding Time (for large scale community networks)
  */
 
-#define NEIGHB_HOLD_TIME      3 * REFRESH_INTERVAL
-#define TOP_HOLD_TIME         3 * TC_INTERVAL
+#define NEIGHB_HOLD_TIME      10 * REFRESH_INTERVAL
+#define TOP_HOLD_TIME         60 * TC_INTERVAL
 #define DUP_HOLD_TIME         30
-#define MID_HOLD_TIME         3 * MID_INTERVAL
-#define HNA_HOLD_TIME         3 * HNA_INTERVAL
+#define MID_HOLD_TIME         60 * MID_INTERVAL
+#define HNA_HOLD_TIME         60 * HNA_INTERVAL
 
 /*
  *Message Types
  *Redundancy defaults
  */
 #define TC_REDUNDANCY         2
-#define MPR_COVERAGE          1
+#define MPR_COVERAGE          7
 
 /*
  *Misc. Constants