ip: Protocol Independent IP Neighbors

Type: feature

 - ip-neighbour: generic neighbour handling; APIs, DBs, event handling,
aging
 - arp: ARP protocol implementation
 - ip6-nd; IPv6 neighbor discovery implementation; separate ND,
MLD, RA
 - ip6-link; manage link-local addresses
 - l2-arp-term; events separated from IP neighbours, since they are not
the same.

vnet retains just enough education to perform ND/ARP packet
construction.
arp and ip6-nd to be moved to plugins soon.

Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe
Signed-off-by: Neale Ranns <nranns@cisco.com>
diff --git a/src/vnet/ip/ip4.h b/src/vnet/ip/ip4.h
index 339b84b..a7e05a4 100644
--- a/src/vnet/ip/ip4.h
+++ b/src/vnet/ip/ip4.h
@@ -230,7 +230,7 @@
 /* Find interface address which matches destination. */
 always_inline ip4_address_t *
 ip4_interface_address_matching_destination (ip4_main_t * im,
-					    ip4_address_t * dst,
+					    const ip4_address_t * dst,
 					    u32 sw_if_index,
 					    ip_interface_address_t **
 					    result_ia)
@@ -271,12 +271,6 @@
 
 int ip4_address_compare (ip4_address_t * a1, ip4_address_t * a2);
 
-/* Send an ARP request to see if given destination is reachable on given interface. */
-clib_error_t *ip4_probe_neighbor (vlib_main_t * vm, ip4_address_t * dst,
-				  u32 sw_if_index, u8 refresh);
-
-clib_error_t *ip4_set_arp_limit (u32 arp_limit);
-
 uword
 ip4_udp_register_listener (vlib_main_t * vm,
 			   u16 dst_port, u32 next_node_index);