Diff for /embedaddon/quagga/isisd/isisd.h between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2012/02/21 17:26:11 version 1.1.1.3, 2016/11/02 10:09:10
Line 25 Line 25
   
 #define ISISD_VERSION "0.0.7"  #define ISISD_VERSION "0.0.7"
   
   #include "isisd/isis_redist.h"
   
 /* uncomment if you are a developer in bug hunt */  /* uncomment if you are a developer in bug hunt */
 /* #define EXTREME_DEBUG  */  /* #define EXTREME_DEBUG  */
 /* #define EXTREME_TLV_DEBUG */  /* #define EXTREME_TLV_DEBUG */
   
 struct rmap  
 {  
   char *name;  
   struct route_map *map;  
 };  
   
 struct isis  struct isis
 {  {
   u_long process_id;    u_long process_id;
   int sysid_set;    int sysid_set;
   u_char sysid[ISIS_SYS_ID_LEN];        /* SystemID for this IS */    u_char sysid[ISIS_SYS_ID_LEN];        /* SystemID for this IS */
     u_int32_t router_id;          /* Router ID from zebra */
   struct list *area_list;       /* list of IS-IS areas */    struct list *area_list;       /* list of IS-IS areas */
   struct list *init_circ_list;    struct list *init_circ_list;
   struct list *nexthops;        /* IPv4 next hops from this IS */    struct list *nexthops;        /* IPv4 next hops from this IS */
Line 52  struct isis Line 49  struct isis
   time_t uptime;                /* when did we start */    time_t uptime;                /* when did we start */
   struct thread *t_dync_clean;  /* dynamic hostname cache cleanup thread */    struct thread *t_dync_clean;  /* dynamic hostname cache cleanup thread */
   
  /* Redistributed external information. */  struct route_table *ext_info[REDIST_PROTOCOL_COUNT];
  struct route_table *external_info[ZEBRA_ROUTE_MAX + 1]; 
  /* Redistribute metric info. */ 
  struct 
  { 
    int type;                   /* Internal or External  */ 
    int value;                  /* metric value */ 
  } dmetric[ZEBRA_ROUTE_MAX + 1]; 
 
  struct 
  { 
    char *name; 
    struct route_map *map; 
  } rmap[ZEBRA_ROUTE_MAX + 1]; 
#ifdef HAVE_IPV6 
  struct 
  { 
    struct 
    { 
      char *name; 
      struct route_map *map; 
    } rmap[ZEBRA_ROUTE_MAX + 1]; 
  } inet6_afmode; 
#endif 
 };  };
   
   extern struct isis *isis;
   
 struct isis_area  struct isis_area
 {  {
   struct isis *isis;                              /* back pointer */    struct isis *isis;                              /* back pointer */
Line 88  struct isis_area Line 64  struct isis_area
   struct isis_spftree *spftree6[ISIS_LEVELS];     /* The v6 SPTs */    struct isis_spftree *spftree6[ISIS_LEVELS];     /* The v6 SPTs */
   struct route_table *route_table6[ISIS_LEVELS];  /* IPv6 routes */    struct route_table *route_table6[ISIS_LEVELS];  /* IPv6 routes */
 #endif  #endif
  unsigned int min_bcast_mtu;#define DEFAULT_LSP_MTU 1497
   unsigned int lsp_mtu;                             /* Size of LSPs to generate */
   struct list *circuit_list;    /* IS-IS circuits */    struct list *circuit_list;    /* IS-IS circuits */
   struct flags flags;    struct flags flags;
   struct thread *t_tick;        /* LSP walker */    struct thread *t_tick;        /* LSP walker */
   struct thread *t_remove_aged;  
   struct thread *t_lsp_l1_regenerate;  
   struct thread *t_lsp_l2_regenerate;  
   int lsp_regenerate_pending[ISIS_LEVELS];  
   struct thread *t_lsp_refresh[ISIS_LEVELS];    struct thread *t_lsp_refresh[ISIS_LEVELS];
     /* t_lsp_refresh is used in two ways:
      * a) regular refresh of LSPs
      * b) (possibly throttled) updates to LSPs
      *
      * The lsp_regenerate_pending flag tracks whether the timer is active
      * for the a) or the b) case.
      *
      * It is of utmost importance to clear this flag when the timer is
      * rescheduled for normal refresh, because otherwise, updates will
      * be delayed until the next regular refresh.
      */
     int lsp_regenerate_pending[ISIS_LEVELS];
   
   /*    /*
    * Configurables      * Configurables 
Line 114  struct isis_area Line 99  struct isis_area
   struct list *area_addrs;    struct list *area_addrs;
   u_int16_t max_lsp_lifetime[ISIS_LEVELS];    u_int16_t max_lsp_lifetime[ISIS_LEVELS];
   char is_type;                 /* level-1 level-1-2 or level-2-only */    char is_type;                 /* level-1 level-1-2 or level-2-only */
     /* are we overloaded? */
     char overload_bit;
     /* L1/L2 router identifier for inter-area traffic */
     char attached_bit;
   u_int16_t lsp_refresh[ISIS_LEVELS];    u_int16_t lsp_refresh[ISIS_LEVELS];
   /* minimum time allowed before lsp retransmission */    /* minimum time allowed before lsp retransmission */
   u_int16_t lsp_gen_interval[ISIS_LEVELS];    u_int16_t lsp_gen_interval[ISIS_LEVELS];
Line 122  struct isis_area Line 111  struct isis_area
   /* the percentage of LSP mtu size used, before generating a new frag */    /* the percentage of LSP mtu size used, before generating a new frag */
   int lsp_frag_threshold;    int lsp_frag_threshold;
   int ip_circuits;    int ip_circuits;
     /* logging adjacency changes? */
     u_char log_adj_changes;
 #ifdef HAVE_IPV6  #ifdef HAVE_IPV6
   int ipv6_circuits;    int ipv6_circuits;
 #endif                          /* HAVE_IPV6 */  #endif                          /* HAVE_IPV6 */
   /* Counters */    /* Counters */
   u_int32_t circuit_state_changes;    u_int32_t circuit_state_changes;
     struct isis_redist redist_settings[REDIST_PROTOCOL_COUNT]
                                       [ZEBRA_ROUTE_MAX + 1][ISIS_LEVELS];
     struct route_table *ext_reach[REDIST_PROTOCOL_COUNT][ISIS_LEVELS];
   
 #ifdef TOPOLOGY_GENERATE  #ifdef TOPOLOGY_GENERATE
   struct list *topology;    struct list *topology;
  char topology_baseis[ISIS_SYS_ID_LEN];  /* IS for the first IS emulated. */  u_char topology_baseis[ISIS_SYS_ID_LEN];  /* IS for the first IS emulated. */
   char *topology_basedynh;                /* Dynamic hostname base. */    char *topology_basedynh;                /* Dynamic hostname base. */
   char top_params[200];                   /* FIXME: what is reasonable? */    char top_params[200];                   /* FIXME: what is reasonable? */
 #endif /* TOPOLOGY_GENERATE */  #endif /* TOPOLOGY_GENERATE */
 };  };
   
 void isis_init (void);  void isis_init (void);
   void isis_new(unsigned long);
   struct isis_area *isis_area_create(const char *);
 struct isis_area *isis_area_lookup (const char *);  struct isis_area *isis_area_lookup (const char *);
   int isis_area_get (struct vty *vty, const char *area_tag);
   void print_debug(struct vty *, int, int);
   
   /* Master of threads. */
   extern struct thread_master *master;
   
 #define DEBUG_ADJ_PACKETS                (1<<0)  #define DEBUG_ADJ_PACKETS                (1<<0)
 #define DEBUG_CHECKSUM_ERRORS            (1<<1)  #define DEBUG_CHECKSUM_ERRORS            (1<<1)
 #define DEBUG_LOCAL_UPDATES              (1<<2)  #define DEBUG_LOCAL_UPDATES              (1<<2)
Line 151  struct isis_area *isis_area_lookup (const char *); Line 152  struct isis_area *isis_area_lookup (const char *);
 #define DEBUG_RTE_EVENTS                 (1<<9)  #define DEBUG_RTE_EVENTS                 (1<<9)
 #define DEBUG_EVENTS                     (1<<10)  #define DEBUG_EVENTS                     (1<<10)
 #define DEBUG_ZEBRA                      (1<<11)  #define DEBUG_ZEBRA                      (1<<11)
   #define DEBUG_PACKET_DUMP                (1<<12)
   #define DEBUG_LSP_GEN                    (1<<13)
   #define DEBUG_LSP_SCHED                  (1<<14)
   
   #define lsp_debug(...) \
     do \
       { \
         if (isis->debugs & DEBUG_LSP_GEN) \
           zlog_debug(__VA_ARGS__); \
       } \
     while (0)
   
   #define sched_debug(...) \
     do \
       { \
         if (isis->debugs & DEBUG_LSP_SCHED) \
           zlog_debug(__VA_ARGS__); \
       } \
     while (0)
   
 #endif /* ISISD_H */  #endif /* ISISD_H */

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>