[Olsr-cvs] olsrd-current/src/cfgparser olsrd_conf.c, 1.45, 1.46 oparse.y, 1.27, 1.28 oscan.lex, 1.18, 1.19

Thomas Lopatic (spam-protected)
Thu Nov 17 05:25:47 CET 2005


Update of /cvsroot/olsrd/olsrd-current/src/cfgparser
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26679/src/cfgparser

Modified Files:
	olsrd_conf.c oparse.y oscan.lex 
Log Message:
Added experimental LinkQualityDijkstraLimit option, which prevents
LQ TCs from nodes more than x1 hops away from us to trigger routing table
recalculation using Dijkstra. Instead integrate these changes into the
routing table every x2 seconds. This is to reduce CPU load. Triggering
Dijkstra too often uses up a lot of CPU cycles.


Index: oscan.lex
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/src/cfgparser/oscan.lex,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** oscan.lex	17 Nov 2005 01:58:52 -0000	1.18
--- oscan.lex	17 Nov 2005 04:25:44 -0000	1.19
***************
*** 373,376 ****
--- 373,381 ----
  }
  
+ "LinkQualityDijkstraLimit" {
+   yylval = NULL;
+   return TOK_LQ_DLIMIT;
+ }
+ 
  "LinkQualityWinSize" {
    yylval = NULL;

Index: olsrd_conf.c
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/src/cfgparser/olsrd_conf.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -C2 -d -r1.45 -r1.46
*** olsrd_conf.c	17 Nov 2005 01:58:52 -0000	1.45
--- olsrd_conf.c	17 Nov 2005 04:25:44 -0000	1.46
***************
*** 454,457 ****
--- 454,459 ----
      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_wsize = DEF_LQ_WSIZE;
      cnf->clear_screen = DEF_CLEAR_SCREEN;
***************
*** 564,567 ****
--- 566,573 ----
    printf("LQ level         : %d\n", cnf->lq_level);
  
+   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 window size   : %d\n", cnf->lq_wsize);
  

Index: oparse.y
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/src/cfgparser/oparse.y,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** oparse.y	17 Nov 2005 01:58:52 -0000	1.27
--- oparse.y	17 Nov 2005 04:25:44 -0000	1.28
***************
*** 150,153 ****
--- 150,154 ----
  %token TOK_LQ_LEVEL
  %token TOK_LQ_FISH
+ %token TOK_LQ_DLIMIT
  %token TOK_LQ_WSIZE
  %token TOK_LQ_MULT
***************
*** 201,204 ****
--- 202,206 ----
            | alq_level
            | alq_fish
+           | alq_dlimit
            | alq_wsize
            | bclear_screen
***************
*** 906,909 ****
--- 908,920 ----
  ;
  
+ alq_dlimit: TOK_LQ_DLIMIT TOK_INTEGER TOK_FLOAT
+ {
+   if(PARSER_DEBUG) printf("Link quality dijkstra limit %d, %0.2f\n", $2->integer, $3->floating);
+   cnf->lq_dlimit = $2->integer;
+   cnf->lq_dinter = $3->floating;
+   free($2);
+ }
+ ;
+ 
  alq_wsize: TOK_LQ_WSIZE TOK_INTEGER
  {





More information about the Olsr-cvs mailing list