18 #ifndef included_ethernet_arp_packet_h 19 #define included_ethernet_arp_packet_h 24 #define foreach_ethernet_arp_hardware_type \ 27 _ (2, experimental_ethernet) \ 29 _ (4, proteon_pronet_token_ring) \ 43 _ (18, fibre_channel) \ 47 _ (22, mil_std_188_220) \ 56 _ (31, ipsec_tunnel) \ 64 #define foreach_ethernet_arp_opcode \ 85 _ (mars_grouplist_request) \ 86 _ (mars_grouplist_reply) \ 87 _ (mars_redirect_map) \ 94 #define _(n,f) ETHERNET_ARP_HARDWARE_TYPE_##f = (n), 101 #define _(f) ETHERNET_ARP_OPCODE_##f, 127 }) ethernet_arp_ip4_over_ethernet_address_t;
130 STATIC_ASSERT (
sizeof (ethernet_arp_ip4_over_ethernet_address_t) == 10,
131 "Packet ethernet address and IP4 address too big");
142 ethernet_arp_ip4_over_ethernet_address_t ip4_over_ethernet[2];
#define foreach_ethernet_arp_opcode
STATIC_ASSERT(sizeof(ethernet_arp_ip4_over_ethernet_address_t)==10, "Packet ethernet address and IP4 address too big")
#define foreach_ethernet_arp_hardware_type
u8 * format_ethernet_arp_hardware_type(u8 *s, va_list *va)
u8 * format_ethernet_arp_header(u8 *s, va_list *va)
ethernet_arp_hardware_type_t
typedef CLIB_PACKED(struct { mac_address_t mac;ip4_address_t ip4;}) ethernet_arp_ip4_over_ethernet_address_t
u8 * format_ethernet_arp_opcode(u8 *s, va_list *va)