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

Functions

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

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.

◆ STATIC_ASSERT_FUNC_TYPE() [1/3]

STATIC_ASSERT_FUNC_TYPE ( Face_RxInputFunc  ,
EthPassthru_FaceRxInput   
)

◆ STATIC_ASSERT_FUNC_TYPE() [2/3]

STATIC_ASSERT_FUNC_TYPE ( Face_TxLoopFunc  ,
EthPassthru_TxLoop   
)

◆ STATIC_ASSERT_FUNC_TYPE() [3/3]

STATIC_ASSERT_FUNC_TYPE ( RxGroup_RxBurstFunc  ,
EthPassthru_TapPortRxBurst   
)