octeon: enable ethernet pause frame support
[vpp.git] / src / vnet / ethernet / arp_packet.h
index b4e021c..9a9df68 100644 (file)
@@ -18,6 +18,7 @@
 #ifndef included_ethernet_arp_packet_h
 #define included_ethernet_arp_packet_h
 
+#include <vnet/ip/ip4_packet.h>
 #include <vnet/ethernet/mac_address.h>
 
 #define foreach_ethernet_arp_hardware_type     \
@@ -109,22 +110,10 @@ typedef enum
   IP4_ARP_N_NEXT,
 } ip4_arp_next_t;
 
-typedef enum
-{
-  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_NO_SOURCE_ADDRESS,
-} ip4_arp_error_t;
-
-/* *INDENT-OFF* */
 typedef CLIB_PACKED (struct {
   mac_address_t mac;
   ip4_address_t ip4;
 }) ethernet_arp_ip4_over_ethernet_address_t;
-/* *INDENT-ON* */
 
 STATIC_ASSERT (sizeof (ethernet_arp_ip4_over_ethernet_address_t) == 10,
               "Packet ethernet address and IP4 address too big");
@@ -145,9 +134,12 @@ typedef struct
   };
 } ethernet_arp_header_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);
+#define ARP_SENDER 0
+#define ARP_TARGET 1
+
+extern u8 *format_ethernet_arp_header (u8 * s, va_list * va);
+extern u8 *format_ethernet_arp_opcode (u8 * s, va_list * va);
+extern u8 *format_ethernet_arp_hardware_type (u8 * s, va_list * va);
 
 #endif /* included_ethernet_arp_packet_h */