NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
txloop.c File Reference
#include "txloop.h"
#include "../core/logger.h"
#include "../hrlog/entry.h"
#include "face-impl.h"

Functions

 N_LOG_INIT (TxLoop)
 
void TxLoop_TxFrames (Face *face, int txThread, struct rte_mbuf **frames, uint16_t count)
 Submit frames to face->impl->txBurst . More...
 
uint16_t TxLoop_Transfer_Linear (Face *face, int txThread)
 Move a burst of L3 packets from face->outputQueue to face->impl->txBurst . More...
 
uint16_t TxLoop_Transfer_Chained (Face *face, int txThread)
 Move a burst of L3 packets from face->outputQueue to face->impl->txBurst . More...
 
 STATIC_ASSERT_FUNC_TYPE (Face_TxLoopFunc, TxLoop_Transfer_Linear)
 
 STATIC_ASSERT_FUNC_TYPE (Face_TxLoopFunc, TxLoop_Transfer_Chained)
 
int TxLoop_Run (TxLoop *txl)
 

Function Documentation

◆ N_LOG_INIT()

N_LOG_INIT ( TxLoop  )

◆ STATIC_ASSERT_FUNC_TYPE() [1/2]

STATIC_ASSERT_FUNC_TYPE ( Face_TxLoopFunc  ,
TxLoop_Transfer_Chained   
)

◆ STATIC_ASSERT_FUNC_TYPE() [2/2]

STATIC_ASSERT_FUNC_TYPE ( Face_TxLoopFunc  ,
TxLoop_Transfer_Linear   
)

◆ TxLoop_Run()

int TxLoop_Run ( TxLoop txl)

◆ TxLoop_Transfer_Chained()

uint16_t TxLoop_Transfer_Chained ( Face face,
int  txThread 
)

Move a burst of L3 packets from face->outputQueue to face->impl->txBurst .

This is the default implementation of Face_TxLoopFunc for PacketTxAlign.linearize==false .

◆ TxLoop_Transfer_Linear()

uint16_t TxLoop_Transfer_Linear ( Face face,
int  txThread 
)

Move a burst of L3 packets from face->outputQueue to face->impl->txBurst .

This is the default implementation of Face_TxLoopFunc for PacketTxAlign.linearize==true .

◆ TxLoop_TxFrames()

void TxLoop_TxFrames ( Face face,
int  txThread,
struct rte_mbuf **  frames,
uint16_t  count 
)

Submit frames to face->impl->txBurst .

Parameters
countmust be positive.