NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Typedefs | Functions
rxloop.h File Reference
#include "../dpdk/thread.h"
#include "face.h"
#include "input-demux.h"
#include <rte_bitset.h>

Go to the source code of this file.

Data Structures

struct  RxGroupBurstCtx
 Context of RxGroup_RxBurstFunc operation. More...
 
struct  RxGroup
 Receive channel for faces. More...
 
struct  RxLoop
 RX loop thread. More...
 

Typedefs

typedef struct RxGroupBurstCtx RxGroupBurstCtx
 Context of RxGroup_RxBurstFunc operation. More...
 
typedef struct RxGroup RxGroup
 
typedef void(* RxGroup_RxBurstFunc) (RxGroup *rxg, RxGroupBurstCtx *ctx)
 Receive a burst of L2 frames. More...
 
typedef struct RxLoop RxLoop
 RX loop thread. More...
 

Functions

int RxLoop_Run (RxLoop *rxl)
 

Typedef Documentation

◆ RxGroup

typedef struct RxGroup RxGroup

◆ RxGroup_RxBurstFunc

typedef void(* RxGroup_RxBurstFunc) (RxGroup *rxg, RxGroupBurstCtx *ctx)

Receive a burst of L2 frames.

Precondition
ctx->nRx and ctx->dropBits are zero.

The callback should fill ctx->pkts[:ctx->nRx] with received packets, and set pkt->port (FaceID) and timestamp on each packet. The callback may mark an index with RxGroupBurstCtx_Drop so that they would be freed by the caller without processing; these positions may also have NULL.

◆ RxGroupBurstCtx

Context of RxGroup_RxBurstFunc operation.

◆ RxLoop

typedef struct RxLoop RxLoop

RX loop thread.

Function Documentation

◆ RxLoop_Run()

int RxLoop_Run ( RxLoop rxl)