39 #include <hls_stream.h>
49 stream<TcpAppLsnReq> &soTOE_LsnReq,
50 stream<TcpAppLsnRep> &siTOE_LsnRep,
51 stream<TcpPort> &sTcpPortsToOpen,
52 stream<bool> &sTcpPortsOpenFeedback
58 ap_uint<1> *piNTS_ready,
59 stream<TcpAppNotif> &siTOE_Notif,
60 stream<TcpAppNotif> &sTcpNotif_buffer
65 ap_uint<1> *piNTS_ready,
66 ap_uint<32> *piMMIO_CfrmIp4Addr,
67 ap_uint<16> *piMMIO_FmcLsnPort,
68 stream<TcpAppNotif> &siTOE_Notif,
69 stream<TcpAppRdReq> &soTOE_DReq,
70 stream<NalNewTableEntry> &sAddNewTriple_TcpRrh,
71 stream<SessionId> &sMarkAsPriv,
72 stream<SessionId> &sDeleteEntryBySid,
73 stream<TcpAppRdReq> &sRDp_ReqNotif,
74 stream<PacketLen> &fmc_write_cnt_sig,
75 stream<PacketLen> &role_write_cnt_sig
80 ap_uint<1> *piNTS_ready,
81 stream<TcpAppRdReq> &sRDp_ReqNotif,
82 stream<TcpAppData> &siTOE_Data,
83 stream<TcpAppMeta> &siTOE_SessId,
84 stream<NetworkWord> &soFMC_data,
85 stream<TcpSessId> &soFMC_SessId,
86 stream<NetworkWord> &soTcp_data,
87 stream<NetworkMetaStream> &soTcp_meta,
88 stream<NalConfigUpdate> &sConfigUpdate,
89 stream<Ip4Addr> &sGetNidReq_TcpRx,
90 stream<NodeId> &sGetNidRep_TcpRx,
91 stream<SessionId> &sGetTripleFromSid_Req,
92 stream<NalTriple> &sGetTripleFromSid_Rep,
93 ap_uint<32> *piMMIO_CfrmIp4Addr,
94 ap_uint<16> *piMMIO_FmcLsnPort,
97 stream<bool> &cache_inval_sig,
98 stream<NalEventNotif> &internal_event_fifo
104 stream<NetworkWord> &sRoleTcpDataRx_buffer,
105 stream<NetworkMetaStream> &sRoleTcpMetaRx_buffer,
106 stream<NetworkWord> &soTcp_data,
107 stream<NetworkMetaStream> &soTcp_meta,
108 stream<PacketLen> &role_write_cnt_sig
112 stream<NetworkWord> &sFmcTcpDataRx_buffer,
113 stream<TcpSessId> &sFmcTcpMetaRx_buffer,
114 stream<NetworkWord> &soFmc_data,
115 stream<TcpSessId> &soFmc_meta,
116 stream<PacketLen> &fmc_write_cnt_sig
121 ap_uint<1> *piNTS_ready,
122 stream<NetworkWord> &siFMC_data,
123 stream<TcpSessId> &siFMC_SessId,
124 stream<NetworkWord> &siTcp_data,
125 stream<NetworkMetaStream> &siTcp_meta,
126 stream<TcpAppData> &soTOE_Data,
127 stream<TcpAppMeta> &soTOE_SessId,
128 stream<TcpDatLen> &soTOE_len,
129 stream<NodeId> &sGetIpReq_TcpTx,
130 stream<Ip4Addr> &sGetIpRep_TcpTx,
131 stream<NalTriple> &sGetSidFromTriple_Req,
132 stream<SessionId> &sGetSidFromTriple_Rep,
133 stream<NalTriple> &sNewTcpCon_Req,
134 stream<NalNewTcpConRep> &sNewTcpCon_Rep,
135 stream<bool> &cache_inval_sig,
136 stream<NalEventNotif> &internal_event_fifo
142 ap_uint<1> *piNTS_ready,
143 stream<TcpAppData> &siWrp_Data,
144 stream<TcpAppMeta> &siWrp_SessId,
145 stream<TcpDatLen> &siWrp_len,
146 stream<TcpAppData> &soTOE_Data,
147 stream<TcpAppSndReq> &soTOE_SndReq,
148 stream<TcpAppSndRep> &siTOE_SndRep
152 stream<TcpAppOpnReq> &soTOE_OpnReq,
153 stream<TcpAppOpnRep> &siTOE_OpnRep,
154 stream<NalNewTableEntry> &sAddNewTriple_TcpCon,
155 stream<NalTriple> &sNewTcpCon_Req,
156 stream<NalNewTcpConRep> &sNewTcpCon_Rep
160 stream<TcpAppClsReq> &soTOE_ClsReq,
161 stream<bool> &sGetNextDelRow_Req,
162 stream<SessionId> &sGetNextDelRow_Rep,
163 stream<bool> &sStartTclCls
: A Content Address Memory (CAM) for 16 entries.
ap_uint< 1 > layer_7_enabled
ap_uint< 1 > layer_4_enabled
void pFmcTcpRxDeq(stream< NetworkWord > &sFmcTcpDataRx_buffer, stream< TcpSessId > &sFmcTcpMetaRx_buffer, stream< NetworkWord > &soFmc_data, stream< TcpSessId > &soFmc_meta, stream< PacketLen > &fmc_write_cnt_sig)
Terminates the internal TCP RX FIFOs and forwards packets to the FMC.
void pTcpLsn(stream< TcpAppLsnReq > &soTOE_LsnReq, stream< TcpAppLsnRep > &siTOE_LsnRep, stream< TcpPort > &sTcpPortsToOpen, stream< bool > &sTcpPortsOpenFeedback)
Request the TOE to start listening (LSn) for incoming connections on a specific port (....
void pTcpWRp(ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *piNTS_ready, stream< NetworkWord > &siFMC_data, stream< TcpSessId > &siFMC_SessId, stream< NetworkWord > &siTcp_data, stream< NetworkMetaStream > &siTcp_meta, stream< TcpAppData > &soTOE_Data, stream< TcpAppMeta > &soTOE_SessId, stream< TcpDatLen > &soTOE_len, stream< NodeId > &sGetIpReq_TcpTx, stream< Ip4Addr > &sGetIpRep_TcpTx, stream< NalTriple > &sGetSidFromTriple_Req, stream< SessionId > &sGetSidFromTriple_Rep, stream< NalTriple > &sNewTcpCon_Req, stream< NalNewTcpConRep > &sNewTcpCon_Rep, stream< bool > &cache_inval_sig, stream< NalEventNotif > &internal_event_fifo)
Write Path (WRp) - From ROLE or FMC to TOE. Process waits for a new data segment to write and forward...
void pTcpCOn(stream< TcpAppOpnReq > &soTOE_OpnReq, stream< TcpAppOpnRep > &siTOE_OpnRep, stream< NalNewTableEntry > &sAddNewTriple_TcpCon, stream< NalTriple > &sNewTcpCon_Req, stream< NalNewTcpConRep > &sNewTcpCon_Rep)
Client connection to remote HOST or FPGA socket (COn).
void pTcpRxNotifEnq(ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *piNTS_ready, stream< TcpAppNotif > &siTOE_Notif, stream< TcpAppNotif > &sTcpNotif_buffer)
Enqueus the incoming notificiations from TOE into the internal buffer.
void pTcpWBu(ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *piNTS_ready, stream< TcpAppData > &siWrp_Data, stream< TcpAppMeta > &siWrp_SessId, stream< TcpDatLen > &siWrp_len, stream< TcpAppData > &soTOE_Data, stream< TcpAppSndReq > &soTOE_SndReq, stream< TcpAppSndRep > &siTOE_SndRep)
Write Buffer (WBu) - From WRp to TOE. Process to synchronize with TOE's TX buffer (and it's available...
void pRoleTcpRxDeq(ap_uint< 1 > *layer_7_enabled, ap_uint< 1 > *role_decoupled, stream< NetworkWord > &sRoleTcpDataRx_buffer, stream< NetworkMetaStream > &sRoleTcpMetaRx_buffer, stream< NetworkWord > &soTcp_data, stream< NetworkMetaStream > &soTcp_meta, stream< PacketLen > &role_write_cnt_sig)
Terminates the internal TCP RX FIFOs and forwards packets to the Role.
void pTcpRRh(ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *piNTS_ready, ap_uint< 32 > *piMMIO_CfrmIp4Addr, ap_uint< 16 > *piMMIO_FmcLsnPort, stream< TcpAppNotif > &siTOE_Notif, stream< TcpAppRdReq > &soTOE_DReq, stream< NalNewTableEntry > &sAddNewTriple_TcpRrh, stream< SessionId > &sMarkAsPriv, stream< SessionId > &sDeleteEntryBySid, stream< TcpAppRdReq > &sRDp_ReqNotif, stream< PacketLen > &fmc_write_cnt_sig, stream< PacketLen > &role_write_cnt_sig)
ReadRequestHandler (RRh). Waits for a notification indicating the availability of new data for the RO...
void pTcpCls(stream< TcpAppClsReq > &soTOE_ClsReq, stream< bool > &sGetNextDelRow_Req, stream< SessionId > &sGetNextDelRow_Rep, stream< bool > &sStartTclCls)
Asks the TOE to close Tcp connections, based on the request from pPortLogic.
ap_uint< 1 > role_decoupled
void pTcpRDp(ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *piNTS_ready, stream< TcpAppRdReq > &sRDp_ReqNotif, stream< TcpAppData > &siTOE_Data, stream< TcpAppMeta > &siTOE_SessId, stream< NetworkWord > &soFMC_data, stream< TcpSessId > &soFMC_SessId, stream< NetworkWord > &soTcp_data, stream< NetworkMetaStream > &soTcp_meta, stream< NalConfigUpdate > &sConfigUpdate, stream< Ip4Addr > &sGetNidReq_TcpRx, stream< NodeId > &sGetNidRep_TcpRx, stream< SessionId > &sGetTripleFromSid_Req, stream< NalTriple > &sGetTripleFromSid_Rep, ap_uint< 32 > *piMMIO_CfrmIp4Addr, ap_uint< 16 > *piMMIO_FmcLsnPort, ap_uint< 1 > *layer_7_enabled, ap_uint< 1 > *role_decoupled, stream< bool > &cache_inval_sig, stream< NalEventNotif > &internal_event_fifo)
Read Path (RDp) - From TOE to ROLE or FMC. Process waits for a new data segment to read and forwards ...
: The cloudFPGA Network Abstraction Layer (NAL) between NTS and ROlE. The NAL core manages the NTS St...