NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Typedefs | Enumerations | Functions
passthru.h File Reference
#include "../iface/rxloop.h"

Go to the source code of this file.

Data Structures

struct  EthPassthru
 Ethernet pass-through face and its associated TAP port. More...
 

Typedefs

typedef struct EthGtpip EthGtpip
 
typedef struct EthPassthru EthPassthru
 Ethernet pass-through face and its associated TAP port. More...
 

Enumerations

enum  { EthPassthru_cntNPkts = PktInterest , EthPassthru_cntNGtpip = PktData }
 

Functions

void EthPassthru_FaceRxInput (Face *face, int rxThread, FaceRxInputCtx *ctx)
 Process a burst of received Ethernet frames on a pass-through face. More...
 
void EthPassthru_TapPortRxBurst (RxGroup *rxg, RxGroupBurstCtx *ctx)
 Receive Ethernet frames on a TAP ethdev associated with a pass-through face. More...
 
uint16_t EthPassthru_TxLoop (Face *face, int txThread)
 Process outgoing Ethernet frames on a pass-through face. More...
 

Typedef Documentation

◆ EthGtpip

typedef struct EthGtpip EthGtpip

◆ EthPassthru

typedef struct EthPassthru EthPassthru

Ethernet pass-through face and its associated TAP port.

This struct also serves as the RxGroup of the TAP port.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EthPassthru_cntNPkts 

FaceRx/TxThread.nFrames[cntNPkts] counts non-GTP-IP packets.

EthPassthru_cntNGtpip 

FaceRx/TxThread.nFrames[cntNGtpip] counts GTP-IP packets.

Function Documentation

◆ EthPassthru_FaceRxInput()

void EthPassthru_FaceRxInput ( Face face,
int  rxThread,
FaceRxInputCtx ctx 
)

Process a burst of received Ethernet frames on a pass-through face.

This is set as Face_RxInputFunc of a pass-through face. It transmits every packet out of the associated TAP ethdev.

◆ EthPassthru_TapPortRxBurst()

void EthPassthru_TapPortRxBurst ( RxGroup rxg,
RxGroupBurstCtx ctx 
)

Receive Ethernet frames on a TAP ethdev associated with a pass-through face.

This is set as RxGroup_RxBurstFunc of a TAP ethdev associated with a pass-through face. It enqueues every packet into the output queue of the pass-through face.

◆ EthPassthru_TxLoop()

uint16_t EthPassthru_TxLoop ( Face face,
int  txThread 
)

Process outgoing Ethernet frames on a pass-through face.

This is set as Face_TxLoopFunc of a pass-through face. It transmits every packet out of the (physical) DPDK ethdev.