vppinfra: bihash walk cb typedef and continue/stop controls
[vpp.git] / src / vnet / lisp-cp / gid_dictionary.c
index 3fd98c7..c1b4ada 100644 (file)
@@ -31,7 +31,7 @@ static u32 ip4_lookup (gid_ip4_table_t * db, u32 vni, ip_prefix_t * key);
 
 static u32 ip6_lookup (gid_ip6_table_t * db, u32 vni, ip_prefix_t * key);
 
-static void
+static int
 foreach_sfib4_subprefix (BVT (clib_bihash_kv) * kvp, void *arg)
 {
   sfib_entry_arg_t *a = arg;
@@ -51,6 +51,7 @@ foreach_sfib4_subprefix (BVT (clib_bihash_kv) * kvp, void *arg)
       /* found sub-prefix of src prefix */
       (a->cb) (kvp->value, a->arg);
     }
+  return (BIHASH_WALK_CONTINUE);
 }
 
 static void
@@ -77,7 +78,7 @@ gid_dict_foreach_ip4_subprefix (gid_dictionary_t * db, u32 vni,
                                           foreach_sfib4_subprefix, &a);
 }
 
-static void
+static int
 foreach_sfib6_subprefix (BVT (clib_bihash_kv) * kvp, void *arg)
 {
   sfib_entry_arg_t *a = arg;
@@ -94,6 +95,7 @@ foreach_sfib6_subprefix (BVT (clib_bihash_kv) * kvp, void *arg)
       /* found sub-prefix of src prefix */
       (a->cb) (kvp->value, a->arg);
     }
+  return (BIHASH_WALK_CONTINUE);
 }
 
 static void
@@ -139,9 +141,9 @@ gid_dict_foreach_subprefix (gid_dictionary_t * db, gid_address_t * eid,
 }
 
 void
-gid_dict_foreach_l2_arp_ndp_entry (gid_dictionary_t * db, void (*cb)
-                                  (BVT (clib_bihash_kv) * kvp, void *arg),
-                                  void *ht)
+gid_dict_foreach_l2_arp_ndp_entry (gid_dictionary_t * db,
+                                  BV (clib_bihash_foreach_key_value_pair_cb)
+                                  cb, void *ht)
 {
   gid_l2_arp_ndp_table_t *tab = &db->arp_ndp_table;
   BV (clib_bihash_foreach_key_value_pair) (&tab->arp_ndp_lookup_table, cb,