summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
Diffstat (limited to 'nest')
-rw-r--r--nest/iface.c3
-rw-r--r--nest/rt-fib.c12
2 files changed, 5 insertions, 10 deletions
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; i<f->hash_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;
}