session: fix workers race to allocate lookup table
[vpp.git] / src / vnet / ip-neighbor / ip_neighbor.h
index 4619479..cc888ba 100644 (file)
@@ -22,8 +22,6 @@
 
 #include <vnet/adj/adj.h>
 
-void ip_neighbor_scan_enable_disable (ip_neighbor_scan_arg_t * arg);
-
 
 /*****
  * APIs external modules can invoke on the neighbor subsystem
@@ -38,6 +36,8 @@ extern int ip_neighbor_del (const ip_address_t * ip, u32 sw_if_index);
 
 extern int ip_neighbor_config (ip_address_family_t af,
                               u32 limit, u32 age, bool recycle);
+extern int ip_neighbor_get_config (ip_address_family_t af, u32 *limit,
+                                  u32 *age, bool *recycle);
 
 extern void ip_neighbor_del_all (ip_address_family_t af, u32 sw_if_index);
 
@@ -56,16 +56,18 @@ extern void ip_neighbor_learn (const ip_neighbor_learn_t * l);
 extern void ip_neighbor_update (vnet_main_t * vnm, adj_index_t ai);
 
 extern void ip_neighbor_probe (const ip_adjacency_t * adj);
-extern void ip_neighbor_probe_dst (const ip_adjacency_t * adj,
-                                  const ip46_address_t * ip);
+extern void ip_neighbor_probe_dst (u32 sw_if_index, u32 thread_index,
+                                  ip_address_family_t af,
+                                  const ip46_address_t *ip);
 
 extern void ip_neighbor_mark (ip_address_family_t af);
 extern void ip_neighbor_sweep (ip_address_family_t af);
+extern walk_rc_t ip_neighbor_mark_one (index_t ipni, void *ctx);
 
 /**
  * From the watcher to the API to publish a new neighbor
  */
-extern void ip_neighbor_handle_event (const ip_neighbor_event_t * ipne);
+extern void ip_neighbor_handle_event (ip_neighbor_event_t * ipne);
 
 /**
  * The set of function that vnet requires from the IP neighbour module.
@@ -112,7 +114,6 @@ typedef struct ip_neighbor_vft_t_
 extern void ip_neighbor_register (ip_address_family_t af,
                                  const ip_neighbor_vft_t * vft);
 
-
 #endif /* __INCLUDE_IP_NEIGHBOR_H__ */
 
 /*