16#include <rte_ethdev.h>
26union dao_16aligned_in6_addr {
31static inline rte_be32_t
34#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
35 return ((rte_be32_t)x->hi << 16) | x->lo;
37 return ((rte_be32_t)x->lo << 16) | x->hi;
50static inline struct in6_addr
55 memset(&ip6, 0,
sizeof(ip6));
56 ip6.s6_addr[10] = 0xff;
57 ip6.s6_addr[11] = 0xff;
58 memcpy(&ip6.s6_addr[12], &ip4, 4);
86static inline rte_be32_t
89 union dao_16aligned_in6_addr *taddr =
90 (
union dao_16aligned_in6_addr *)addr;
92 if (IN6_IS_ADDR_V4MAPPED(taddr))
93 return dao_get_16aligned_be32(&taddr->be32[3]);
static struct in6_addr dao_in6_addr_mapped_ipv4(rte_be32_t ip4)
static void dao_in6_addr_set_mapped_ipv4(struct in6_addr *ip6, rte_be32_t ip4)
static rte_be32_t dao_in6_addr_get_mapped_ipv4(struct in6_addr *addr)