ip: Protocol Independent IP Neighbors
[vpp.git] / src / vnet / fib / ip6_fib.c
index 6d0eca4..784f52c 100644 (file)
@@ -154,7 +154,11 @@ ip6_fib_table_destroy (u32 fib_index)
     /*
      * validate no more routes.
      */
-    ASSERT(0 == fib_table->ft_total_route_counts);
+#ifdef CLIB_DEBUG
+    if (0 != fib_table->ft_total_route_counts)
+        fib_table_assert_empty(fib_table);
+#endif
+
     vec_foreach_index(source, fib_table->ft_src_route_counts)
     {
        ASSERT(0 == fib_table->ft_src_route_counts[source]);
@@ -589,7 +593,7 @@ typedef struct {
   u64 count_by_prefix_length[129];
 } count_routes_in_fib_at_prefix_length_arg_t;
 
-static void
+static int
 count_routes_in_fib_at_prefix_length (clib_bihash_kv_24_8_t * kvp,
                                       void *arg)
 {
@@ -597,11 +601,13 @@ count_routes_in_fib_at_prefix_length (clib_bihash_kv_24_8_t * kvp,
   int mask_width;
 
   if ((kvp->key[2]>>32) != ap->fib_index)
-    return;
+      return (BIHASH_WALK_CONTINUE);
 
   mask_width = kvp->key[2] & 0xFF;
 
   ap->count_by_prefix_length[mask_width]++;
+
+  return (BIHASH_WALK_CONTINUE);
 }
 
 static clib_error_t *