summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proto/rip/rip.c3
-rw-r--r--proto/rip/rip.h8
2 files changed, 9 insertions, 2 deletions
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index 342b98a..71758cc 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -572,8 +572,9 @@ rip_start(struct proto *p)
assert( sizeof(struct rip_block) == 20);
assert( sizeof(struct rip_block_auth) == 20);
-
+#ifdef LOCAL_DEBUG
P->magic = RIP_MAGIC;
+#endif
fib_init( &P->rtable, p->pool, sizeof( struct rip_entry ), 0, NULL );
init_list( &P->connections );
init_list( &P->garbage );
diff --git a/proto/rip/rip.h b/proto/rip/rip.h
index 30002ea..e01a4bd 100644
--- a/proto/rip/rip.h
+++ b/proto/rip/rip.h
@@ -146,13 +146,19 @@ struct rip_proto {
struct fib rtable;
list garbage;
list interfaces; /* Interfaces we really know about */
+#ifdef LOCAL_DEBUG
int magic;
+#endif
int tx_count; /* Do one regular update once in a while */
};
-
+#ifdef LOCAL_DEBUG
#define RIP_MAGIC 81861253
#define CHK_MAGIC do { if (P->magic != RIP_MAGIC) bug( "Not enough magic" ); } while (0)
+#else
+#define CHK_MAGIC do { } while (0)
+#endif
+
void rip_init_instance(struct proto *p);
void rip_init_config(struct rip_proto_config *c);