version 1.1.1.2, 2012/10/09 09:22:28
|
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; |
Line 53 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; |
extern struct isis *isis; |
Line 91 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_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]; |
int lsp_regenerate_pending[ISIS_LEVELS]; |
|
|
/* |
/* |
Line 116 struct isis_area
|
Line 101 struct isis_area
|
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? */ |
/* are we overloaded? */ |
char overload_bit; |
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 131 struct isis_area
|
Line 118 struct isis_area
|
#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; |
Line 163 extern struct thread_master *master;
|
Line 153 extern struct thread_master *master;
|
#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_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 */ |