cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
tx_app_interface.hpp
Go to the documentation of this file.
1 
17 
43 
56 #ifndef _TOE_TAI_H_
57 #define _TOE_TAI_H_
58 
59 #include "../../../../NTS/nts.hpp"
60 #include "../../../../NTS/nts_utils.hpp"
61 #include "../../../../NTS/SimNtsUtils.hpp"
62 #include "../../../../NTS/toe/src/toe.hpp"
63 #include "../../../../NTS/toe/src/toe_utils.hpp"
64 
65 using namespace hls;
66 
67 
71 #define PRAGMA_SUB(x) _Pragma (#x)
72 #define DO_PRAGMA(x) PRAGMA_SUB(x)
73 
74 
79 #define DEPTH_ssEmxToTash_Event 2
80 #define DEPTH_ssTacToEmx_Event 2
81 #define DEPTH_ssTatToSml_AccessRep 2
82 #define DEPTH_ssSmlToTat_AccessQry 2
83 #define DEPTH_ssSmlToMwr_SegMeta 128
84 #define DEPTH_ssSmlToEmx_Event 2
85 #define DEPTH_ssSlgToMwr_Data 256
86 #define DEPTH_ssSlgToSml_SegLen 32
87 
88 
89 
94  public:
98  TxAppTableEntry(TcpAckNum ackd, ap_uint<16> mempt) :
99  ackd(ackd), mempt(mempt) {}
100 };
101 
102 
105 class AppMemMeta {
106  public:
112  sessId(sessId), addr(addr), len(len) {}
113 };
114 
115 
120 void tx_app_interface(
121  //-- TAIF / Open-Close Interfaces
122  stream<TcpAppOpnReq> &siTAIF_OpnReq,
123  stream<TcpAppOpnRep> &soTAIF_OpnRep,
124  stream<TcpAppClsReq> &siTAIF_ClsReq,
125  //-- TAIF / Data Stream Interfaces
126  stream<TcpAppData> &siTAIF_Data,
127  stream<TcpAppSndReq> &siTAIF_SndReq,
128  stream<TcpAppSndRep> &soTAIF_SndRep,
129  //-- MEM / Tx PATH Interface
130  stream<DmCmd> &soMEM_TxP_WrCmd,
131  stream<AxisApp> &soMEM_TxP_Data,
132  stream<DmSts> &siMEM_TxP_WrSts,
133  //-- State Table Interfaces
134  stream<SessionId> &soSTt_SessStateReq,
135  stream<TcpState> &siSTt_SessStateRep,
136  stream<StateQuery> &soSTt_ConnectStateQry,
137  stream<TcpState> &siSTt_ConnectStateRep,
138  //-- Session Lookup Controller Interface
139  stream<SocketPair> &soSLc_SessLookupReq,
140  stream<SessionLookupReply> &siSLc_SessLookupRep,
141  //-- Port Table Interfaces
142  stream<ReqBit> &soPRt_GetFreePortReq,
143  stream<TcpPort> &siPRt_GetFreePortRep,
144  //-- Tx SAR TAble Interfaces
145  stream<TStTxSarPush> &siTSt_PushCmd,
146  stream<TAiTxSarPush> &soTSt_PushCmd,
147  //-- Rx Engine Interface
148  stream<SessState> &siRXe_ActSessState,
149  //-- Event Engine Interface
150  stream<Event> &soEVe_Event,
151  //-- Timers Interface
152  stream<SessState> &siTIm_Notif,
153  //-- MMIO / IPv4 Address
154  LE_Ip4Addr piMMIO_IpAddr // [FIXME]
155 );
156 
157 #endif
158 
AppMemMeta(TcpSessId sessId, TcpBufAdr addr, TcpDatLen len)
TcpSessId sessId
TxAppTableEntry(TcpAckNum ackd, ap_uint< 16 > mempt)
ap_uint< TOE_WINDOW_BITS > TcpBufAdr
Definition: toe.hpp:297
void tx_app_interface(stream< TcpAppOpnReq > &siTAIF_OpnReq, stream< TcpAppOpnRep > &soTAIF_OpnRep, stream< TcpAppClsReq > &siTAIF_ClsReq, stream< TcpAppData > &siTAIF_Data, stream< TcpAppSndReq > &siTAIF_SndReq, stream< TcpAppSndRep > &soTAIF_SndRep, stream< DmCmd > &soMEM_TxP_WrCmd, stream< AxisApp > &soMEM_TxP_Data, stream< DmSts > &siMEM_TxP_WrSts, stream< SessionId > &soSTt_SessStateReq, stream< TcpState > &siSTt_SessStateRep, stream< StateQuery > &soSTt_ConnectStateQry, stream< TcpState > &siSTt_ConnectStateRep, stream< SocketPair > &soSLc_SessLookupReq, stream< SessionLookupReply > &siSLc_SessLookupRep, stream< ReqBit > &soPRt_GetFreePortReq, stream< TcpPort > &siPRt_GetFreePortRep, stream< TStTxSarPush > &siTSt_PushCmd, stream< TAiTxSarPush > &soTSt_PushCmd, stream< SessState > &siRXe_ActSessState, stream< Event > &soEVe_Event, stream< SessState > &siTIm_Notif, Ip4Addr piMMIO_IpAddr)
Tx Application Interface (TAi)
TcpBufAdr TxBufPtr
Definition: toe.hpp:299
ap_uint< 32 > LE_Ip4Addr
Definition: AxisIp4.hpp:149
ap_uint< 16 > TcpDatLen
Definition: AxisTcp.hpp:123
ap_uint< 32 > TcpAckNum
Definition: AxisTcp.hpp:107
ap_uint< 16 > TcpSessId
Definition: nts_types.hpp:137