diff --git a/nest/iface.c b/nest/iface.c index 303a52b2..54c16c58 100644 --- a/nest/iface.c +++ b/nest/iface.c @@ -93,7 +93,8 @@ if_dump(struct iface *i) WALK_LIST(a, i->addrs) { ifa_dump(a); - ASSERT((a != i->addr) == !(a->flags & IA_PRIMARY)); + ASSERT(!!(a->flags & IA_PRIMARY) == + ((a == i->addr4) || (a == i->addr6) || (a == i->llv6))); } } diff --git a/nest/rt-fib.c b/nest/rt-fib.c index 60c3da55..24a7facc 100644 --- a/nest/rt-fib.c +++ b/nest/rt-fib.c @@ -568,22 +568,17 @@ found: void fib_check(struct fib *f) { -#if 0 - uint i, ec, lo, nulls; + uint i, ec, nulls; ec = 0; for(i=0; ihash_size; i++) { struct fib_node *n; - lo = 0; for(n=f->hash_table[i]; n; n=n->next) { struct fib_iterator *j, *j0; - uint h0 = ipa_hash(n->prefix); - if (h0 < lo) - bug("fib_check: discord in hash chains"); - lo = h0; - if ((h0 >> f->hash_shift) != i) + uint h0 = fib_hash(f, n->addr); + if (h0 != i) bug("fib_check: mishashed %x->%x (order %d)", h0, i, f->hash_order); j0 = (struct fib_iterator *) n; nulls = 0; @@ -604,7 +599,6 @@ fib_check(struct fib *f) } if (ec != f->entries) bug("fib_check: invalid entry count (%d != %d)", ec, f->entries); -#endif return; } diff --git a/proto/bfd/io.c b/proto/bfd/io.c index b01cbfce..1cd9365a 100644 --- a/proto/bfd/io.c +++ b/proto/bfd/io.c @@ -298,7 +298,7 @@ sockets_prepare(struct birdloop *loop) struct pollfd *pfd = loop->poll_fd.data; sock **psk = loop->poll_sk.data; - int i = 0; + uint i = 0; node *n; WALK_LIST(n, loop->sock_list) diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index 3ebebdaa..df6c452e 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -1179,7 +1179,7 @@ ospf_sh_state(struct proto *P, int verbose, int reachable) /* We store interesting area-scoped LSAs in array hea and global-scoped (LSA_T_EXT) LSAs in array hex */ - int num = p->gr->hash_entries; + uint num = p->gr->hash_entries; struct top_hash_entry *hea[num]; struct top_hash_entry *hex[verbose ? num : 0]; struct top_hash_entry *he;