summaryrefslogtreecommitdiffstats
path: root/isisd/isis_flags.h
diff options
context:
space:
mode:
authorJosh Bailey <joshb@google.com>2012-03-24 16:35:20 +0100
committerAvneesh Sachdev <avneesh@opensourcerouting.org>2012-04-07 22:54:37 +0200
commit3f045a08812525505e165deea99a79447b44506b (patch)
treea5c944b0584e0e5a14908a2ac9476637e7c1d7e6 /isisd/isis_flags.h
parentzebra: tweak deletion of routes without nexthop addr (diff)
downloadfrr-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.h35
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 */