|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
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_hardware_type
@ IP4_ARP_ERROR_NON_ARP_ADJ
@ IP4_ARP_ERROR_THROTTLED
@ IP4_ARP_ERROR_REQUEST_SENT
u8 * format_ethernet_arp_opcode(u8 *s, va_list *va)
typedef CLIB_PACKED(struct { mac_address_t mac;ip4_address_t ip4;}) ethernet_arp_ip4_over_ethernet_address_t
u8 * format_ethernet_arp_header(u8 *s, va_list *va)
#define foreach_ethernet_arp_opcode
@ IP4_ARP_ERROR_NO_BUFFERS
ethernet_arp_hardware_type_t
STATIC_ASSERT(sizeof(ethernet_arp_ip4_over_ethernet_address_t)==10, "Packet ethernet address and IP4 address too big")
u8 * format_ethernet_arp_hardware_type(u8 *s, va_list *va)
@ IP4_ARP_ERROR_NO_SOURCE_ADDRESS