summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/arp.h
diff options
context:
space:
mode:
Diffstat (limited to 'VNFs/DPPD-PROX/arp.h')
-rw-r--r--VNFs/DPPD-PROX/arp.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/VNFs/DPPD-PROX/arp.h b/VNFs/DPPD-PROX/arp.h
index 488008d7..c0f74cbb 100644
--- a/VNFs/DPPD-PROX/arp.h
+++ b/VNFs/DPPD-PROX/arp.h
@@ -18,6 +18,7 @@
#define _ARP_H_
#include <rte_ether.h>
+#include "prox_compat.h"
#include "etypes.h"
#include "mbuf_utils.h"
@@ -25,9 +26,9 @@
#define ARP_REPLY 0x200
struct _arp_ipv4 {
- struct ether_addr sha; /* Sender hardware address */
+ prox_rte_ether_addr sha; /* Sender hardware address */
uint32_t spa; /* Sender protocol address */
- struct ether_addr tha; /* Target hardware address */
+ prox_rte_ether_addr tha; /* Target hardware address */
uint32_t tpa; /* Target protocol address */
} __attribute__((__packed__));
typedef struct _arp_ipv4 arp_ipv4_t;
@@ -42,7 +43,7 @@ struct my_arp_t {
} __attribute__((__packed__));
struct ether_hdr_arp {
- struct ether_hdr ether_hdr;
+ prox_rte_ether_hdr ether_hdr;
struct my_arp_t arp;
};
@@ -51,21 +52,21 @@ static int arp_is_gratuitous(struct ether_hdr_arp *hdr)
return hdr->arp.data.spa == hdr->arp.data.tpa;
}
-static inline void build_arp_reply(struct ether_hdr_arp *hdr_arp, struct ether_addr *s_addr)
+static inline void build_arp_reply(struct ether_hdr_arp *hdr_arp, prox_rte_ether_addr *s_addr)
{
uint32_t ip_source = hdr_arp->arp.data.spa;
- memcpy(hdr_arp->ether_hdr.d_addr.addr_bytes, hdr_arp->ether_hdr.s_addr.addr_bytes, sizeof(struct ether_addr));
- memcpy(hdr_arp->ether_hdr.s_addr.addr_bytes, s_addr, sizeof(struct ether_addr));
+ memcpy(hdr_arp->ether_hdr.d_addr.addr_bytes, hdr_arp->ether_hdr.s_addr.addr_bytes, sizeof(prox_rte_ether_addr));
+ memcpy(hdr_arp->ether_hdr.s_addr.addr_bytes, s_addr, sizeof(prox_rte_ether_addr));
hdr_arp->arp.data.spa = hdr_arp->arp.data.tpa;
hdr_arp->arp.data.tpa = ip_source;
hdr_arp->arp.oper = 0x200;
- memcpy(&hdr_arp->arp.data.tha, &hdr_arp->arp.data.sha, sizeof(struct ether_addr));
- memcpy(&hdr_arp->arp.data.sha, s_addr, sizeof(struct ether_addr));
+ memcpy(&hdr_arp->arp.data.tha, &hdr_arp->arp.data.sha, sizeof(prox_rte_ether_addr));
+ memcpy(&hdr_arp->arp.data.sha, s_addr, sizeof(prox_rte_ether_addr));
}
-static inline void build_arp_request(struct rte_mbuf *mbuf, struct ether_addr *src_mac, uint32_t ip_dst, uint32_t ip_src)
+static inline void build_arp_request(struct rte_mbuf *mbuf, prox_rte_ether_addr *src_mac, uint32_t ip_dst, uint32_t ip_src)
{
struct ether_hdr_arp *hdr_arp = rte_pktmbuf_mtod(mbuf, struct ether_hdr_arp *);
uint64_t mac_bcast = 0xFFFFFFFFFFFF;
@@ -83,11 +84,11 @@ static inline void build_arp_request(struct rte_mbuf *mbuf, struct ether_addr *s
hdr_arp->arp.oper = 0x100;
hdr_arp->arp.data.spa = ip_src;
hdr_arp->arp.data.tpa = ip_dst;
- memset(&hdr_arp->arp.data.tha, 0, sizeof(struct ether_addr));
- memcpy(&hdr_arp->arp.data.sha, src_mac, sizeof(struct ether_addr));
+ memset(&hdr_arp->arp.data.tha, 0, sizeof(prox_rte_ether_addr));
+ memcpy(&hdr_arp->arp.data.sha, src_mac, sizeof(prox_rte_ether_addr));
}
-static void create_mac(struct ether_hdr_arp *hdr, struct ether_addr *addr)
+static void create_mac(struct ether_hdr_arp *hdr, prox_rte_ether_addr *addr)
{
addr->addr_bytes[0] = 0x2;
addr->addr_bytes[1] = 0;