arp:add error counters for all failure cases
[vpp.git] / src / vnet / ethernet / arp_packet.h
index d740b84..206be41 100644 (file)
@@ -109,11 +109,11 @@ typedef enum
 
 typedef enum
 {
-  IP4_ARP_ERROR_DROP,
+  IP4_ARP_ERROR_THROTTLED,
+  IP4_ARP_ERROR_RESOLVED,
+  IP4_ARP_ERROR_NO_BUFFERS,
   IP4_ARP_ERROR_REQUEST_SENT,
   IP4_ARP_ERROR_NON_ARP_ADJ,
-  IP4_ARP_ERROR_REPLICATE_DROP,
-  IP4_ARP_ERROR_REPLICATE_FAIL,
   IP4_ARP_ERROR_NO_SOURCE_ADDRESS,
 } ip4_arp_error_t;
 
@@ -156,7 +156,7 @@ typedef struct
 
   ethernet_arp_entry_flags_t flags;
 
-  u64 cpu_time_last_updated;
+  f64 time_last_updated;
 
   /**
    * The index of the adj-fib entry created
@@ -164,17 +164,13 @@ typedef struct
   fib_node_index_t fib_entry_index;
 } ethernet_arp_ip4_entry_t;
 
+ethernet_arp_ip4_entry_t *ip4_neighbors_pool (void);
 ethernet_arp_ip4_entry_t *ip4_neighbor_entries (u32 sw_if_index);
 u8 *format_ethernet_arp_ip4_entry (u8 * s, va_list * va);
 
-/* Node index for send_garp_na_process */
-extern u32 send_garp_na_process_node_index;
-
-/* Even type for send_garp_na_process */
-enum
-{
-  SEND_GARP_NA = 1,
-} dpdk_send_garp_na_process_event_t;
+void send_ip4_garp (vlib_main_t * vm, u32 sw_if_index);
+void send_ip4_garp_w_addr (vlib_main_t * vm,
+                          const ip4_address_t * ip4_addr, u32 sw_if_index);
 
 #endif /* included_ethernet_arp_packet_h */