1 #ifndef NDNDPDK_ETHFACE_FLOWDEF_H
2 #define NDNDPDK_ETHFACE_FLOWDEF_H
6 #include "../iface/enum.h"
16 struct rte_flow_attr
attr;
20 struct rte_flow_item_eth
ethSpec;
21 struct rte_flow_item_eth
ethMask;
26 struct rte_flow_item_ipv4
ip4Spec;
27 struct rte_flow_item_ipv4
ip4Mask;
30 struct rte_flow_item_ipv6
ip6Spec;
31 struct rte_flow_item_ipv6
ip6Mask;
34 struct rte_flow_item_udp
udpSpec;
35 struct rte_flow_item_udp
udpMask;
38 struct rte_flow_item_raw
rawSpec;
39 struct rte_flow_item_raw
rawMask;
50 struct rte_flow_item_gtp
gtpSpec;
51 struct rte_flow_item_gtp
gtpMask;
55 struct rte_flow_action
actions[3];
57 struct rte_flow_action_queue
queueAct;
59 struct rte_flow_action_rss
rssAct;
63 struct rte_flow_action_mark
markAct;
81 const uint16_t queues[],
int nQueues);
83 __attribute__((nonnull))
void
87 __attribute__((nonnull))
void
struct vlanhdr __rte_packed
struct EthFlowDef EthFlowDef
EthFace rte_flow pattern.
void EthFlowDef_UpdateError(const EthFlowDef *flow, struct rte_flow_error *error)
Update error->cause to be an offset if it's within flow .
Definition: flowdef.c:328
@ EthFlowDef_MaxVariant
Definition: flowdef.h:10
@ EthFlowDef_NPatterns
Definition: flowdef.h:11
EthFlowDefResult
Definition: flowdef.h:66
@ EthFlowDefResultValid
Definition: flowdef.h:67
@ EthFlowDefResultMarked
Definition: flowdef.h:68
void EthFlowDef_DebugPrint(const EthFlowDef *flow, const char *msg)
Definition: flowdef.c:267
EthFlowDefResult EthFlowDef_Prepare(EthFlowDef *flow, const EthLocator *loc, int variant, uint32_t mark, const uint16_t queues[], int nQueues)
Prepare rte_flow definition from locator.
Definition: flowdef.c:248
@ MaxFaceRxThreads
Definition: enum.h:9
EthFace rte_flow pattern.
Definition: flowdef.h:15
struct rte_flow_item_ipv4 ip4Mask
Definition: flowdef.h:27
struct rte_flow_item_ipv4 ip4Spec
Definition: flowdef.h:26
struct rte_flow_item_raw rawMask
Definition: flowdef.h:39
uint16_t rssQueues[MaxFaceRxThreads]
Definition: flowdef.h:60
struct rte_flow_action_rss rssAct
Definition: flowdef.h:59
struct rte_flow_item_vlan vlanSpec
Definition: flowdef.h:22
struct rte_flow_item_vxlan vxlanMask
Definition: flowdef.h:45
struct rte_flow_action actions[3]
Definition: flowdef.h:55
struct rte_flow_action_mark markAct
Definition: flowdef.h:63
uint8_t rawMaskBuf[16]
Definition: flowdef.h:41
struct rte_flow_item_vxlan vxlanSpec
Definition: flowdef.h:44
struct rte_flow_item_vlan vlanMask
Definition: flowdef.h:23
struct rte_flow_item_eth innerEthMask
Definition: flowdef.h:47
struct rte_flow_item_ipv6 ip6Spec
Definition: flowdef.h:30
struct rte_flow_item_raw rawSpec
Definition: flowdef.h:38
uint16_t patternSpecLen[EthFlowDef_NPatterns]
Definition: flowdef.h:19
struct rte_flow_action_queue queueAct
Definition: flowdef.h:57
struct rte_flow_item_gtp gtpMask
Definition: flowdef.h:51
struct rte_flow_item pattern[EthFlowDef_NPatterns]
Definition: flowdef.h:18
struct rte_flow_item_eth innerEthSpec
Definition: flowdef.h:46
struct rte_flow_item_ipv6 ip6Mask
Definition: flowdef.h:31
struct rte_flow_attr attr
Definition: flowdef.h:16
struct rte_flow_item_eth ethSpec
Definition: flowdef.h:20
struct rte_flow_item_udp udpSpec
Definition: flowdef.h:34
struct rte_flow_item_eth ethMask
Definition: flowdef.h:21
struct rte_flow_item_udp udpMask
Definition: flowdef.h:35
struct rte_flow_item_gtp gtpSpec
Definition: flowdef.h:50
uint8_t rawSpecBuf[16]
Definition: flowdef.h:40
EthFace address information.
Definition: locator.h:10