1 #ifndef NDNDPDK_ETHFACE_LOCATOR_H
2 #define NDNDPDK_ETHFACE_LOCATOR_H
6 #include "../dpdk/ethdev.h"
11 struct rte_ether_addr
local;
12 struct rte_ether_addr
remote;
34 __attribute__((nonnull))
bool
53 RTE_ETHER_HDR_LEN + RTE_VLAN_HLEN +
54 RTE_MAX_T(
sizeof(
struct rte_ipv4_hdr),
sizeof(
struct rte_ipv6_hdr),
size_t) +
55 sizeof(
struct rte_udp_hdr) +
56 RTE_MAX_T(sizeof(struct rte_vxlan_hdr) + RTE_ETHER_HDR_LEN,
57 sizeof(
EthGtpHdr) + sizeof(struct rte_ipv4_hdr) + sizeof(struct rte_udp_hdr), size_t)
@ EthLocator_MaxHdrLen
EthLocator derived header buffer length.
Definition: locator.h:52
EthLocatorClass EthLocator_Classify(const EthLocator *loc)
Classify EthFace locator.
Definition: locator.c:5
bool EthLocator_CanCoexist(const EthLocator *a, const EthLocator *b)
Determine whether two locators can coexist on the same port.
Definition: locator.c:31
struct EthLocator EthLocator
EthFace address information.
struct EthLocatorClass EthLocatorClass
GTP-U header with PDU session container.
Definition: xdp-locator.h:46
bool udp
is UDP?
Definition: locator.h:42
bool multicast
is outer Ethernet multicast?
Definition: locator.h:40
char tunnel
'V' for VXLAN, 'G' for GTP-U, 0 otherwise
Definition: locator.h:43
bool v4
is IPv4?
Definition: locator.h:41
bool passthru
is passthru face
Definition: locator.h:39
uint16_t etherType
outer EtherType, 0 for memif
Definition: locator.h:38
EthFace address information.
Definition: locator.h:10
struct rte_ipv6_addr localIP
Definition: locator.h:15
struct rte_ether_addr innerLocal
Definition: locator.h:21
uint32_t ulTEID
Definition: locator.h:24
bool isGtp
Definition: locator.h:30
struct rte_ipv6_addr innerRemoteIP
Definition: locator.h:27
uint16_t vlan
Definition: locator.h:13
struct rte_ipv6_addr innerLocalIP
Definition: locator.h:26
uint8_t dlQFI
Definition: locator.h:29
struct rte_ether_addr innerRemote
Definition: locator.h:22
uint16_t remoteUDP
Definition: locator.h:18
uint32_t dlTEID
Definition: locator.h:25
uint16_t localUDP
Definition: locator.h:17
struct rte_ipv6_addr remoteIP
Definition: locator.h:16
uint8_t ulQFI
Definition: locator.h:28
struct rte_ether_addr remote
Definition: locator.h:12
struct rte_ether_addr local
Definition: locator.h:11
uint32_t vxlan
Definition: locator.h:20