DPDK  21.02.0
rte_arp.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2013 6WIND S.A.
3  */
4 
5 #ifndef _RTE_ARP_H_
6 #define _RTE_ARP_H_
7 
14 #include <stdint.h>
15 #include <rte_ether.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
24 struct rte_arp_ipv4 {
26  uint32_t arp_sip;
28  uint32_t arp_tip;
30 
34 struct rte_arp_hdr {
35  uint16_t arp_hardware; /* format of hardware address */
36 #define RTE_ARP_HRD_ETHER 1 /* ARP Ethernet address format */
37 
38  uint16_t arp_protocol; /* format of protocol address */
39  uint8_t arp_hlen; /* length of hardware address */
40  uint8_t arp_plen; /* length of protocol address */
41  uint16_t arp_opcode; /* ARP opcode (command) */
42 #define RTE_ARP_OP_REQUEST 1 /* request to resolve address */
43 #define RTE_ARP_OP_REPLY 2 /* response to previous request */
44 #define RTE_ARP_OP_REVREQUEST 3 /* request proto addr given hardware */
45 #define RTE_ARP_OP_REVREPLY 4 /* response giving protocol address */
46 #define RTE_ARP_OP_INVREQUEST 8 /* request to identify peer */
47 #define RTE_ARP_OP_INVREPLY 9 /* response identifying peer */
48 
49  struct rte_arp_ipv4 arp_data;
51 
66 __rte_experimental
67 struct rte_mbuf *
69  const struct rte_ether_addr *mac);
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 #endif /* _RTE_ARP_H_ */
#define __rte_packed
Definition: rte_common.h:84
struct rte_ether_addr arp_sha
Definition: rte_arp.h:25
struct rte_ether_addr arp_tha
Definition: rte_arp.h:27
uint32_t arp_tip
Definition: rte_arp.h:28
__extension__ struct rte_eth_link __rte_aligned(8)
__rte_experimental struct rte_mbuf * rte_net_make_rarp_packet(struct rte_mempool *mpool, const struct rte_ether_addr *mac)
uint32_t arp_sip
Definition: rte_arp.h:26