diff options
author | Josh Bailey <joshb@google.com> | 2012-03-24 16:35:20 +0100 |
---|---|---|
committer | Avneesh Sachdev <avneesh@opensourcerouting.org> | 2012-04-07 22:54:37 +0200 |
commit | 3f045a08812525505e165deea99a79447b44506b (patch) | |
tree | a5c944b0584e0e5a14908a2ac9476637e7c1d7e6 /isisd/isis_flags.h | |
parent | zebra: tweak deletion of routes without nexthop addr (diff) | |
download | frr-3f045a08812525505e165deea99a79447b44506b.tar.xz frr-3f045a08812525505e165deea99a79447b44506b.zip |
isisd: add Google's changes to IS-IS
Diffstat (limited to 'isisd/isis_flags.h')
-rw-r--r-- | isisd/isis_flags.h | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/isisd/isis_flags.h b/isisd/isis_flags.h index 13dd9e145..e2e42adcc 100644 --- a/isisd/isis_flags.h +++ b/isisd/isis_flags.h @@ -26,28 +26,43 @@ /* The grand plan is to support 1024 circuits so we have 32*32 bit flags * the support will be achived using the newest drafts */ -#define ISIS_MAX_CIRCUITS 32 /* = 1024 */ /*FIXME:defined in lsp.h as well */ +#define ISIS_MAX_CIRCUITS 32 /* = 1024 */ -void flags_initialize (struct flags *flags); -struct flags *new_flags (int size); -int flags_get_index (struct flags *flags); -void flags_free_index (struct flags *flags, int index); +/* + * Flags structure for SSN and SRM flags + */ +struct flags +{ + int maxindex; + struct list *free_idcs; +}; +void flags_initialize (struct flags *flags); +long int flags_get_index (struct flags *flags); +void flags_free_index (struct flags *flags, long int index); int flags_any_set (u_int32_t * flags); #define ISIS_SET_FLAG(F,C) \ - F[C->idx>>5] |= (1<<(C->idx & 0x1F)); + { \ + F[C->idx>>5] |= (1<<(C->idx & 0x1F)); \ + } #define ISIS_CLEAR_FLAG(F,C) \ - F[C->idx>>5] &= ~(1<<(C->idx & 0x1F)); + { \ + F[C->idx>>5] &= ~(1<<(C->idx & 0x1F)); \ + } -#define ISIS_CHECK_FLAG(F, C) F[(C)->idx>>5] & (1<<(C->idx & 0x1F)) +#define ISIS_CHECK_FLAG(F, C) (F[(C)->idx>>5] & (1<<(C->idx & 0x1F))) /* sets all u_32int_t flags to 1 */ #define ISIS_FLAGS_SET_ALL(FLAGS) \ - memset(FLAGS,0xFF,ISIS_MAX_CIRCUITS*4); + { \ + memset(FLAGS,0xFF,ISIS_MAX_CIRCUITS*4); \ + } #define ISIS_FLAGS_CLEAR_ALL(FLAGS) \ - memset(FLAGS,0x00,ISIS_MAX_CIRCUITS*4); + { \ + memset(FLAGS,0x00,ISIS_MAX_CIRCUITS*4); \ + } #endif /* _ZEBRA_ISIS_FLAGS_H */ |