NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
face.h
Go to the documentation of this file.
1#ifndef NDNDPDK_ETHFACE_FACE_H
2#define NDNDPDK_ETHFACE_FACE_H
3
5
6#include "passthru.h"
7#include "rxmatch.h"
8#include "txhdr.h"
9#include <urcu/rculist.h>
10
12typedef struct EthRxFlow {
15 uint16_t port;
16 uint16_t queue;
17 uint8_t hdrLen;
18} __rte_cache_aligned EthRxFlow;
19
31
33__attribute__((nonnull)) struct rte_flow*
34EthFace_SetupFlow(EthFacePriv* priv, const uint16_t queues[], int nQueues, const EthLocator* loc,
35 bool isolated, struct rte_flow_error* error);
36
38__attribute__((nonnull)) void
40
41__attribute__((nonnull)) uint16_t
42EthFace_TxBurst(Face* face, struct rte_mbuf** pkts, uint16_t nPkts);
43
44#endif // NDNDPDK_ETHFACE_FACE_H
void EthFace_SetupRxMemif(EthFacePriv *priv, const EthLocator *loc)
Setup RX for memif.
Definition face.c:150
uint16_t EthFace_TxBurst(Face *face, struct rte_mbuf **pkts, uint16_t nPkts)
Definition face.c:161
struct rte_flow * EthFace_SetupFlow(EthFacePriv *priv, const uint16_t queues[], int nQueues, const EthLocator *loc, bool isolated, struct rte_flow_error *error)
Setup rte_flow on EthDev for hardware dispatching.
Definition face.c:90
uint16_t FaceID
Numeric face identifier.
Definition faceid.h:13
@ MaxFaceRxThreads
Definition enum.h:9
Ethernet face private data.
Definition face.h:21
EthRxFlow rxf[MaxFaceRxThreads]
Definition face.h:22
uint16_t port
Definition face.h:26
EthTxHdr txHdr
Definition face.h:24
struct cds_list_head rxtNode
Definition face.h:28
EthRxMatch rxMatch
Definition face.h:29
EthPassthru passthru
Definition face.h:23
FaceID faceID
Definition face.h:25
EthFace address information.
Definition locator.h:10
Ethernet pass-through face and its associated TAP port.
Definition passthru.h:22
rte_flow hardware assisted RX dispatching.
Definition face.h:12
FaceID faceID
Definition face.h:14
RxGroup base
Definition face.h:13
uint16_t port
Definition face.h:15
uint16_t queue
Definition face.h:16
uint8_t hdrLen
Definition face.h:17
EthFace RX matcher.
Definition rxmatch.h:28
EthFace TX header template.
Definition txhdr.h:31
Generic network interface.
Definition face.h:98
Receive channel for faces.
Definition rxloop.h:39