[quagga-dev 1824] Adjusting max-lsp-lifetime in isisd

LIU Xin lx at ns.6test.edu.cn
Wed Nov 10 09:39:37 GMT 2004


Dear All,

In the current isisd max-lsp-lifetime could be set to no less than 380
seconds, which is inadequate for network debugging. IMHO dropping the
lowerbound to 60 seconds would help a lot.

Currently max-lsp-lifetime could be no less than 301 seconds because
lsp-refresh-interval is calculated according to the following equation:
    LRI = MLL-300;
where LRI stands for lsp-refresh-interval and MLL stands for
max-lsp-lifetime. This should be changed in order to drop the lowerbound
of max-lsp-lifetime.

IN cisco IOS:
    LRI = min(LRI, 900, MLL-30);
This implies that the LSP be able to reach every IS in the routing
domain within 30 seconds. IMHO 30 seconds may not be enough in some
circumstances, and currently LRI could not be directly modified in
isisd.conf, so I prefer the following equation:
    LRI = min(MLL*3/4, MLL-30);

Attached are the patches.

Best
Regards,

LIU Xin
-------------- next part --------------
--- isis_constants.h.orig	Wed Nov 10 16:51:24 2004
+++ isis_constants.h	Wed Nov 10 16:51:36 2004
@@ -56,7 +56,7 @@
 #define MAX_LSP_GEN_INTERVAL          900
 #define MIN_LSP_GEN_INTERVAL          30
 #define MIN_LSP_TRANS_INTERVAL        5
-#define ISIS_MIN_LSP_LIFETIME         380
+#define ISIS_MIN_LSP_LIFETIME         60
 #define CSNP_INTERVAL                 10
 #define PSNP_INTERVAL                 2
 #define ISIS_MAX_PATH_SPLITS          3
-------------- next part --------------
--- isisd.c.orig	Wed Nov 10 16:52:53 2004
+++ isisd.c	Wed Nov 10 16:57:46 2004
@@ -1622,7 +1622,7 @@
 
 DEFUN (lsp_lifetime,
        lsp_lifetime_cmd,
-       "lsp-lifetime <380-65535>",
+       "lsp-lifetime <60-65535>",
        "Maximum LSP lifetime\n"
        "LSP lifetime in seconds\n")
 {
@@ -1645,8 +1645,8 @@
 
   area->max_lsp_lifetime[0] = interval;
   area->max_lsp_lifetime[1] = interval;
-  area->lsp_refresh[0] = interval - 300;
-  area->lsp_refresh[1] = interval - 300;
+  area->lsp_refresh[0] = ( interval*3/4 > interval-30 ? interval-30 : interval*3/4 );
+  area->lsp_refresh[1] = ( interval*3/4 > interval-30 ? interval-30 : interval*3/4 );
 
   if (area->t_lsp_refresh[0])
     {
@@ -1685,14 +1685,14 @@
 
 ALIAS (no_lsp_lifetime,
        no_lsp_lifetime_arg_cmd,
-       "no lsp-lifetime <380-65535>",
+       "no lsp-lifetime <60-65535>",
        NO_STR
        "Maximum LSP lifetime\n"
        "LSP lifetime in seconds\n")
 
 DEFUN (lsp_lifetime_l1,
        lsp_lifetime_l1_cmd,
-       "lsp-lifetime level-1 <380-65535>",
+       "lsp-lifetime level-1 <60-65535>",
        "Maximum LSP lifetime for Level 1 only\n"
        "LSP lifetime for Level 1 only in seconds\n")
 {
@@ -1714,7 +1714,7 @@
 
 
   area->max_lsp_lifetime[0] = interval;
-  area->lsp_refresh[0] = interval - 300;
+  area->lsp_refresh[0] = ( interval*3/4 > interval-30 ? interval-30 : interval*3/4 );
 
   return CMD_SUCCESS;
 }
@@ -1738,14 +1738,14 @@
 
 ALIAS (no_lsp_lifetime_l1,
        no_lsp_lifetime_l1_arg_cmd,
-       "no lsp-lifetime level-1 <380-65535>",
+       "no lsp-lifetime level-1 <60-65535>",
        NO_STR
        "Maximum LSP lifetime for Level 1 only\n"
        "LSP lifetime for Level 1 only in seconds\n")
 
 DEFUN (lsp_lifetime_l2,
        lsp_lifetime_l2_cmd,
-       "lsp-lifetime level-2 <380-65535>",
+       "lsp-lifetime level-2 <60-65535>",
        "Maximum LSP lifetime for Level 2 only\n"
        "LSP lifetime for Level 2 only in seconds\n")
 {
@@ -1766,7 +1766,7 @@
     }
 
   area->max_lsp_lifetime[1] = interval;
-  area->lsp_refresh[1] = interval - 300;
+  area->lsp_refresh[1] = ( interval*3/4 > interval-30 ? interval-30 : interval*3/4 );
 
   return CMD_SUCCESS;
 }
@@ -1790,7 +1790,7 @@
 
 ALIAS (no_lsp_lifetime_l2,
        no_lsp_lifetime_l2_arg_cmd,
-       "no lsp-lifetime level-2 <380-65535>",
+       "no lsp-lifetime level-2 <60-65535>",
        NO_STR
        "Maximum LSP lifetime for Level 2 only\n"
        "LSP lifetime for Level 2 only in seconds\n")


More information about the Quagga-dev mailing list