cloudFPGA (cF) API
1.0
The documentation of the source code of cloudFPGA (cF)
|
Network Transport Stack (NTS). This component implements the TCP/IP Network and Transport Stack used by the cloudFPGA platform. The documentation of NTS is available at https://pages.github.ibm.com/cloudFPGA/Doc/pages/cfdk.html#network-transport-stack-nts. More...
Modules | |
ARP | |
Address Resolution Protocol (ARS) server of the Network Transport Stack (NTS). | |
ICMP | |
Internet Control Message Protocol server (ICMP) of the Network Transport Stack (NTS). | |
IPRX | |
IP Receiver packet handler (IPRX) of the Network Transport Stack (NTS). | |
IPTX | |
IP Transmitter packet handler (IPTX) of the Network Transport Stack (NTS). | |
RLB | |
Ready Logic Barrier (RLB) for the Network Transport Stack (NTS). | |
TOE | |
TCP Offload Engine (TOE) of the Network Transport Stack (NTS). | |
TOECAM | |
Content-Addressable Memory (CAM) for the TCP Offload Engine (TOE) of the Network Transport Stack (NTS). | |
UOE | |
UDP Offload Engine (UOE) of the Network Transport Stack (NTS). | |
SimNts | |
Support and utilities for the simulation of the Network Transport Stack (NTS). | |
Files | |
file | arp.hpp |
: Address Resolution Protocol (ARP) Server | |
file | AxisArp.hpp |
: A class to access an ARP data chunk transmitted over an AXI4-Stream interface. | |
file | AxisEth.hpp |
: A class to access an ETHernet data chunk transmitted over an AXI4-Stream interface. | |
file | AxisIcmp.hpp |
: A class to access ICMP header fields within data chunks transmitted over an AXI4-Stream interface. | |
file | AxisIp4.hpp |
: A class to access an IPv4 data chunk transmitted over an AXI4-Stream interface. | |
file | AxisPsd4.hpp |
: A class to access the fields of a TCP/IPv4 or UDP/IPv4 pseudo packet when transmitted over an AXI4-Stream interface. | |
file | AxisRaw.hpp |
: A generic class used by the Network-Transport-Stack (NTS) to to transfer a chunk of data over an AXI4-Stream interface. | |
file | AxisTcp.hpp |
: A class to access TCP header fields within data chunks transmitted over an AXI4-Stream interface. | |
file | AxisUdp.hpp |
: A class to access UDP header fields within data chunks transmitted over an AXI4-Stream interface. | |
file | icmp.cpp |
: Internet Control Message Protocol (ICMP) Server | |
file | icmp.hpp |
: Internet Control Message Protocol (ICMP) Server | |
file | iprx.cpp |
: IP Receiver packet handler (IPRX). | |
file | iprx.hpp |
: IP Receiver packet handler (IPRX). | |
file | iptx.cpp |
: IP Transmitter packet handler (IPTX). | |
file | iptx.hpp |
: IP Transmitter packet handler (IPTX) | |
file | nts.hpp |
: Definition of the Network Transport Stack (NTS) component as if it was an HLS IP core. | |
file | nts_config.hpp |
: Configuration parameters for the Network Transport Stack (NTS) component and sub-components. | |
file | nts_types.hpp |
: Definition of the types used by the Network Transport Stack (NTS) component of the cloudFPGA shell. | |
file | nts_utils.cpp |
: Utilities and helpers for the Network-Transport-Stack (NTS) components. | |
file | nts_utils.hpp |
: Utilities and helpers for the Network-Transport-Stack (NTS) components. | |
file | rlb.cpp |
: Ready Logic Barrier (RLB) | |
file | rlb.hpp |
: Defines and prototypes related to the Ready Logic Barrier. | |
file | ack_delay.cpp |
: ACK Delayer (AKd) of the TCP Offload Engine (TOE) | |
file | ack_delay.hpp |
: ACK Delayer (AKd) of the TCP Offload Engine (TOE) | |
file | event_engine.cpp |
: Event Engine (EVe) of the TCP Offload Engine (TOE) | |
file | event_engine.hpp |
: Event Engine (EVe) of the TCP Offload Engine (TOE) | |
file | port_table.cpp |
: Port Table (PRt) of the TCP Offload Engine (TOE) | |
file | port_table.hpp |
: Port Table (PRt) of the TCP Offload Engine (TOE) | |
file | rx_app_interface.cpp |
: Rx Application Interface (RAi) of the TCP Offload Engine (TOE) | |
file | rx_app_interface.hpp |
: Rx Application Interface (RAi) of the TCP Offload Engine (TOE) | |
file | rx_engine.hpp |
: Rx Engine (RXe) of the TCP Offload Engine (TOE) | |
file | rx_engine.hpp |
: Rx Engine (RXe) of the TCP Offload Engine (TOE) | |
file | rx_sar_table.cpp |
: Rx Segmentation And Re-assembly Table (RSt). | |
file | rx_sar_table.hpp |
: Rx Segmentation And Re-assembly Table (RSt). | |
file | state_table.cpp |
: State Table (STt) | |
file | state_table.hpp |
: State Table (STt) for the TCP Offload Engine (TOE) | |
file | timers.cpp |
: Timers (TIm) for the TCP Offload Engine (TOE) | |
file | timers.hpp |
: Timers (TIm) for the TCP Offload Engine (TOE) | |
file | toe.cpp |
: TCP Offload Engine (TOE) | |
file | toe.hpp |
: TCP Offload Engine (TOE) | |
file | toe_utils.cpp |
: Utilities and helpers for the TCP Offload Engine (TOE) | |
file | toe_utils.hpp |
: Utilities and helpers for the TCP Offload Engine (TOE) | |
file | tx_engine.cpp |
: Tx Engine (TXe) of the TCP Offload Engine (TOE). | |
file | tx_engine.hpp |
: Tx Engine (TXe) of the TCP Offload Engine (TOE) | |
file | tx_sar_table.cpp |
: Tx Segmentation and re-assembly Table (TSt) | |
file | tx_sar_table.hpp |
: Tx Segmentation and re-assembly Table (TSt) | |
file | dummy_memory.cpp |
: A class to emulate the TCP buffer memory. | |
file | dummy_memory.hpp |
: A class to emulate the TCP buffer memory. | |
file | toecam.cpp |
: Content-Addressable Memory (CAM) for TCP Offload Engine (TOE) | |
file | toecam.hpp |
: Content-Addressable Memory (CAM) for TCP Offload Engine (TOE) | |
file | uoe.cpp |
: UDP Offload Engine (UOE) | |
file | uoe.hpp |
: UDP Offload Engine (UOE) | |
Classes | |
class | AxisArp |
class | AxisEth |
class | AxisIcmp |
class | AxisIp4 |
class | AxisRaw |
class | AxisTcp |
class | AxisUdp |
class | TcpAppNotif |
class | TcpAppRdReq |
class | TcpAppSndReq |
class | TcpAppSndRep |
class | TcpAppOpnRep |
class | UdpAppMeta |
class | SockAddr |
class | LE_SockAddr |
struct | fourTuple |
class | SocketPair |
class | LE_SocketPair |
class | ArpBindPair |
class | ArpLkpReply |
class | FourTuple |
class | CamSessionLookupRequest |
class | CamSessionLookupReply |
class | CamSessionUpdateRequest |
class | CamSessionUpdateReply |
struct | log2Ceil< n > |
Macros | |
#define | ICMP_HEADER_LEN 8 |
#define | IP4_HEADER_LEN 20 |
#define | AXIS_RAW_WIDTH_AT_10GE 64 |
#define | ARW AXIS_RAW_WIDTH_AT_10GE |
#define | TLAST 1 |
#define | TCP_HEADER_LEN 20 |
#define | TCP_OPT_KIND_EOL 0 |
#define | TCP_OPT_KIND_NOP 1 |
#define | TCP_OPT_KIND_MSS 2 |
#define | TCP_OPT_KIND_WSS 3 |
#define | TCP_OPT_KIND_SACK 4 |
#define | UDP_HEADER_LEN 8 |
#define | TOE_MEMORY_SIZE 0x80000000 |
#define | TOE_MEMORY_BASE 0x00000000 |
#define | NTS_OK 1 |
#define | NTS_KO 0 |
#define | OK NTS_OK |
#define | KO NTS_KO |
#define | CMD_INIT 1 |
#define | CMD_DROP 1 |
#define | CMD_KEEP 0 |
#define | CMD_ENABLE 1 |
#define | CMD_DISABLE 0 |
#define | QUERY_RD 0 |
#define | QUERY_WR 1 |
#define | QUERY_INIT 1 |
#define | QUERY_FAST_RETRANSMIT true |
#define | FLAG_OFF 0 |
#define | FLAG_ON 1 |
#define | FLAG_OOO true |
#define | FLAG_INO false |
#define | LKP_HIT true |
#define | LKP_NO_HIT false |
#define | STS_OK 1 |
#define | STS_KO 0 |
#define | STS_OPENED 1 |
#define | STS_CLOSED 0 |
#define | STS_ERROR 1 |
#define | STS_NO_ERR 0 |
#define | ACK_ON 1 |
#define | NO_ACK 0 |
#define | ETH_BROADCAST_ADDR 0xFFFFFFFFFFFF |
#define | ETH_ETHERTYPE_IP4 0x0800 |
#define | ETH_ETHERTYPE_ARP 0x0806 |
#define | ARP_HTYPE_ETHERNET 0x0001 |
#define | ARP_PTYPE_IPV4 0x0800 |
#define | ARP_HLEN_ETHERNET 6 |
#define | ARP_PLEN_IPV4 4 |
#define | ARP_OPER_REQUEST 0x0001 |
#define | ARP_OPER_REPLY 0x0002 |
#define | IP4_BROADCAST_ADDR 0xFFFFFFFF |
#define | IP4_PROT_ICMP 0x01 |
#define | IP4_PROT_TCP 0x06 |
#define | IP4_PROT_UDP 0x11 |
#define | FROM_RXe 0 |
#define | FROM_TAi 1 |
#define | THIS_NAME "NtsUtils" |
#define | __SYNTH_LOG2CEIL__ |
#define | concat2(firstCharConst, secondCharConst) firstCharConst secondCharConst |
#define | concat3(firstCharConst, secondCharConst, thirdCharConst) firstCharConst secondCharConst thirdCharConst |
#define | printInfo(callerName, format, ...) do { gTraceEvent = true; printf("(@%5.5d) [%-20s] INFO - " format, gSimCycCnt, callerName, ##__VA_ARGS__); } while (0) |
A macro to print an information message. More... | |
#define | printWarn(callerName, format, ...) do { gTraceEvent = true; printf("(@%5.5d) [%-20s] WARNING - " format, gSimCycCnt, callerName, ##__VA_ARGS__); } while (0) |
A macro to print a warning message. More... | |
#define | printError(callerName, format, ...) do { gTraceEvent = true; printf("(@%5.5d) [%-20s] ERROR - " format, gSimCycCnt, callerName, ##__VA_ARGS__); } while (0) |
A macro to print an error message. More... | |
#define | printFatal(callerName, format, ...) do { gTraceEvent = true; gFatalError = true; printf("\n(@%5.5d) [%-20s] FATAL - " format, gSimCycCnt, callerName, ##__VA_ARGS__); printf("\n\n"); exit(99); } while (0) |
A macro to print a fatal error message and exit. More... | |
#define | assessSize(callerName, stream, streamName, depth) do { if (stream.size() >= depth) printFatal(callerName, "Stream \'%s\' is full: Cannot write.", streamName); } while (0) |
A macro that checks if a stream is full. More... | |
Typedefs | |
typedef ap_uint< 16 > | LE_ArpHwType |
typedef ap_uint< 16 > | LE_ArpProtType |
typedef ap_uint< 8 > | LE_ArpHwLen |
typedef ap_uint< 8 > | LE_ArpProtLen |
typedef ap_uint< 16 > | LE_ArpOper |
typedef ap_uint< 48 > | LE_ArpSendHwAddr |
typedef ap_uint< 32 > | LE_ArpSendProtAddr |
typedef ap_uint< 48 > | LE_ArpTargHwAddr |
typedef ap_uint< 32 > | LE_ArpTargProtAddr |
typedef ap_uint< 16 > | LE_ArpShaHi |
typedef ap_uint< 32 > | LE_ArpShaLo |
typedef ap_uint< 16 > | LE_ArpTpaHi |
typedef ap_uint< 16 > | LE_ArpTpaLo |
typedef ap_uint< 16 > | ArpHwType |
typedef ap_uint< 16 > | ArpProtType |
typedef ap_uint< 8 > | ArpHwLen |
typedef ap_uint< 8 > | ArpProtLen |
typedef ap_uint< 16 > | ArpOper |
typedef ap_uint< 48 > | ArpSendHwAddr |
typedef ap_uint< 32 > | ArpSendProtAddr |
typedef ap_uint< 48 > | ArpTargHwAddr |
typedef ap_uint< 32 > | ArpTargProtAddr |
typedef ap_uint< 16 > | ArpShaHi |
typedef ap_uint< 32 > | ArpShaLo |
typedef ap_uint< 16 > | ArpTpaHi |
typedef ap_uint< 16 > | ArpTpaLo |
typedef ap_uint< 48 > | LE_EthSrcAddr |
typedef ap_uint< 48 > | LE_EthDstAddr |
typedef ap_uint< 48 > | LE_EthAddress |
typedef ap_uint< 48 > | LE_EthAddr |
typedef ap_uint< 16 > | LE_EthTypeLen |
typedef ap_uint< 16 > | LE_EtherType |
typedef ap_uint< 16 > | LE_EtherLen |
typedef ap_uint< 48 > | EthSrcAddr |
typedef ap_uint< 48 > | EthDstAddr |
typedef ap_uint< 48 > | EthAddress |
typedef ap_uint< 48 > | EthAddr |
typedef ap_uint< 16 > | EthTypeLen |
typedef ap_uint< 16 > | EtherType |
typedef ap_uint< 16 > | EtherLen |
typedef ap_uint< 16 > | LE_Ip4DstAddrHi |
typedef ap_uint< 16 > | LE_Ip4DstAddrLo |
typedef ap_uint< 16 > | Ip4DstAddrHi |
typedef ap_uint< 16 > | Ip4DstAddrLo |
typedef ap_uint< 8 > | LE_IcmpType |
typedef ap_uint< 8 > | LE_IcmpCode |
typedef ap_uint< 16 > | LE_IcmpCsum |
typedef ap_uint< 8 > | IcmpType |
typedef ap_uint< 8 > | IcmpCode |
typedef ap_uint< 16 > | IcmpCsum |
typedef ap_uint< 16 > | IcmpIdent |
typedef ap_uint< 16 > | IcmpSeqNum |
typedef ap_uint< 4 > | LE_Ip4Version |
typedef ap_uint< 4 > | LE_Ip4HdrLen |
typedef ap_uint< 8 > | LE_Ip4ToS |
typedef ap_uint< 16 > | LE_Ip4TotalLen |
typedef ap_uint< 8 > | LE_Ip4TtL |
typedef ap_uint< 8 > | LE_Ip4Prot |
typedef ap_uint< 16 > | LE_Ip4HdrCsum |
typedef ap_uint< 32 > | LE_Ip4SrcAddr |
typedef ap_uint< 32 > | LE_Ip4DstAddr |
typedef ap_uint< 32 > | LE_Ip4Address |
typedef ap_uint< 32 > | LE_Ip4Addr |
typedef ap_uint< 64 > | LE_IpData |
typedef ap_uint< 4 > | Ip4Version |
typedef ap_uint< 4 > | Ip4HdrLen |
typedef ap_uint< 8 > | Ip4ToS |
typedef ap_uint< 16 > | Ip4TotalLen |
typedef ap_uint< 16 > | Ip4Ident |
typedef ap_uint< 13 > | Ip4FragOff |
typedef ap_uint< 3 > | Ip4Flags |
typedef ap_uint< 8 > | Ip4TtL |
typedef ap_uint< 8 > | Ip4Prot |
typedef ap_uint< 16 > | Ip4HdrCsum |
typedef ap_uint< 32 > | Ip4SrcAddr |
typedef ap_uint< 32 > | Ip4DstAddr |
typedef ap_uint< 32 > | Ip4Address |
typedef ap_uint< 32 > | Ip4Addr |
typedef ap_uint< 64 > | Ip4Data |
typedef ap_uint< 16 > | Ip4PktLen |
typedef ap_uint< 16 > | Ip4DatLen |
typedef ap_uint< 64 > | LE_tData |
typedef ap_uint< 64/2 > | LE_tDataHalf |
typedef ap_uint< 64/8 > | LE_tKeep |
typedef ap_uint< 1 > | LE_tLast |
typedef ap_uint< 64 > | tData |
typedef ap_uint< 64/2 > | tDataHalf |
typedef ap_uint< 64/8 > | tKeep |
typedef ap_uint< 64/16 > | tKeepHalf |
typedef ap_uint< 1 > | tLast |
typedef ap_uint< 16 > | LE_TcpSrcPort |
typedef ap_uint< 16 > | LE_TcpDstPort |
typedef ap_uint< 16 > | LE_TcpPort |
typedef ap_uint< 32 > | LE_TcpSeqNum |
typedef ap_uint< 32 > | LE_TcpAckNum |
typedef ap_uint< 3 > | LE_TcpResBits |
typedef ap_uint< 4 > | LE_TcpDataOff |
typedef ap_uint< 6 > | LE_TcpCtrlBits |
typedef ap_uint< 16 > | LE_TcpWindow |
typedef ap_uint< 16 > | LE_TcpChecksum |
typedef ap_uint< 16 > | LE_TcpUrgPtr |
typedef ap_uint< 64 > | LE_TcpData |
typedef ap_uint< 16 > | TcpSrcPort |
typedef ap_uint< 16 > | TcpDstPort |
typedef ap_uint< 16 > | TcpPort |
typedef ap_uint< 32 > | TcpSeqNum |
typedef ap_uint< 32 > | TcpAckNum |
typedef ap_uint< 3 > | TcpResBits |
typedef ap_uint< 4 > | TcpDataOff |
typedef ap_uint< 6 > | TcpCtrlBits |
typedef ap_uint< 1 > | TcpCtrlBit |
typedef ap_uint< 16 > | TcpWindow |
typedef ap_uint< 16 > | TcpChecksum |
typedef ap_uint< 16 > | TcpCsum |
typedef ap_uint< 16 > | TcpUrgPtr |
typedef ap_uint< 8 > | TcpOptKind |
typedef ap_uint< 8 > | TcpOptLen |
typedef ap_uint< 16 > | TcpOptMss |
typedef ap_uint< 16 > | TcpSegLen |
typedef ap_uint< 8 > | TcpHdrLen |
typedef ap_uint< 16 > | TcpDatLen |
typedef ap_uint< 16 > | LE_UdpSrcPort |
typedef ap_uint< 16 > | LE_UdpDstPort |
typedef ap_uint< 16 > | LE_UdpPort |
typedef ap_uint< 16 > | LE_UdpLen |
typedef ap_uint< 16 > | LE_UdpCsum |
typedef LE_tData | LE_UdpData |
typedef ap_uint< 16 > | UdpSrcPort |
typedef ap_uint< 16 > | UdpDstPort |
typedef ap_uint< 16 > | UdpPort |
typedef ap_uint< 16 > | UdpLen |
typedef ap_uint< 16 > | UdpCsum |
typedef tData | UdpData |
typedef tDataHalf | UdpDataHi |
typedef tDataHalf | UdpDataLo |
typedef ap_uint< 16 > | UdpDgmLen |
typedef ap_uint< 16 > | UdpDatLen |
typedef AxisRaw | AppData |
typedef AxisRaw | AxisApp |
typedef AxisRaw | TcpAppData |
typedef TcpSessId | TcpAppMeta |
typedef TcpDatLen | TcpAppDLen |
typedef SockAddr | TcpAppOpnReq |
typedef SessionId | TcpAppClsReq |
typedef TcpPort | TcpAppLsnReq |
typedef RepBool | TcpAppLsnRep |
typedef AxisRaw | UdpAppData |
typedef UdpDatLen | UdpAppDLen |
typedef Ly4Port | UdpAppLsnReq |
typedef StsBool | UdpAppLsnRep |
typedef Ly4Port | UdpAppClsReq |
typedef StsBool | UdpAppClsRep |
typedef ap_uint< 1 > | AckBit |
typedef ap_uint< 1 > | CmdBit |
typedef ap_uint< 1 > | ErrBit |
typedef ap_uint< 1 > | FlagBit |
typedef ap_uint< 1 > | RdWrBit |
typedef ap_uint< 1 > | ReqBit |
typedef ap_uint< 1 > | RepBit |
typedef ap_uint< 1 > | RspBit |
typedef ap_uint< 1 > | SigBit |
typedef ap_uint< 1 > | StsBit |
typedef ap_uint< 1 > | ValBit |
typedef bool | AckBool |
typedef bool | CmdBool |
typedef bool | FlagBool |
typedef bool | HitBool |
typedef bool | ReqBool |
typedef bool | RepBool |
typedef bool | RspBool |
typedef bool | SigBool |
typedef bool | StsBool |
typedef bool | ValBool |
typedef ap_uint< 16 > | SessionId |
typedef ap_uint< 16 > | TcpSessId |
typedef ap_uint< 16 > | LE_Ly4Port |
typedef ap_uint< 16 > | LE_Ly4Len |
typedef ap_uint< 16 > | Ly4Port |
typedef ap_uint< 16 > | Ly4Len |
typedef Ip4Addr | ArpLkpRequest |
typedef ap_uint< 14 > | RtlSessId |
typedef ap_uint< 1 > | LkpSrcBit |
Enumerations | |
enum | TcpState { CLOSED =0 , SYN_SENT , SYN_RECEIVED , ESTABLISHED , FIN_WAIT_1 , FIN_WAIT_2 , CLOSING , TIME_WAIT , LAST_ACK } |
enum | TcpAppSndErr { NO_ERROR =0 , NO_SPACE , NO_CONNECTION } |
enum | LkpOpBit { INSERT =0 , DELETE } |
Functions | |
template<class TypeIn , class TypeOut > | |
void | pAxisRawCast (hls::stream< TypeIn > &si, hls::stream< TypeOut > &so) |
AxisRaw cast - Casts an AxisRaw stream to/from an AxisRaw derived class. More... | |
void | nts (stream< TcpAppNotif > &soTAIF_Notif, stream< TcpAppRdReq > &siTAIF_DReq, stream< TcpAppData > &soTAIF_Data, stream< TcpAppMeta > &soTAIF_Meta, stream< TcpAppLsnReq > &siTAIF_LsnReq, stream< TcpAppLsnRep > &soTAIF_LsnRep, stream< TcpAppData > &siTAIF_Data, stream< TcpAppSndReq > &siTAIF_SndReq, stream< TcpAppSndRep > &soTAIF_SndRep, stream< TcpAppOpnReq > &siTAIF_OpnReq, stream< TcpAppOpnRep > &soTAIF_OpnRep, stream< TcpAppClsReq > &siTAIF_ClsReq, stream< UdpAppLsnReq > &siUAIF_LsnReq, stream< UdpAppLsnRep > &soUAIF_LsnRep, stream< UdpAppClsReq > &siUAIF_ClsReq, stream< UdpAppClsRep > &soUAIF_ClsRep, stream< UdpAppData > &soUAIF_Data, stream< UdpAppMeta > &soUAIF_Meta, stream< UdpAppDLen > &soUAIF_DLen, stream< UdpAppData > &siUAIF_Data, stream< UdpAppMeta > &siUAIF_Meta, stream< UdpAppDLen > &siUAIF_DLen) |
bool | operator== (SockAddr const &s1, SockAddr const &s2) |
bool | operator< (fourTuple const &lhs, fourTuple const &rhs) |
bool | operator< (SocketPair const &s1, SocketPair const &s2) |
bool | operator< (LE_SocketPair const &s1, LE_SocketPair const &s2) |
bool | operator== (FourTuple const &s1, FourTuple const &s2) |
void | printAxisRaw (const char *callerName, AxisRaw chunk) |
Prints an Axis raw data chunk (used for debugging). More... | |
void | printAxisRaw (const char *callerName, const char *message, AxisRaw chunk) |
Print an Axis raw data chunk prepended with a message. More... | |
void | printDmCmd (const char *callerName, DmCmd dmCmd) |
Prints the details of a Data Mover Command (used for debugging). More... | |
void | printArpBindPair (const char *callerName, ArpBindPair arpBind) |
Print an ARP binding pair association. More... | |
void | printLE_SockPair (const char *callerName, LE_SocketPair sockPair) |
Print a socket pair association in LITTLE-ENDIAN order. More... | |
void | printSockPair (const char *callerName, SocketPair sockPair) |
Print a socket pair association. More... | |
void | printSockPair (const char *callerName, LE_SocketPair leSockPair) |
Print a socket pair association. More... | |
void | printLE_SockAddr (const char *callerName, LE_SockAddr leSockAddr) |
Print a socket address encoded in LITTLE_ENDIAN order. More... | |
void | printSockAddr (const char *callerName, SockAddr sockAddr) |
Print a socket address. More... | |
void | printSockAddr (const char *callerName, LE_SockAddr leSockAddr) |
Print a socket address. More... | |
void | printIp4Addr (const char *callerName, const char *message, Ip4Addr ip4Addr) |
Print an IPv4 address prepended with a message (used for debugging). More... | |
void | printIp4Addr (const char *callerName, Ip4Addr ip4Addr) |
Print an IPv4 address encoded in NETWORK-BYTE order. More... | |
void | printEthAddr (const char *callerName, const char *message, EthAddr ethAddr) |
Print an ETHERNET MAC address prepended with a message (for debug). More... | |
void | printEthAddr (const char *callerName, EthAddr ethAddr) |
Print an ETHERNET MAC address in NETWORK-BYTE order. More... | |
void | printTcpPort (const char *callerName, TcpPort tcpPort) |
Print a TCP port. More... | |
const char * | getTcpStateName (TcpState tcpState) |
Returns the name of an enum-based TCP-State as a user friendly string. More... | |
LE_tKeep | lenToLE_tKeep (ap_uint< 4 > noValidBytes) |
A function to set a number of '1' in an 8-bit field. It is used here to set the number of valid bytes within the 'tkeep' field of an AxisRaw. More... | |
tKeep | lenTotKeep (ap_uint< 4 > noValidBytes) |
A function to set a number of '1' in an 8-bit field. It is used here to set the number of valid bytes within the 'tkeep' field of an AxisRaw. More... | |
ap_uint< 16 > | byteSwap16 (ap_uint< 16 > inputValue) |
Swap the two bytes of a word (.i.e, 16 bits). More... | |
ap_uint< 32 > | byteSwap32 (ap_uint< 32 > inputValue) |
Swap the four bytes of a double-word (.i.e, 32 bits). More... | |
ap_uint< 48 > | byteSwap48 (ap_uint< 48 > inputValue) |
Swap the six bytes of a triple-word (.i.e, 48 bits). More... | |
ap_uint< 64 > | byteSwap64 (ap_uint< 64 > inputValue) |
Swap the eight bytes of a quad-word (.i.e, 64 bits). More... | |
void | printSockAddr (SockAddr sockAddr) |
void | printEthAddr (EthAddr ethAddr) |
void | printTcpPort (TcpPort tcpPort) |
Variables | |
bool | gTraceEvent |
bool | gFatalError |
unsigned int | gSimCycCnt |
Network Transport Stack (NTS). This component implements the TCP/IP Network and Transport Stack used by the cloudFPGA platform. The documentation of NTS is available at https://pages.github.ibm.com/cloudFPGA/Doc/pages/cfdk.html#network-transport-stack-nts.
: The TCP/UDP pseudo IPv4 packet fields defined in this class refer tp the format generated by the 10GbE MAC of Xilinx which organizes its two 64-bit Rx and Tx interfaces into 8 lanes (see PG157). The result of this division into lanes, is that the ETH fields end up being stored in LITTLE-ENDIAN order instead of the initial big-endian order used to transmit bytes over the physical media. As an example, assume that the 16-bits field "TotalLength" of an IPv4 packet has a value of '0x1234'. This field will be transmitted on the media in big-endian order .i.e, a '0x12' followed by '0x34'. However, this field will end up being ordered in little-endian mode (.i.e, 0x3412) by the AXI4-Stream interface of the 10GbE MAC.
Therefore, the mapping of a pseudo IPv4 packet onto an AXI4-Stream interface encoded in LITTLE-ENDIAN is as follows:
6 5 4 3 2 1 0
3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDP or TCP Length | Protocol | 0x00 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
And the format of a TCP segment over a pseudo IPV4 packet is as follow:
6 5 4 3 2 1 0
3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Port | Source Port | UDP or TCP Length | Protocol | 0x00 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | |U|A|P|R|S|F| Data | | | Urgent Pointer | Checksum | Window | |R|C|S|S|Y|I| Offset| Res | | | | | |G|K|H|T|N|N| | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
And the format of a UDP datagram over a pseudo IPv4 packet is as follows:
6 5 4 3 2 1 0
3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Port | Source Port | UDP or TCP Length | Protocol | 0x00 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#define __SYNTH_LOG2CEIL__ |
HELPER DESIGN CLASSES
Definition at line 55 of file nts_utils.hpp.
#define ACK_ON 1 |
Definition at line 86 of file nts_types.hpp.
#define ARP_HLEN_ETHERNET 6 |
Definition at line 163 of file nts_types.hpp.
#define ARP_HTYPE_ETHERNET 0x0001 |
Definition at line 161 of file nts_types.hpp.
#define ARP_OPER_REPLY 0x0002 |
Definition at line 166 of file nts_types.hpp.
#define ARP_OPER_REQUEST 0x0001 |
Definition at line 165 of file nts_types.hpp.
#define ARP_PLEN_IPV4 4 |
Definition at line 164 of file nts_types.hpp.
#define ARP_PTYPE_IPV4 0x0800 |
Definition at line 162 of file nts_types.hpp.
#define ARW AXIS_RAW_WIDTH_AT_10GE |
Definition at line 114 of file AxisRaw.hpp.
#define assessSize | ( | callerName, | |
stream, | |||
streamName, | |||
depth | |||
) | do { if (stream.size() >= depth) printFatal(callerName, "Stream \'%s\' is full: Cannot write.", streamName); } while (0) |
A macro that checks if a stream is full.
[in] | callerName | The name of the caller process (e.g. "TB/IPRX"). |
[in] | stream | The stream to test. |
[in] | streamName | The name of the stream (e.g. "soEVe_RxEventSig"). |
[in] | depth | The depth of the implemented FIFO. |
Definition at line 223 of file nts_utils.hpp.
#define AXIS_RAW_WIDTH_AT_10GE 64 |
GENERIC AXI4 STREAMING INTERFACES AXIS RAW - DEFINITIONS
Definition at line 113 of file AxisRaw.hpp.
#define CMD_DISABLE 0 |
Definition at line 64 of file nts_types.hpp.
#define CMD_DROP 1 |
Definition at line 61 of file nts_types.hpp.
#define CMD_ENABLE 1 |
Definition at line 63 of file nts_types.hpp.
#define CMD_INIT 1 |
Definition at line 60 of file nts_types.hpp.
#define CMD_KEEP 0 |
Definition at line 62 of file nts_types.hpp.
#define concat2 | ( | firstCharConst, | |
secondCharConst | |||
) | firstCharConst secondCharConst |
MACRO DEFINITIONS
Definition at line 159 of file nts_utils.hpp.
#define concat3 | ( | firstCharConst, | |
secondCharConst, | |||
thirdCharConst | |||
) | firstCharConst secondCharConst thirdCharConst |
Definition at line 161 of file nts_utils.hpp.
#define ETH_BROADCAST_ADDR 0xFFFFFFFFFFFF |
DATA-LINK LAYER-2 - ETHERNET & ARP
Terminology & Conventions
Definition at line 152 of file nts_types.hpp.
#define ETH_ETHERTYPE_ARP 0x0806 |
Definition at line 156 of file nts_types.hpp.
#define ETH_ETHERTYPE_IP4 0x0800 |
Definition at line 155 of file nts_types.hpp.
#define FLAG_INO false |
Definition at line 74 of file nts_types.hpp.
#define FLAG_OFF 0 |
Definition at line 70 of file nts_types.hpp.
#define FLAG_ON 1 |
Definition at line 71 of file nts_types.hpp.
#define FLAG_OOO true |
Definition at line 73 of file nts_types.hpp.
#define FROM_RXe 0 |
Definition at line 380 of file nts_types.hpp.
#define FROM_TAi 1 |
Definition at line 381 of file nts_types.hpp.
#define ICMP_HEADER_LEN 8 |
ICMP - HEADER LEN. All ICMP packets have an 8-byte header and a variable- len data section.The first 4 bytes of the header have a fixed format, while the last 4 bytes depend on the type/code of the ICMP packet.
Definition at line 78 of file AxisIcmp.hpp.
#define IP4_BROADCAST_ADDR 0xFFFFFFFF |
NETWORK LAYER-3 - IPv4 & ICMP
Terminology & Conventions
Definition at line 181 of file nts_types.hpp.
#define IP4_HEADER_LEN 20 |
IP4 - DEFINITIONS [TODO - Move into nts_types.hpp]
Definition at line 133 of file AxisIp4.hpp.
#define IP4_PROT_ICMP 0x01 |
Definition at line 183 of file nts_types.hpp.
#define IP4_PROT_TCP 0x06 |
Definition at line 184 of file nts_types.hpp.
#define IP4_PROT_UDP 0x11 |
Definition at line 185 of file nts_types.hpp.
#define KO NTS_KO |
Definition at line 58 of file nts_types.hpp.
#define LKP_HIT true |
Definition at line 76 of file nts_types.hpp.
#define LKP_NO_HIT false |
Definition at line 77 of file nts_types.hpp.
#define NO_ACK 0 |
Definition at line 87 of file nts_types.hpp.
#define NTS_KO 0 |
Definition at line 56 of file nts_types.hpp.
#define NTS_OK 1 |
GLOBAL DEFINITIONS USED BY NTS
Definition at line 55 of file nts_types.hpp.
#define OK NTS_OK |
Definition at line 57 of file nts_types.hpp.
#define printError | ( | callerName, | |
format, | |||
... | |||
) | do { gTraceEvent = true; printf("(@%5.5d) [%-20s] ERROR - " format, gSimCycCnt, callerName, ##__VA_ARGS__); } while (0) |
A macro to print an error message.
[in] | callerName | The name of the caller process (e.g. "TB/IPRX"). |
[in] | message | The message to print. |
Definition at line 195 of file nts_utils.hpp.
#define printFatal | ( | callerName, | |
format, | |||
... | |||
) | do { gTraceEvent = true; gFatalError = true; printf("\n(@%5.5d) [%-20s] FATAL - " format, gSimCycCnt, callerName, ##__VA_ARGS__); printf("\n\n"); exit(99); } while (0) |
A macro to print a fatal error message and exit.
[in] | callerName | The name of the caller process (e.g. "TB/IPRX"). |
[in] | message | The message to print. |
Definition at line 208 of file nts_utils.hpp.
#define printInfo | ( | callerName, | |
format, | |||
... | |||
) | do { gTraceEvent = true; printf("(@%5.5d) [%-20s] INFO - " format, gSimCycCnt, callerName, ##__VA_ARGS__); } while (0) |
A macro to print an information message.
[in] | callerName | The name of the caller process (e.g. "TB/IPRX"). |
[in] | message | The message to print. |
Definition at line 169 of file nts_utils.hpp.
#define printWarn | ( | callerName, | |
format, | |||
... | |||
) | do { gTraceEvent = true; printf("(@%5.5d) [%-20s] WARNING - " format, gSimCycCnt, callerName, ##__VA_ARGS__); } while (0) |
A macro to print a warning message.
[in] | callerName | The name of the caller process (e.g. "TB/IPRX"). |
[in] | message | The message to print. |
Definition at line 182 of file nts_utils.hpp.
#define QUERY_FAST_RETRANSMIT true |
Definition at line 68 of file nts_types.hpp.
#define QUERY_INIT 1 |
Definition at line 67 of file nts_types.hpp.
#define QUERY_RD 0 |
Definition at line 65 of file nts_types.hpp.
#define QUERY_WR 1 |
Definition at line 66 of file nts_types.hpp.
#define STS_CLOSED 0 |
Definition at line 82 of file nts_types.hpp.
#define STS_ERROR 1 |
Definition at line 83 of file nts_types.hpp.
#define STS_KO 0 |
Definition at line 80 of file nts_types.hpp.
#define STS_NO_ERR 0 |
Definition at line 84 of file nts_types.hpp.
#define STS_OK 1 |
Definition at line 79 of file nts_types.hpp.
#define STS_OPENED 1 |
Definition at line 81 of file nts_types.hpp.
#define TCP_HEADER_LEN 20 |
TCP - DEFINITIONS
Definition at line 81 of file AxisTcp.hpp.
#define TCP_OPT_KIND_EOL 0 |
Definition at line 127 of file AxisTcp.hpp.
#define TCP_OPT_KIND_MSS 2 |
Definition at line 129 of file AxisTcp.hpp.
#define TCP_OPT_KIND_NOP 1 |
Definition at line 128 of file AxisTcp.hpp.
#define TCP_OPT_KIND_SACK 4 |
Definition at line 131 of file AxisTcp.hpp.
#define TCP_OPT_KIND_WSS 3 |
Definition at line 130 of file AxisTcp.hpp.
#define THIS_NAME "NtsUtils" |
DEBUG PRINT HELPERS
Definition at line 38 of file nts_utils.cpp.
#define TLAST 1 |
Definition at line 116 of file AxisRaw.hpp.
#define TOE_MEMORY_BASE 0x00000000 |
Definition at line 94 of file nts_config.hpp.
#define TOE_MEMORY_SIZE 0x80000000 |
Definition at line 93 of file nts_config.hpp.
#define UDP_HEADER_LEN 8 |
UDP - HEADER SIZE. All UDP datagrams have a fix-sized header of 8 bytes and a variable-sized data section.
Definition at line 81 of file AxisUdp.hpp.
typedef ap_uint<1> AckBit |
GENERIC TYPES and CLASSES USED BY NTS
Some Terminology & Conventions: In telecommunications, a protocol data unit (PDU) is a single unit of information transmitted among peer entities of a computer network. A PDU is therefore composed of a protocol specific control information (e.g, a header) and a user data section. This source code uses the following terminology:
Definition at line 107 of file nts_types.hpp.
typedef bool AckBool |
Definition at line 122 of file nts_types.hpp.
typedef ap_uint< 8> ArpHwLen |
Definition at line 97 of file AxisArp.hpp.
typedef ap_uint<16> ArpHwType |
ARP - HEADER FIELDS IN NETWORK BYTE ORDER. Default Type Definitions (as used by HLS)
Definition at line 95 of file AxisArp.hpp.
typedef Ip4Addr ArpLkpRequest |
Definition at line 344 of file nts_types.hpp.
typedef ap_uint<16> ArpOper |
Definition at line 99 of file AxisArp.hpp.
typedef ap_uint< 8> ArpProtLen |
Definition at line 98 of file AxisArp.hpp.
typedef ap_uint<16> ArpProtType |
Definition at line 96 of file AxisArp.hpp.
typedef ap_uint<48> ArpSendHwAddr |
Definition at line 100 of file AxisArp.hpp.
typedef ap_uint<32> ArpSendProtAddr |
Definition at line 101 of file AxisArp.hpp.
typedef ap_uint<16> ArpShaHi |
Definition at line 105 of file AxisArp.hpp.
typedef ap_uint<32> ArpShaLo |
Definition at line 106 of file AxisArp.hpp.
typedef ap_uint<48> ArpTargHwAddr |
Definition at line 102 of file AxisArp.hpp.
typedef ap_uint<32> ArpTargProtAddr |
Definition at line 103 of file AxisArp.hpp.
typedef ap_uint<16> ArpTpaHi |
Definition at line 107 of file AxisArp.hpp.
typedef ap_uint<16> ArpTpaLo |
Definition at line 108 of file AxisArp.hpp.
typedef ap_uint<1> CmdBit |
Definition at line 108 of file nts_types.hpp.
typedef bool CmdBool |
Definition at line 123 of file nts_types.hpp.
typedef ap_uint<1> ErrBit |
Definition at line 109 of file nts_types.hpp.
typedef ap_uint<48> EthAddr |
Definition at line 120 of file AxisEth.hpp.
typedef ap_uint<48> EthAddress |
Definition at line 119 of file AxisEth.hpp.
typedef ap_uint<48> EthDstAddr |
Definition at line 118 of file AxisEth.hpp.
typedef ap_uint<16> EtherLen |
Definition at line 123 of file AxisEth.hpp.
typedef ap_uint<16> EtherType |
Definition at line 122 of file AxisEth.hpp.
typedef ap_uint<48> EthSrcAddr |
ETH - HEADER FIELDS IN NETWORK BYTE ORDER. Default type definitions (as used by HLS).
Definition at line 117 of file AxisEth.hpp.
typedef ap_uint<16> EthTypeLen |
Definition at line 121 of file AxisEth.hpp.
typedef ap_uint<1> FlagBit |
Definition at line 110 of file nts_types.hpp.
typedef bool FlagBool |
Definition at line 124 of file nts_types.hpp.
typedef bool HitBool |
Definition at line 125 of file nts_types.hpp.
typedef ap_uint< 8> IcmpCode |
Definition at line 92 of file AxisIcmp.hpp.
typedef ap_uint<16> IcmpCsum |
Definition at line 93 of file AxisIcmp.hpp.
typedef ap_uint<16> IcmpIdent |
Definition at line 94 of file AxisIcmp.hpp.
typedef ap_uint<16> IcmpSeqNum |
Definition at line 95 of file AxisIcmp.hpp.
typedef ap_uint< 8> IcmpType |
ICMP - HEADER FIELDS IN NETWORK BYTE ORDER. Default Type Definitions (as used by HLS)
Definition at line 91 of file AxisIcmp.hpp.
typedef ap_uint<32> Ip4Addr |
Definition at line 169 of file AxisIp4.hpp.
typedef ap_uint<32> Ip4Address |
Definition at line 168 of file AxisIp4.hpp.
typedef ap_uint<64> Ip4Data |
Definition at line 170 of file AxisIp4.hpp.
typedef ap_uint<16> Ip4DatLen |
Definition at line 173 of file AxisIp4.hpp.
typedef ap_uint<32> Ip4DstAddr |
Definition at line 167 of file AxisIp4.hpp.
typedef ap_uint<16> Ip4DstAddrHi |
IPv4 - UNALIGNED FIELDS IN NETWORK BYTE ORDER. Default Type Definitions (as used by HLS).
Definition at line 136 of file AxisEth.hpp.
typedef ap_uint<16> Ip4DstAddrLo |
Definition at line 137 of file AxisEth.hpp.
typedef ap_uint< 3> Ip4Flags |
Definition at line 162 of file AxisIp4.hpp.
typedef ap_uint<13> Ip4FragOff |
Definition at line 161 of file AxisIp4.hpp.
typedef ap_uint<16> Ip4HdrCsum |
Definition at line 165 of file AxisIp4.hpp.
typedef ap_uint< 4> Ip4HdrLen |
Definition at line 157 of file AxisIp4.hpp.
typedef ap_uint<16> Ip4Ident |
Definition at line 160 of file AxisIp4.hpp.
typedef ap_uint<16> Ip4PktLen |
Definition at line 172 of file AxisIp4.hpp.
typedef ap_uint< 8> Ip4Prot |
Definition at line 164 of file AxisIp4.hpp.
typedef ap_uint<32> Ip4SrcAddr |
Definition at line 166 of file AxisIp4.hpp.
typedef ap_uint< 8> Ip4ToS |
Definition at line 158 of file AxisIp4.hpp.
typedef ap_uint<16> Ip4TotalLen |
Definition at line 159 of file AxisIp4.hpp.
typedef ap_uint< 8> Ip4TtL |
Definition at line 163 of file AxisIp4.hpp.
typedef ap_uint< 4> Ip4Version |
IPv4 - HEADER FIELDS IN NETWORK BYTE ORDER. Default Type Definitions (as used by HLS).
Definition at line 156 of file AxisIp4.hpp.
typedef ap_uint< 8> LE_ArpHwLen |
Definition at line 78 of file AxisArp.hpp.
typedef ap_uint<16> LE_ArpHwType |
ARP - HEADER FIELDS IN LITTLE_ENDIAN (LE) ORDER.
Definition at line 76 of file AxisArp.hpp.
typedef ap_uint<16> LE_ArpOper |
Definition at line 80 of file AxisArp.hpp.
typedef ap_uint< 8> LE_ArpProtLen |
Definition at line 79 of file AxisArp.hpp.
typedef ap_uint<16> LE_ArpProtType |
Definition at line 77 of file AxisArp.hpp.
typedef ap_uint<48> LE_ArpSendHwAddr |
Definition at line 81 of file AxisArp.hpp.
typedef ap_uint<32> LE_ArpSendProtAddr |
Definition at line 82 of file AxisArp.hpp.
typedef ap_uint<16> LE_ArpShaHi |
Definition at line 86 of file AxisArp.hpp.
typedef ap_uint<32> LE_ArpShaLo |
Definition at line 87 of file AxisArp.hpp.
typedef ap_uint<48> LE_ArpTargHwAddr |
Definition at line 83 of file AxisArp.hpp.
typedef ap_uint<32> LE_ArpTargProtAddr |
Definition at line 84 of file AxisArp.hpp.
typedef ap_uint<16> LE_ArpTpaHi |
Definition at line 88 of file AxisArp.hpp.
typedef ap_uint<16> LE_ArpTpaLo |
Definition at line 89 of file AxisArp.hpp.
typedef ap_uint<48> LE_EthAddr |
Definition at line 108 of file AxisEth.hpp.
typedef ap_uint<48> LE_EthAddress |
Definition at line 107 of file AxisEth.hpp.
typedef ap_uint<48> LE_EthDstAddr |
Definition at line 106 of file AxisEth.hpp.
typedef ap_uint<16> LE_EtherLen |
Definition at line 111 of file AxisEth.hpp.
typedef ap_uint<16> LE_EtherType |
Definition at line 110 of file AxisEth.hpp.
typedef ap_uint<48> LE_EthSrcAddr |
ETH - HEADER FIELDS IN LITTLE-ENDIAN (LE) ORDER. As received or transmitted by the 10GbE MAC.
Definition at line 105 of file AxisEth.hpp.
typedef ap_uint<16> LE_EthTypeLen |
Definition at line 109 of file AxisEth.hpp.
typedef ap_uint< 8> LE_IcmpCode |
Definition at line 84 of file AxisIcmp.hpp.
typedef ap_uint<16> LE_IcmpCsum |
Definition at line 85 of file AxisIcmp.hpp.
typedef ap_uint< 8> LE_IcmpType |
ICMP - HEADER FIELDS IN LITTLE_ENDIAN (LE) ORDER.
Definition at line 83 of file AxisIcmp.hpp.
typedef ap_uint<32> LE_Ip4Addr |
Definition at line 149 of file AxisIp4.hpp.
typedef ap_uint<32> LE_Ip4Address |
Definition at line 148 of file AxisIp4.hpp.
typedef ap_uint<32> LE_Ip4DstAddr |
Definition at line 147 of file AxisIp4.hpp.
typedef ap_uint<16> LE_Ip4DstAddrHi |
IPv4 - UNALIGNED FIELDS IN LITTLE-ENDIAN (LE) ORDER. As received or transmitted by the 10GbE MAC.
Definition at line 129 of file AxisEth.hpp.
typedef ap_uint<16> LE_Ip4DstAddrLo |
Definition at line 130 of file AxisEth.hpp.
typedef ap_uint<16> LE_Ip4HdrCsum |
Definition at line 145 of file AxisIp4.hpp.
typedef ap_uint< 4> LE_Ip4HdrLen |
Definition at line 140 of file AxisIp4.hpp.
typedef ap_uint< 8> LE_Ip4Prot |
Definition at line 144 of file AxisIp4.hpp.
typedef ap_uint<32> LE_Ip4SrcAddr |
Definition at line 146 of file AxisIp4.hpp.
typedef ap_uint< 8> LE_Ip4ToS |
Definition at line 141 of file AxisIp4.hpp.
typedef ap_uint<16> LE_Ip4TotalLen |
Definition at line 142 of file AxisIp4.hpp.
typedef ap_uint< 8> LE_Ip4TtL |
Definition at line 143 of file AxisIp4.hpp.
typedef ap_uint< 4> LE_Ip4Version |
IPv4 - HEADER FIELDS IN LITTLE-ENDIAN (LE) ORDER. As received or transmitted by the 10GbE MAC.
Definition at line 139 of file AxisIp4.hpp.
typedef ap_uint<64> LE_IpData |
Definition at line 150 of file AxisIp4.hpp.
typedef ap_uint<16> LE_Ly4Len |
Definition at line 200 of file nts_types.hpp.
typedef ap_uint<16> LE_Ly4Port |
TRANSPORT LAYER-4 - UDP & TCP
Terminology & Conventions
Definition at line 199 of file nts_types.hpp.
typedef ap_uint<32> LE_TcpAckNum |
Definition at line 90 of file AxisTcp.hpp.
typedef ap_uint<16> LE_TcpChecksum |
Definition at line 95 of file AxisTcp.hpp.
typedef ap_uint<6> LE_TcpCtrlBits |
Definition at line 93 of file AxisTcp.hpp.
typedef ap_uint<64> LE_TcpData |
Definition at line 97 of file AxisTcp.hpp.
typedef ap_uint<4> LE_TcpDataOff |
Definition at line 92 of file AxisTcp.hpp.
typedef ap_uint<16> LE_TcpDstPort |
Definition at line 87 of file AxisTcp.hpp.
typedef ap_uint<16> LE_TcpPort |
Definition at line 88 of file AxisTcp.hpp.
typedef ap_uint<3> LE_TcpResBits |
Definition at line 91 of file AxisTcp.hpp.
typedef ap_uint<32> LE_TcpSeqNum |
Definition at line 89 of file AxisTcp.hpp.
typedef ap_uint<16> LE_TcpSrcPort |
TCP - HEADER FIELDS IN LITTLE_ENDIAN (LE) ORDER.
Definition at line 86 of file AxisTcp.hpp.
typedef ap_uint<16> LE_TcpUrgPtr |
Definition at line 96 of file AxisTcp.hpp.
typedef ap_uint<16> LE_TcpWindow |
Definition at line 94 of file AxisTcp.hpp.
typedef ap_uint< 64 > LE_tData |
AXIS_RAW - TYPE FIELDS DEFINITION FYI - 'LE' stands for Little-Endian order.
Definition at line 122 of file AxisRaw.hpp.
typedef ap_uint< 64 /2> LE_tDataHalf |
Definition at line 123 of file AxisRaw.hpp.
typedef ap_uint< 64 /8> LE_tKeep |
Definition at line 124 of file AxisRaw.hpp.
typedef ap_uint<1> LE_tLast |
Definition at line 125 of file AxisRaw.hpp.
typedef ap_uint<16> LE_UdpCsum |
Definition at line 90 of file AxisUdp.hpp.
typedef LE_tData LE_UdpData |
Definition at line 91 of file AxisUdp.hpp.
typedef ap_uint<16> LE_UdpDstPort |
Definition at line 87 of file AxisUdp.hpp.
typedef ap_uint<16> LE_UdpLen |
Definition at line 89 of file AxisUdp.hpp.
typedef ap_uint<16> LE_UdpPort |
Definition at line 88 of file AxisUdp.hpp.
typedef ap_uint<16> LE_UdpSrcPort |
UDP - HEADER FIELDS IN LITTLE_ENDIAN (LE) ORDER.
Definition at line 86 of file AxisUdp.hpp.
typedef ap_uint< 1> LkpSrcBit |
Definition at line 379 of file nts_types.hpp.
typedef ap_uint<16> Ly4Len |
Definition at line 202 of file nts_types.hpp.
typedef ap_uint<16> Ly4Port |
Definition at line 201 of file nts_types.hpp.
typedef ap_uint<1> RdWrBit |
Definition at line 111 of file nts_types.hpp.
typedef ap_uint<1> RepBit |
Definition at line 113 of file nts_types.hpp.
typedef bool RepBool |
Definition at line 127 of file nts_types.hpp.
typedef ap_uint<1> ReqBit |
Definition at line 112 of file nts_types.hpp.
typedef bool ReqBool |
Definition at line 126 of file nts_types.hpp.
typedef ap_uint<1> RspBit |
Definition at line 114 of file nts_types.hpp.
typedef bool RspBool |
Definition at line 128 of file nts_types.hpp.
typedef ap_uint<14> RtlSessId |
NTS INTERNAL - TOE / CAM
This section defines the interfaces between the TCP Offload Engine (TOE) and the Content Addressable Memory (CAM) used to manage the TCP sessions. Warning: Do not change the order of the fields in the session-lookup-request, the session-lookup-reply, the session-update-request and the session-update- reply classes as these structures may end up being mapped to a RTL physical Axi4-Stream interface between the TOE and the CAM (if CAM is RTL-based). Info: The member elements of the classes are placed into the physical vector interface in the order they appear in the C code: the first element of the structure is aligned on the LSB of the vector and the final element of the structure is aligned with the MSB of the vector.
Definition at line 378 of file nts_types.hpp.
typedef ap_uint<16> SessionId |
Definition at line 136 of file nts_types.hpp.
typedef ap_uint<1> SigBit |
Definition at line 115 of file nts_types.hpp.
typedef bool SigBool |
Definition at line 129 of file nts_types.hpp.
typedef ap_uint<1> StsBit |
Definition at line 116 of file nts_types.hpp.
typedef bool StsBool |
Definition at line 130 of file nts_types.hpp.
typedef ap_uint<32> TcpAckNum |
Definition at line 107 of file AxisTcp.hpp.
typedef SessionId TcpAppClsReq |
typedef AxisRaw TcpAppData |
typedef TcpDatLen TcpAppDLen |
typedef RepBool TcpAppLsnRep |
typedef TcpPort TcpAppLsnReq |
typedef TcpSessId TcpAppMeta |
typedef SockAddr TcpAppOpnReq |
typedef ap_uint<16> TcpChecksum |
Definition at line 113 of file AxisTcp.hpp.
typedef ap_uint<16> TcpCsum |
Definition at line 114 of file AxisTcp.hpp.
typedef ap_uint<1> TcpCtrlBit |
Definition at line 111 of file AxisTcp.hpp.
typedef ap_uint<6> TcpCtrlBits |
Definition at line 110 of file AxisTcp.hpp.
typedef ap_uint<4> TcpDataOff |
Definition at line 109 of file AxisTcp.hpp.
typedef ap_uint<16> TcpDatLen |
Definition at line 123 of file AxisTcp.hpp.
typedef ap_uint<16> TcpDstPort |
Definition at line 104 of file AxisTcp.hpp.
typedef ap_uint< 8> TcpHdrLen |
Definition at line 122 of file AxisTcp.hpp.
typedef ap_uint< 8> TcpOptKind |
Definition at line 117 of file AxisTcp.hpp.
typedef ap_uint< 8> TcpOptLen |
Definition at line 118 of file AxisTcp.hpp.
typedef ap_uint<16> TcpOptMss |
Definition at line 119 of file AxisTcp.hpp.
typedef ap_uint<16> TcpPort |
Definition at line 105 of file AxisTcp.hpp.
typedef ap_uint<3> TcpResBits |
Definition at line 108 of file AxisTcp.hpp.
typedef ap_uint<16> TcpSegLen |
Definition at line 121 of file AxisTcp.hpp.
typedef ap_uint<32> TcpSeqNum |
Definition at line 106 of file AxisTcp.hpp.
typedef ap_uint<16> TcpSessId |
Definition at line 137 of file nts_types.hpp.
typedef ap_uint<16> TcpSrcPort |
TCP - HEADER FIELDS IN NETWORK BYTE ORDER. Default Type Definitions (as used by HLS)
Definition at line 103 of file AxisTcp.hpp.
typedef ap_uint<16> TcpUrgPtr |
Definition at line 115 of file AxisTcp.hpp.
typedef ap_uint<16> TcpWindow |
Definition at line 112 of file AxisTcp.hpp.
typedef ap_uint< 64 > tData |
Definition at line 126 of file AxisRaw.hpp.
typedef ap_uint< 64 /2> tDataHalf |
Definition at line 127 of file AxisRaw.hpp.
typedef ap_uint< 64 /8> tKeep |
Definition at line 128 of file AxisRaw.hpp.
typedef ap_uint< 64 /16> tKeepHalf |
Definition at line 129 of file AxisRaw.hpp.
typedef ap_uint<1> tLast |
Definition at line 130 of file AxisRaw.hpp.
typedef StsBool UdpAppClsRep |
typedef Ly4Port UdpAppClsReq |
typedef AxisRaw UdpAppData |
typedef UdpDatLen UdpAppDLen |
typedef StsBool UdpAppLsnRep |
typedef Ly4Port UdpAppLsnReq |
typedef ap_uint<16> UdpCsum |
Definition at line 101 of file AxisUdp.hpp.
Definition at line 102 of file AxisUdp.hpp.
Definition at line 103 of file AxisUdp.hpp.
Definition at line 104 of file AxisUdp.hpp.
typedef ap_uint<16> UdpDatLen |
Definition at line 107 of file AxisUdp.hpp.
typedef ap_uint<16> UdpDgmLen |
Definition at line 106 of file AxisUdp.hpp.
typedef ap_uint<16> UdpDstPort |
Definition at line 98 of file AxisUdp.hpp.
typedef ap_uint<16> UdpLen |
Definition at line 100 of file AxisUdp.hpp.
typedef ap_uint<16> UdpPort |
Definition at line 99 of file AxisUdp.hpp.
typedef ap_uint<16> UdpSrcPort |
UDP - HEADER FIELDS IN NETWORK BYTE ORDER. Default Type Definitions (as used by HLS)
Definition at line 97 of file AxisUdp.hpp.
typedef ap_uint<1> ValBit |
Definition at line 117 of file nts_types.hpp.
typedef bool ValBool |
Definition at line 131 of file nts_types.hpp.
enum LkpOpBit |
enum TcpAppSndErr |
enum TcpState |
APPLICATION LAYER-5
This section defines the types and classes related to the Application (APP) layer and interfaces.
Enumerator | |
---|---|
CLOSED | |
SYN_SENT | |
SYN_RECEIVED | |
ESTABLISHED | |
FIN_WAIT_1 | |
FIN_WAIT_2 | |
CLOSING | |
TIME_WAIT | |
LAST_ACK |
Definition at line 296 of file nts_types.hpp.
ap_uint<16> byteSwap16 | ( | ap_uint< 16 > | inputValue | ) |
Swap the two bytes of a word (.i.e, 16 bits).
[in] | inpWord | The 16-bit unsigned data to swap. |
Definition at line 349 of file nts_utils.cpp.
ap_uint<32> byteSwap32 | ( | ap_uint< 32 > | inputValue | ) |
Swap the four bytes of a double-word (.i.e, 32 bits).
[in] | inpDWord | The 32-bit unsigned data to swap. |
Definition at line 359 of file nts_utils.cpp.
ap_uint< 48 > byteSwap48 | ( | ap_uint< 48 > | inputValue | ) |
Swap the six bytes of a triple-word (.i.e, 48 bits).
[in] | inputValue | The 48-bit unsigned data to swap. |
Definition at line 370 of file nts_utils.cpp.
ap_uint< 64 > byteSwap64 | ( | ap_uint< 64 > | inputValue | ) |
Swap the eight bytes of a quad-word (.i.e, 64 bits).
[in] | inpQWord | The 64-bit unsigned data to swap. |
Definition at line 382 of file nts_utils.cpp.
const char * getTcpStateName | ( | TcpState | tcpState | ) |
Returns the name of an enum-based TCP-State as a user friendly string.
ENUM TO STRING HELPERS
[in] | tcpState | An enumerated type of TCP state. |
ENUM TO STRING HELPERS - PROTOTYPE DEFINITIONS
Definition at line 272 of file nts_utils.cpp.
LE_tKeep lenToLE_tKeep | ( | ap_uint< 4 > | noValidBytes | ) |
A function to set a number of '1' in an 8-bit field. It is used here to set the number of valid bytes within the 'tkeep' field of an AxisRaw.
AXIS CHUNK HELPERS
[in] | The | number of '1s' to set (.i,e, the number of valid bytes). |
Definition at line 307 of file nts_utils.cpp.
tKeep lenTotKeep | ( | ap_uint< 4 > | noValidBytes | ) |
A function to set a number of '1' in an 8-bit field. It is used here to set the number of valid bytes within the 'tkeep' field of an AxisRaw.
[in] | The | number of '1s' to set (.i,e, the number of valid bytes). |
AXIS CHUNK UTILITIES - PROTOTYPE DEFINITIONS
Definition at line 328 of file nts_utils.cpp.
void nts | ( | stream< TcpAppNotif > & | soTAIF_Notif, |
stream< TcpAppRdReq > & | siTAIF_DReq, | ||
stream< TcpAppData > & | soTAIF_Data, | ||
stream< TcpAppMeta > & | soTAIF_Meta, | ||
stream< TcpAppLsnReq > & | siTAIF_LsnReq, | ||
stream< TcpAppLsnRep > & | soTAIF_LsnRep, | ||
stream< TcpAppData > & | siTAIF_Data, | ||
stream< TcpAppSndReq > & | siTAIF_SndReq, | ||
stream< TcpAppSndRep > & | soTAIF_SndRep, | ||
stream< TcpAppOpnReq > & | siTAIF_OpnReq, | ||
stream< TcpAppOpnRep > & | soTAIF_OpnRep, | ||
stream< TcpAppClsReq > & | siTAIF_ClsReq, | ||
stream< UdpAppLsnReq > & | siUAIF_LsnReq, | ||
stream< UdpAppLsnRep > & | soUAIF_LsnRep, | ||
stream< UdpAppClsReq > & | siUAIF_ClsReq, | ||
stream< UdpAppClsRep > & | soUAIF_ClsRep, | ||
stream< UdpAppData > & | soUAIF_Data, | ||
stream< UdpAppMeta > & | soUAIF_Meta, | ||
stream< UdpAppDLen > & | soUAIF_DLen, | ||
stream< UdpAppData > & | siUAIF_Data, | ||
stream< UdpAppMeta > & | siUAIF_Meta, | ||
stream< UdpAppDLen > & | siUAIF_DLen | ||
) |
ENTITY - NETWORK TRANSPORT STACK (NTS)
Definition at line 239 of file nts_types.hpp.
|
inline |
Definition at line 269 of file nts_types.hpp.
|
inline |
Definition at line 255 of file nts_types.hpp.
Definition at line 426 of file nts_types.hpp.
Definition at line 216 of file nts_types.hpp.
void pAxisRawCast | ( | hls::stream< TypeIn > & | si, |
hls::stream< TypeOut > & | so | ||
) |
AxisRaw cast - Casts an AxisRaw stream to/from an AxisRaw derived class.
[in] | si | The input stream to cast. |
[out] | so | The casted output stream. |
This process is used to type cast an HLS stream from a base class 'AxisRaw' to or from a derived class such as 'AxisEth', 'AxisIp4', 'AxisIcmp', 'AxisUdp', 'AxisTcp, or 'AxisPsd4'. Its usage is only required in NTS for the arguments of a top-level function, because the interface synthesis optimization of Vivado HLS does not support packing structs which contain other strucs, neither does it support derived classes.
Definition at line 148 of file AxisRaw.hpp.
void printArpBindPair | ( | const char * | callerName, |
ArpBindPair | arpBind | ||
) |
Print an ARP binding pair association.
[in] | callerName | The name of the caller process (e.g. "ACc"). |
[in] | arpBind | The ARP binding pair to display. |
Definition at line 80 of file nts_utils.cpp.
void printAxisRaw | ( | const char * | callerName, |
AxisRaw | chunk | ||
) |
Prints an Axis raw data chunk (used for debugging).
[in] | callerName | The name of the caller process (e.g. "RXe"). |
[in] | chunk | The raw data chunk to display. |
PRINT HELPERS - PROTOTYPE DEFINITIONS
Definition at line 46 of file nts_utils.cpp.
void printAxisRaw | ( | const char * | callerName, |
const char * | message, | ||
AxisRaw | chunk | ||
) |
Print an Axis raw data chunk prepended with a message.
[in] | callerName | The name of the caller process (e.g. "Tle"). |
[in] | message | The message to prepend. |
[in] | chunk | The data stream chunk to display. |
Definition at line 58 of file nts_utils.cpp.
void printDmCmd | ( | const char * | callerName, |
DmCmd | dmCmd | ||
) |
Prints the details of a Data Mover Command (used for debugging).
[in] | callerName | The name of the caller process (e.g. "Mwr"). |
[in] | dmCmd | The data mover command to display. |
Definition at line 69 of file nts_utils.cpp.
void printEthAddr | ( | const char * | callerName, |
const char * | message, | ||
EthAddr | ethAddr | ||
) |
Print an ETHERNET MAC address prepended with a message (for debug).
[in] | callerName | The name of the caller process (e.g. "RXe"). |
[in] | message | The message to prepend. |
[in] | EthAddr | The Ethernet MAC address to display |
Definition at line 237 of file nts_utils.cpp.
void printEthAddr | ( | const char * | callerName, |
EthAddr | ethAddr | ||
) |
Print an ETHERNET MAC address in NETWORK-BYTE order.
[in] | callerName | The name of the caller process (e.g. "RXe"). |
[in] | EthAddr | The Ethernet MAC address to display |
Definition at line 247 of file nts_utils.cpp.
void printEthAddr | ( | EthAddr | ethAddr | ) |
void printIp4Addr | ( | const char * | callerName, |
const char * | message, | ||
Ip4Addr | ip4Addr | ||
) |
Print an IPv4 address prepended with a message (used for debugging).
[in] | callerName | The name of the caller process (e.g. "RXe"). |
[in] | message | Tthe message to prepend. |
[in] | Ip4Addr | The IPv4 address to display (in NETWORK-BYTE order). |
Definition at line 205 of file nts_utils.cpp.
void printIp4Addr | ( | const char * | callerName, |
Ip4Addr | ip4Addr | ||
) |
Print an IPv4 address encoded in NETWORK-BYTE order.
[in] | callerName | The name of the caller process (e.g. "RXe"). |
[in] | Ip4Addr | The IPv4 address to display (in NETWORK-BYTE order). |
Definition at line 221 of file nts_utils.cpp.
void printLE_SockAddr | ( | const char * | callerName, |
LE_SockAddr | leSockAddr | ||
) |
Print a socket address encoded in LITTLE_ENDIAN order.
[in] | callerName | The name of the caller process (e.g. "Mdh"). |
[in] | sockAddr | The socket address to display (in LITTLE-ENDIAN order). |
Definition at line 162 of file nts_utils.cpp.
void printLE_SockPair | ( | const char * | callerName, |
LE_SocketPair | sockPair | ||
) |
Print a socket pair association in LITTLE-ENDIAN order.
[in] | callerName | The name of the caller process (e.g. "Mdh"). |
[in] | sockPair | Tthe socket pair to display (in LITTLE-ENDIAN order). |
Definition at line 102 of file nts_utils.cpp.
void printSockAddr | ( | const char * | callerName, |
LE_SockAddr | leSockAddr | ||
) |
Print a socket address.
[in] | callerName | The name of the caller process (e.g. "Mdh"). |
[in] | leSockAddr | The socket address to display (in LITTLE-ENDIAN order). |
Definition at line 191 of file nts_utils.cpp.
void printSockAddr | ( | const char * | callerName, |
SockAddr | sockAddr | ||
) |
Print a socket address.
[in] | callerName | The name of the caller process (e.g. "Mdh"). |
[in] | sockAddr | The socket address to display (in NETWORK-BYTE order). |
Definition at line 174 of file nts_utils.cpp.
void printSockAddr | ( | SockAddr | sockAddr | ) |
void printSockPair | ( | const char * | callerName, |
LE_SocketPair | leSockPair | ||
) |
Print a socket pair association.
[in] | callerName | The name of the caller process (e.g. "Mdh"). |
[in] | leSockPair | The socket pair to display (in LITTLE-ENDIAN order). |
Definition at line 138 of file nts_utils.cpp.
void printSockPair | ( | const char * | callerName, |
SocketPair | sockPair | ||
) |
Print a socket pair association.
[in] | callerName | Tthe name of the caller process (e.g. "Mdh"). |
[in] | sockPair | The socket pair to display (in NETWORK-BYTE order). |
Definition at line 114 of file nts_utils.cpp.
void printTcpPort | ( | const char * | callerName, |
TcpPort | tcpPort | ||
) |
Print a TCP port.
[in] | callerName | The name of the caller process (e.g. "RXe"). |
[in] | TcpPort | the TCP port to display (in NETWORK-BYTE order). |
Definition at line 257 of file nts_utils.cpp.
void printTcpPort | ( | TcpPort | tcpPort | ) |
|
extern |
Definition at line 152 of file tb_nal.cpp.
|
extern |
Definition at line 150 of file tb_nal.cpp.
|
extern |
HELPERS FOR THE DEBUGGING TRACES FYI: The global variable 'gTraceEvent' is set whenever a trace call is done.
HELPERS FOR THE DEBUGGING TRACES .e.g: DEBUG_LEVEL = (MDL_TRACE | IPS_TRACE)
Definition at line 151 of file tb_nal.cpp.