NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
txloop.h
Go to the documentation of this file.
1 #ifndef NDNDPDK_IFACE_TXLOOP_H
2 #define NDNDPDK_IFACE_TXLOOP_H
3 
6 #include "../dpdk/thread.h"
7 #include "face.h"
8 
10 typedef struct TxLoop {
12  struct cds_hlist_head head;
14 
19 __attribute__((nonnull)) void
20 TxLoop_TxFrames(Face* face, int txThread, struct rte_mbuf** frames, uint16_t count);
21 
27 __attribute__((nonnull)) uint16_t
28 TxLoop_Transfer_Linear(Face* face, int txThread);
29 
35 __attribute__((nonnull)) uint16_t
36 TxLoop_Transfer_Chained(Face* face, int txThread);
37 
38 __attribute__((nonnull)) int
39 TxLoop_Run(TxLoop* txl);
40 
41 #endif // NDNDPDK_IFACE_TXLOOP_H
Generic network interface.
Definition: face.h:98
Thread load stats and stop flag.
Definition: thread.h:10
TX loop thread.
Definition: txloop.h:10
ThreadCtrl ctrl
Definition: txloop.h:11
struct cds_hlist_head head
Definition: txloop.h:12
void TxLoop_TxFrames(Face *face, int txThread, struct rte_mbuf **frames, uint16_t count)
Submit frames to face->impl->txBurst .
Definition: txloop.c:9
uint16_t TxLoop_Transfer_Linear(Face *face, int txThread)
Move a burst of L3 packets from face->outputQueue to face->impl->txBurst .
Definition: txloop.c:91
uint16_t TxLoop_Transfer_Chained(Face *face, int txThread)
Move a burst of L3 packets from face->outputQueue to face->impl->txBurst .
Definition: txloop.c:96
struct TxLoop TxLoop
TX loop thread.
int TxLoop_Run(TxLoop *txl)
Definition: txloop.c:104