DPDK  24.07.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_aligned(2) rte_arp_ipv4 {
25  struct rte_ether_addr arp_sha;
26  rte_be32_t arp_sip;
27  struct rte_ether_addr arp_tha;
28  rte_be32_t arp_tip;
29 } __rte_packed;
30 
34 struct __rte_aligned(2) rte_arp_hdr {
35  rte_be16_t arp_hardware;
36 #define RTE_ARP_HRD_ETHER 1
38  rte_be16_t arp_protocol;
39  uint8_t arp_hlen;
40  uint8_t arp_plen;
41  rte_be16_t arp_opcode;
42 #define RTE_ARP_OP_REQUEST 1
43 #define RTE_ARP_OP_REPLY 2
44 #define RTE_ARP_OP_REVREQUEST 3
45 #define RTE_ARP_OP_REVREPLY 4
46 #define RTE_ARP_OP_INVREQUEST 8
47 #define RTE_ARP_OP_INVREPLY 9
49  struct rte_arp_ipv4 arp_data;
50 } __rte_packed;
51 
63 struct rte_mbuf *
65  const struct rte_ether_addr *mac);
66 
67 #ifdef __cplusplus
68 }
69 #endif
70 
71 #endif /* _RTE_ARP_H_ */
uint32_t rte_be32_t
#define __rte_packed
Definition: rte_common.h:108
struct __rte_aligned(2) rte_arp_ipv4
Definition: rte_arp.h:24
struct rte_mbuf * rte_net_make_rarp_packet(struct rte_mempool *mpool, const struct rte_ether_addr *mac)
uint16_t rte_be16_t