]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Commit 100% working part of patch from Laurent Rabret ([quagga-dev 830]).
authorhasso <hasso>
Wed, 19 May 2004 13:43:50 +0000 (13:43 +0000)
committerhasso <hasso>
Wed, 19 May 2004 13:43:50 +0000 (13:43 +0000)
Also tiny temporary fix from me to spf thread crash. Will look at it later.

isisd/ChangeLog
isisd/isis_constants.h
isisd/isis_main.c
isisd/isis_spf.c
isisd/isis_tlv.c
isisd/isis_tlv.h

index 1d2e22f51f9e551533d81ff1b9d3136300a6af47..4c119e2d05131652276c4771b596f9aa8b14562b 100644 (file)
@@ -1,3 +1,12 @@
+2004-05-19 Laurent Rabret <laurent.rabret at francetelecom.com>
+
+       * isis_constants.h: change the ISIS Hello interval from 1 to 10 (cisco's
+         default value).
+       * isis_main.c: suppress a bad "#if 0 #endif" block for isis to be
+         activated on startup.
+       * isis_tlv.[c|h]: LSP recognition of the ISIS Graceful Restart LSP (not
+         implemented yet).
+
 2004-05-19 Rivo Nurges <rix at estpak.ee>
 
        * *.c: Removing many useless net/ethernet.h includes and some tiny
index 852b8a1ff5461c4a27b6384cd03f4e52f93025bf..c732bfc461df1718d9e8935464c52fa5e3594825 100644 (file)
@@ -65,7 +65,7 @@
 #define ISIS_LEVEL1                   1
 #define ISIS_LEVEL2                   2
 
-#define HELLO_INTERVAL                1
+#define HELLO_INTERVAL                10
 #define HELLO_MINIMAL HELLO_INTERVAL
 #define HELLO_MULTIPLIER              3
 #define DEFAULT_PRIORITY              64
index 0d9cf3efcd5abf7ab5b1cf1a374b5e95cfb3b7d8..e763a9e807335e9f16265ce91bbd523ffb2209ba 100644 (file)
@@ -312,10 +312,9 @@ main (int argc, char **argv, char **envp)
   /* parse config file */ 
   /* this is needed three times! because we have interfaces before the areas */
   vty_read_config (config_file, config_current, config_default);
-#if 0
   vty_read_config (config_file, config_current, config_default);
   vty_read_config (config_file, config_current, config_default);
-#endif
+
   /* demonize */
   if (daemon_mode)
     daemon (0, 0);
index 03f724f60d660a99d9af7ec6378df25ea6e8343a..1987e0d2c6f078ec4bb8f69036c5e9c4302d5e7d 100644 (file)
@@ -1037,7 +1037,9 @@ isis_spf_schedule (struct isis_area *area, int level)
     spftree->pending = 1;
     return retval;
   }
-  THREAD_TIMER_OFF(spftree->t_spf_periodic);
+  /* FIXME: This stuff is just mess. All spf thread add/cancel
+     logic should be reviewed. */
+  /* THREAD_TIMER_OFF(spftree->t_spf_periodic); */
 
   if (diff < MINIMUM_SPF_INTERVAL) {
     if (level == 1)
index ab39ceba462311223815a67e2d7ba1765e6d0d04..d7bbb914ca90a3dfd7fdc26e18b7f80ab9c1eae8 100644 (file)
@@ -651,6 +651,21 @@ parse_tlvs (char *areatag, u_char *stream, int size, u_int32_t *expected,
       }
 
       break;
+    case GRACEFUL_RESTART:
+      /* +-------+-------+-------+-------+-------+-------+-------+-------+
+       * |         Reserved                      |  SA   |  RA   |  RR   | 1
+       * +-------+-------+-------+-------+-------+-------+-------+-------+
+       * |                          Remaining Time                       | 2
+       * +---------------------------------------------------------------+
+       * |                Restarting Neighbor ID (If known)              | 0-8
+       * +---------------------------------------------------------------+
+       */
+      *found |= TLVFLAG_GRACEFUL_RESTART;
+      if (*expected & TLVFLAG_GRACEFUL_RESTART) {
+        /* FIXME: make this work */
+      }
+      pnt += length;
+      break;
 
     default:
       zlog_warn ("ISIS-TLV (%s): unsupported TLV type %d, length %d",
index 79c0c46f46c147c0c9049d81c90dcf0fee1fd027..e030385e17e9fe021f07d15d2dc06421190807c1 100644 (file)
@@ -27,7 +27,7 @@
 /*
  * Structures found in TLV's.
  * this header is fully complient with
- * draft-ietf-isis-wg-tlv-codepoints-02.txt
+ * RFC 3359
  1.  TLV Codepoints reserved
      ____________________________________________________
      Name                 Value   IIH   LSP  SNP   Status
@@ -46,6 +46,7 @@
      LSPBufferSize            14  n     y    n  ISO 10589 Rev 2 Draft
      TE IIS Neigh.            22  n     y    n  IETF-draft
      DECnet Phase IV          42  y     n    n  DEC (ancient)
+     Lucent Proprietary       66  n     y    n
      IP Int. Reach           128  n     y    n  RFC 1195
      Prot. Supported         129  y     y    n  RFC 1195
      IP Ext. Address         130  n     y    n  RFC 1195
@@ -87,6 +88,7 @@
 #define TE_ROUTER_ID              134
 #define TE_IPV4_REACHABILITY      135
 #define DYNAMIC_HOSTNAME          137
+#define GRACEFUL_RESTART          211
 #define IPV6_REACHABILITY         236
 #define IPV6_ADDR                 232
 #define WAY3_HELLO                240
@@ -236,6 +238,7 @@ struct tlvs {
 #define TLVFLAG_3WAY_HELLO                (1<<18)
 #define TLVFLAG_TE_ROUTER_ID              (1<<19)
 #define TLVFLAG_CHECKSUM                  (1<<20)
+#define TLVFLAG_GRACEFUL_RESTART          (1<<21)
 
 void init_tlvs  (struct tlvs *tlvs, uint32_t expected);
 void free_tlvs  (struct tlvs *tlvs);