cloudFPGA (cF) API
1.0
The documentation of the source code of cloudFPGA (cF)
|
: The cloudFPGA Network Abstraction Layer (NAL) between NTS and ROlE. The NAL core manages the NTS Stack and maps the network streams to the user's ROLE or the FMC while hiding some complexity of UOE and TOE. More...
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
#include <math.h>
#include <hls_stream.h>
#include "ap_int.h"
#include <stdint.h>
#include "../../FMC/src/fmc.hpp"
#include "../../../../../hls/network.hpp"
#include "../../network_utils.hpp"
#include "../../simulation_utils.hpp"
#include "uss.hpp"
#include "tss.hpp"
#include "hss.hpp"
#include "cam8.hpp"
Go to the source code of this file.
Classes | |
struct | NalEventNotif |
struct | NalNewTableEntry |
struct | NalNewTcpConRep |
struct | NalConfigUpdate |
struct | NalMrtUpdate |
struct | NalStatusUpdate |
struct | NalPortUpdate |
struct | NalWaitingData |
Typedefs | |
typedef bool | StsBool |
typedef ap_uint< 16 > | UdpSrcPort |
typedef ap_uint< 16 > | UdpDstPort |
typedef ap_uint< 16 > | UdpPort |
typedef ap_uint< 16 > | UdpLen |
typedef UdpLen | UdpAppDLen |
typedef UdpAppDLen | UdpPLen |
typedef ap_uint< 16 > | PacketLen |
typedef ap_uint< 64 > | NalTriple |
Functions | |
ap_uint< 32 > | getRightmostBitPos (ap_uint< 32 > num) |
NalTriple | newTriple (Ip4Addr ipRemoteAddres, TcpPort tcpRemotePort, TcpPort tcpLocalPort) |
Ip4Addr | getRemoteIpAddrFromTriple (NalTriple triple) |
TcpPort | getRemotePortFromTriple (NalTriple triple) |
TcpPort | getLocalPortFromTriple (NalTriple triple) |
uint8_t | extractByteCnt (AxisRaw currWord) |
uint8_t | extractByteCnt (NetworkWord currWord) |
void | nal_main (ap_uint< 32 > ctrlLink[64+16+16], ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *layer_7_enabled, ap_uint< 1 > *role_decoupled, ap_uint< 1 > *piNTS_ready, ap_uint< 16 > *piMMIO_FmcLsnPort, ap_uint< 32 > *piMMIO_CfrmIp4Addr, ap_uint< 32 > *myIpAddress, ap_uint< 32 > *pi_udp_rx_ports, stream< NetworkWord > &siUdp_data, stream< NetworkWord > &soUdp_data, stream< NetworkMetaStream > &siUdp_meta, stream< NetworkMetaStream > &soUdp_meta, ap_uint< 32 > *pi_tcp_rx_ports, stream< NetworkWord > &siTcp_data, stream< NetworkMetaStream > &siTcp_meta, stream< NetworkWord > &soTcp_data, stream< NetworkMetaStream > &soTcp_meta, stream< NetworkWord > &siFMC_data, stream< TcpSessId > &siFMC_SessId, stream< NetworkWord > &soFMC_data, stream< TcpSessId > &soFMC_SessId, stream< UdpPort > &soUOE_LsnReq, stream< StsBool > &siUOE_LsnRep, stream< UdpPort > &soUOE_ClsReq, stream< StsBool > &siUOE_ClsRep, stream< UdpAppData > &siUOE_Data, stream< UdpAppMeta > &siUOE_Meta, stream< UdpAppDLen > &siUOE_DLen, stream< UdpAppData > &soUOE_Data, stream< UdpAppMeta > &soUOE_Meta, stream< UdpAppDLen > &soUOE_DLen, stream< TcpAppNotif > &siTOE_Notif, stream< TcpAppRdReq > &soTOE_DReq, stream< TcpAppData > &siTOE_Data, stream< TcpAppMeta > &siTOE_SessId, stream< TcpAppLsnReq > &soTOE_LsnReq, stream< TcpAppLsnRep > &siTOE_LsnRep, stream< TcpAppData > &soTOE_Data, stream< TcpAppSndReq > &soTOE_SndReq, stream< TcpAppSndRep > &siTOE_SndRep, stream< TcpAppOpnReq > &soTOE_OpnReq, stream< TcpAppOpnRep > &siTOE_OpnRep, stream< TcpAppClsReq > &soTOE_ClsReq) |
Main process of the Network Abstraction Layer (NAL) More... | |
Variables | |
bool | gTraceEvent |
: The cloudFPGA Network Abstraction Layer (NAL) between NTS and ROlE. The NAL core manages the NTS Stack and maps the network streams to the user's ROLE or the FMC while hiding some complexity of UOE and TOE.
Copyright 2016 – 2021 IBM Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
System: : cloudFPGA Component : Shell, Network Abstraction Layer (NAL) Language : Vivado HLS
Definition in file nal.hpp.