remove LinkQualityDijkstraLimit and LinkQualityWinSize parameter
authorHenning Rogge <hrogge@googlemail.com>
Wed, 24 Feb 2010 18:16:26 +0000 (19:16 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Wed, 24 Feb 2010 18:16:26 +0000 (19:16 +0100)
files/olsrd.conf.default.full
src/cfgparser/olsrd_conf.c
src/cfgparser/oparse.y
src/cfgparser/oscan.lex
src/lq_plugin.c
src/olsr.c
src/olsr_cfg.h
src/process_package.c
src/tc_set.c

index 9ceb6fd..7adafb3 100644 (file)
@@ -313,16 +313,6 @@ Hna6
 
 # NatThreshold  1.0
 
-# LinkQualityDijkstraLimit is a special command for small embedded
-# devices to prevent triggering the dijkstra too often. Even without
-# this parameter OLSRd only triggers one dijkstra per second.
-# The first parameter is the time between two dijkstra runs in seconds.
-# The second parameter is a hopcount. Each TC from a node within the
-# specified distance can trigger a dijkstra directly.
-# We suggest NOT using this parameter.
-
-# LinkQualityDijkstraLimit 3.0 3
-
 #############################################################
 ### Configuration of the IPC to the windows GUI interface ###
 #############################################################
index c60d67a..4f0cbfe 100644 (file)
@@ -308,14 +308,7 @@ olsrd_sanity_check_cnf(struct olsrd_config *cnf)
     }
   }
 
-  /* Check Link quality dijkstra limit */
-  if (olsr_cnf->lq_dinter < cnf->pollrate && olsr_cnf->lq_dlimit != 255) {
-    fprintf(stderr, "Link quality dijkstra limit must be higher than pollrate\n");
-    return -1;
-  }
-
   /* Pollrate */
-
   if (cnf->pollrate < MIN_POLLRATE || cnf->pollrate > MAX_POLLRATE) {
     fprintf(stderr, "Pollrate %0.2f is not allowed\n", cnf->pollrate);
     return -1;
@@ -641,8 +634,6 @@ set_default_cnf(struct olsrd_config *cnf)
   cnf->mpr_coverage = MPR_COVERAGE;
   cnf->lq_level = DEF_LQ_LEVEL;
   cnf->lq_fish = DEF_LQ_FISH;
-  cnf->lq_dlimit = DEF_LQ_DIJK_LIMIT;
-  cnf->lq_dinter = DEF_LQ_DIJK_INTER;
   cnf->lq_aging = DEF_LQ_AGING;
   cnf->lq_algorithm = NULL;
   cnf->lq_nat_thresh = DEF_LQ_NAT_THRESH;
@@ -763,8 +754,6 @@ olsrd_print_cnf(struct olsrd_config *cnf)
 
   printf("LQ fish eye      : %d\n", cnf->lq_fish);
 
-  printf("LQ Dijkstra limit: %d, %0.2f\n", cnf->lq_dlimit, cnf->lq_dinter);
-
   printf("LQ aging factor  : %f\n", cnf->lq_aging);
 
   printf("LQ algorithm name: %s\n", cnf->lq_algorithm ? cnf->lq_algorithm : "default");
index b8cbfc8..705f552 100644 (file)
@@ -206,8 +206,6 @@ static int add_ipv6_addr(YYSTYPE ipaddr_arg, YYSTYPE prefixlen_arg)
 %token TOK_MPRCOVERAGE
 %token TOK_LQ_LEVEL
 %token TOK_LQ_FISH
-%token TOK_LQ_DLIMIT
-%token TOK_LQ_WSIZE
 %token TOK_LQ_AGING
 %token TOK_LQ_PLUGIN
 %token TOK_LQ_NAT_THRESH
@@ -287,9 +285,7 @@ stmt:       idebug
           | alq_level
           | alq_plugin
           | alq_fish
-          | alq_dlimit
           | anat_thresh
-          | alq_wsize
           | alq_aging
           | bclear_screen
           | vcomment
@@ -1152,21 +1148,6 @@ alq_fish: TOK_LQ_FISH TOK_INTEGER
 }
 ;
 
-alq_dlimit: TOK_LQ_DLIMIT TOK_INTEGER TOK_FLOAT
-{
-  PARSER_DEBUG_PRINTF("Link quality dijkstra limit %d, %0.2f\n", $2->integer, $3->floating);
-  olsr_cnf->lq_dlimit = $2->integer;
-  olsr_cnf->lq_dinter = $3->floating;
-  free($2);
-}
-;
-
-alq_wsize: TOK_LQ_WSIZE TOK_INTEGER
-{
-  free($2);
-}
-;
-
 alq_aging: TOK_LQ_AGING TOK_FLOAT
 {
   PARSER_DEBUG_PRINTF("Link quality aging factor %f\n", $2->floating);
index 83a599f..543f545 100644 (file)
@@ -413,11 +413,6 @@ IPV6ADDR {IPV6PAT1}|{IPV6PAT2}|{IPV6PAT3}|{IPV6PAT4}|{IPV6PAT5}|{IPV6PAT6}|{IPV6
     return TOK_LQ_FISH;
 }
 
-"LinkQualityDijkstraLimit" {
-    yylval = NULL;
-    return TOK_LQ_DLIMIT;
-}
-
 "LinkQualityAging" {
     yylval = NULL;
     return TOK_LQ_AGING;
@@ -428,11 +423,6 @@ IPV6ADDR {IPV6PAT1}|{IPV6PAT2}|{IPV6PAT3}|{IPV6PAT4}|{IPV6PAT5}|{IPV6PAT6}|{IPV6
     return TOK_LQ_PLUGIN;
 }
 
-"LinkQualityWinSize" {
-    yylval = NULL;
-    return TOK_LQ_WSIZE;
-}
-
 "NatThreshold" {
     yylval = NULL;
     return TOK_LQ_NAT_THRESH;
index 51ca66d..c7d33e1 100644 (file)
@@ -476,13 +476,8 @@ olsr_malloc_link_entry(const char *id)
  * @param newcost new cost of this link
  */
 void olsr_relevant_linkcost_change(void) {
-  if (olsr_cnf->lq_dlimit > 0) {
-    changes_neighborhood = true;
-    changes_topology = true;
-  }
-  else {
-    OLSR_PRINTF(3, "Skipping Dijkstra (1)\n");
-  }
+  changes_neighborhood = true;
+  changes_topology = true;
 
   /* XXX - we should check whether we actually announce this neighbour */
   signal_link_changes(true);
index 2c35b55..43555bb 100644 (file)
@@ -189,9 +189,6 @@ olsr_process_changes(void)
     OLSR_PRINTF(3, "CHANGES IN HNA\n");
 #endif
 
-  if (!changes_force && 2 <= olsr_cnf->lq_level && 0 >= olsr_cnf->lq_dlimit)
-    return;
-
   if (!changes_neighborhood && !changes_topology && !changes_hna)
     return;
 
@@ -243,21 +240,6 @@ olsr_process_changes(void)
   changes_force = false;
 }
 
-/*
- * Callback for the periodic route calculation.
- */
-void
-olsr_trigger_forced_update(void *unused __attribute__ ((unused)))
-{
-
-  changes_force = true;
-  changes_neighborhood = true;
-  changes_topology = true;
-  changes_hna = true;
-
-  olsr_process_changes();
-}
-
 /**
  *Initialize all the tables used(neighbor,
  *topology, MID,  HNA, MPR, dup).
@@ -313,12 +295,6 @@ olsr_init_tables(void)
 #ifndef NO_DUPLICATE_DETECTION_HANDLER
   olsr_duplicate_handler_init();
 #endif
-
-  /* Start periodic SPF and RIB recalculation */
-  if (olsr_cnf->lq_dinter > 0.0) {
-    olsr_start_timer((unsigned int)(olsr_cnf->lq_dinter * MSEC_PER_SEC), 5, OLSR_TIMER_PERIODIC, &olsr_trigger_forced_update, NULL,
-                     0);
-  }
 }
 
 /**
index faffdd0..41382c8 100644 (file)
@@ -63,8 +63,6 @@
 #define DEF_FIB_METRIC       FIBM_FLAT
 #define DEF_LQ_LEVEL         2
 #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_AGING         0.05
 #define DEF_CLEAR_SCREEN     true
@@ -241,10 +239,8 @@ struct olsrd_config {
   uint8_t mpr_coverage;
   uint8_t lq_level;
   uint8_t lq_fish;
-  float lq_dinter;
   float lq_aging;
   char *lq_algorithm;
-  uint8_t lq_dlimit;
 
   float min_tc_vtime;
 
index bb701db..74fd602 100644 (file)
@@ -231,13 +231,8 @@ process_message_neighbors(struct neighbor_entry *neighbor, const struct hello_me
 
               walker->saved_path_linkcost = new_path_linkcost;
 
-              if (olsr_cnf->lq_dlimit > 0) {
-                changes_neighborhood = true;
-                changes_topology = true;
-              }
-
-              else
-                OLSR_PRINTF(3, "Skipping Dijkstra (3)\n");
+              changes_neighborhood = true;
+              changes_topology = true;
             }
           }
         }
index 19f1747..6a32723 100644 (file)
@@ -668,9 +668,7 @@ olsr_tc_update_edge(struct tc_entry *tc, uint16_t ansn, const unsigned char **cu
      * Update the etx.
      */
     if (olsr_calc_tc_edge_entry_etx(tc_edge)) {
-      if (tc->msg_hops <= olsr_cnf->lq_dlimit) {
-        edge_change = 1;
-      }
+      edge_change = 1;
     }
 #if DEBUG
     if (edge_change) {