cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
AxisIp4.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2016 -- 2021 IBM Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 
119 #ifndef _AXIS_IP4_H_
120 #define _AXIS_IP4_H_
121 
122 #include "AxisRaw.hpp"
123 #include "AxisIcmp.hpp"
124 #include "AxisTcp.hpp"
125 #include "AxisUdp.hpp"
126 
127 
131 // An IP4 packet has a default header size of 20 bytes. This length may vary in
132 // the presence of option(s) and is indicated by the field IHL>5.
133 #define IP4_HEADER_LEN 20 // In bytes
134 
135 
139 typedef ap_uint< 4> LE_Ip4Version; // IPv4 Version from the MAC
140 typedef ap_uint< 4> LE_Ip4HdrLen; // IPv4 Internet Header Length from the MAC
141 typedef ap_uint< 8> LE_Ip4ToS; // IPv4 Type of Service from the MAC
142 typedef ap_uint<16> LE_Ip4TotalLen; // IPv4 Total Length from the MAC
143 typedef ap_uint< 8> LE_Ip4TtL; // IPv4 Time to Live
144 typedef ap_uint< 8> LE_Ip4Prot; // IPv4 Protocol
145 typedef ap_uint<16> LE_Ip4HdrCsum; // IPv4 Header Checksum from the MAC.
146 typedef ap_uint<32> LE_Ip4SrcAddr; // IPv4 Source Address from the MAC
147 typedef ap_uint<32> LE_Ip4DstAddr; // IPv4 Destination Address from the MAC
148 typedef ap_uint<32> LE_Ip4Address; // IPv4 Source or Destination Address from the MAC
149 typedef ap_uint<32> LE_Ip4Addr; // IPv4 Source or Destination Address from the MAC
150 typedef ap_uint<64> LE_IpData; // IPv4 Data stream from the MAC
151 
152 
156 typedef ap_uint< 4> Ip4Version; // IPv4 Version
157 typedef ap_uint< 4> Ip4HdrLen; // IPv4 Header Length in octets (same as 4*Ip4HeaderLen)
158 typedef ap_uint< 8> Ip4ToS; // IPv4 Type of Service
159 typedef ap_uint<16> Ip4TotalLen; // IPv4 Total Length
160 typedef ap_uint<16> Ip4Ident; // IPv4 Identification
161 typedef ap_uint<13> Ip4FragOff; // IPv4 Fragment Offset
162 typedef ap_uint< 3> Ip4Flags; // IPv4 Flags
163 typedef ap_uint< 8> Ip4TtL; // IPv4 Time to Live
164 typedef ap_uint< 8> Ip4Prot; // IPv4 Protocol
165 typedef ap_uint<16> Ip4HdrCsum; // IPv4 Header Checksum
166 typedef ap_uint<32> Ip4SrcAddr; // IPv4 Source Address
167 typedef ap_uint<32> Ip4DstAddr; // IPv4 Destination Address
168 typedef ap_uint<32> Ip4Address; // IPv4 Source or Destination Address
169 typedef ap_uint<32> Ip4Addr; // IPv4 Source or Destination Address
170 typedef ap_uint<64> Ip4Data; // IPv4 Data unit of transfer
171 
172 typedef ap_uint<16> Ip4PktLen; // IP4 Packet Length in octets (same as Ip4TotalLen)
173 typedef ap_uint<16> Ip4DatLen; // IP4 Data Length in octets (same as Ip4PktLen minus Ip4HdrLen)
174 
175 
176 
180 class AxisIp4: public AxisRaw {
181 
182  public:
183  AxisIp4() {}
185  AxisRaw(tdata, tkeep, tlast) {}
186  AxisIp4(const AxisIp4 &axisRaw) :
187  AxisRaw(axisRaw.tdata, axisRaw.tkeep, axisRaw.tlast) {}
188  AxisIp4(AxisRaw axisRaw) :
189  AxisRaw(axisRaw.getLE_TData(), axisRaw.getLE_TKeep(), axisRaw.getLE_TLast()) {}
190 
191 
194  // Set-Get the IP4 Version
195  void setIp4Version(Ip4Version ver) { tdata.range( 7, 4) = ver; }
196  Ip4Version getIp4Version() { return tdata.range( 7, 4); }
197  // Set-Get the IP4 Internet Header Length
198  void setIp4HdrLen(Ip4HdrLen ihl) { tdata.range( 3, 0) = ihl; }
199  Ip4HdrLen getIp4HdrLen() { return tdata.range( 3, 0); }
200  // Set-Get the IP4 Type of Service
201  void setIp4ToS(Ip4ToS tos) { tdata.range(15, 8) = tos; }
202  Ip4ToS getIp4ToS() { return tdata.range(15, 8); }
203  // Set the IP4 Total Length
204  void setIp4TotalLen(Ip4TotalLen len) { tdata.range(31, 16) = swapWord(len); }
205  Ip4TotalLen getIp4TotalLen() { return swapWord (tdata.range(31, 16)); }
206  // Set the IP4 Identification
207  void setIp4Ident(Ip4Ident id) { tdata.range(47, 32) = swapWord(id); }
208  Ip4Ident getIp4Ident() { return swapWord (tdata.range(47, 32)); }
209  // Set-get the IP4 Fragment Offset
210  void setIp4FragOff(Ip4FragOff offset){ tdata.range(63, 56) = offset( 7, 0);
211  tdata.range(52, 48) = offset(12, 8); }
212  Ip4FragOff getIp4FragOff() { return (tdata.range(52, 48) << 8 |
213  tdata.range(63, 56)); }
214  // Set the IP4 Flags
215  void setIp4Flags(Ip4Flags flags) { tdata.range(55, 53) = flags; }
216  // Set-Get the IP4 Time to Live
217  void setIp4TtL(Ip4TtL ttl) { tdata.range( 7, 0) = ttl; }
218  Ip4TtL getIp4TtL() { return tdata.range( 7, 0); }
219  // Set-Get the IP4 Protocol
220  void setIp4Prot(Ip4Prot prot) { tdata.range(15, 8) = prot; }
221  Ip4Prot getIp4Prot() { return tdata.range(15, 8); }
222  // Set-Get the IP4 Header Checksum
223  void setIp4HdrCsum(Ip4HdrCsum csum) { tdata.range(31, 16) = swapWord(csum); }
224  Ip4HdrCsum getIp4HdrCsum() { return swapWord (tdata.range(31, 16)); }
225  // Set-Get the IP4 Source Address
226  void setIp4SrcAddr(Ip4Addr addr) { tdata.range(63, 32) = swapDWord(addr); }
227  Ip4Addr getIp4SrcAddr() { return swapDWord(tdata.range(63, 32)); }
228  // Set-Get the IP4 Destination Address
229  void setIp4DstAddr(Ip4Addr addr) { tdata.range(31, 0) = swapDWord(addr); }
230  Ip4Addr getIp4DstAddr() { return swapDWord(tdata.range(31, 0)); }
231  LE_Ip4TtL getLE_Ip4Ttl() { return tdata.range( 7, 0); }
232  LE_Ip4Prot getLE_Ip4Prot() { return tdata.range(15, 8); }
233  LE_Ip4HdrCsum getLE_Ip4HdrCsum() { return tdata.range(31, 16); }
234  LE_Ip4Addr getLE_Ip4SrcAddr() { return tdata.range(63, 32); }
235  LE_Ip4Addr getLE_Ip4DstAddr() { return tdata.range(31, 0); }
236 
237  //-----------------------------------------------------
238  //-- ENCAPSULATED TCP SEGMENT - Setters and Getters
239  //-----------------------------------------------------
240  // Set-Get the TCP Source Port
241  void setTcpSrcPort(TcpPort port) { tdata.range(47, 32) = swapWord(port); }
242  TcpPort getTcpSrcPort() { return swapWord (tdata.range(47, 32)); }
243  // Set-Get the TCP Destination Port
244  void setTcpDstPort(TcpPort port) { tdata.range(63, 48) = swapWord(port); }
245  TcpPort getTcpDstPort() { return swapWord (tdata.range(63, 48)); }
246  // Set-Get the TCP Sequence Number
247  void setTcpSeqNum(TcpSeqNum num) { tdata.range(31, 0) = swapDWord(num); }
248  TcpSeqNum getTcpSeqNum() { return swapDWord(tdata.range(31, 0)); }
249  // Set-Get the TCP Acknowledgment Number
250  void setTcpAckNum(TcpAckNum num) { tdata.range(63, 32) = swapDWord(num); }
251  TcpAckNum getTcpAckNum() { return swapDWord(tdata.range(63, 32)); }
252  // Set-Get the TCP Data Offset
253  void setTcpDataOff(TcpDataOff offset){ tdata.range( 7, 4) = offset; }
254  TcpDataOff getTcpDataOff() { return tdata.range( 7, 4); }
255  // Set-Get the TCP Control Bits
256  void setTcpCtrlFin(TcpCtrlBit bit) { tdata.bit( 8) = bit; }
257  TcpCtrlBit getTcpCtrlFin() { return tdata.bit( 8); }
258  void setTcpCtrlSyn(TcpCtrlBit bit) { tdata.bit( 9) = bit; }
259  TcpCtrlBit getTcpCtrlSyn() { return tdata.bit( 9); }
260  void setTcpCtrlRst(TcpCtrlBit bit) { tdata.bit(10) = bit; }
261  TcpCtrlBit getTcpCtrlRst() { return tdata.bit(10); }
262  void setTcpCtrlPsh(TcpCtrlBit bit) { tdata.bit(11) = bit; }
263  TcpCtrlBit getTcpCtrlPsh() { return tdata.bit(11); }
264  void setTcpCtrlAck(TcpCtrlBit bit) { tdata.bit(12) = bit; }
265  TcpCtrlBit getTcpCtrlAck() { return tdata.bit(12); }
266  void setTcpCtrlUrg(TcpCtrlBit bit) { tdata.bit(13) = bit; }
267  TcpCtrlBit getTcpCtrlUrg() { return tdata.bit(13); }
268  // Set-Get the TCP Window
269  void setTcpWindow(TcpWindow win) { tdata.range(31, 16) = swapWord(win); }
270  TcpWindow getTcpWindow() { return swapWord (tdata.range(31, 16)); }
271  // Set-Get the TCP Checksum
272  void setTcpChecksum(TcpChecksum csum){ tdata.range(47, 32) = swapWord(csum); }
273  TcpChecksum getTcpChecksum() { return swapWord (tdata.range(47, 32)); }
274  // Set-Get the TCP Urgent Pointer
275  void setTcpUrgPtr(TcpUrgPtr ptr) { tdata.range(63, 48) = swapWord(ptr); }
276  TcpUrgPtr getTcpUrgPtr() { return swapWord (tdata.range(63, 48)); }
277  // Set-Get the TCP Options
278  void setTcpOptKind(TcpOptKind val) { tdata.range( 7, 0); }
279  TcpOptKind getTcpOptKind() { return tdata.range( 7, 0); }
280  void setTcpOptMss(TcpOptMss val) { tdata.range(31, 16); }
281  TcpOptMss getTcpOptMss() { return swapWord (tdata.range(31, 16)); }
282 
283  LE_TcpPort getLE_TcpSrcPort() { return tdata.range(47, 32) ; }
284  LE_TcpPort getLE_TcpDstPort() { return tdata.range(63, 48); }
285 
286  //-----------------------------------------------------
287  //-- ENCAPSULATED UDP DATAGRAM - Setters and Getters
288  //-----------------------------------------------------
289  // Set the UDP Source Port
290  void setUdpSrcPort(UdpPort port, int Lo=32) { tdata.range(Lo+16-1, Lo) = swapWord(port); }
291  // Get the UDP Source Port
292  UdpPort getUdpSrcPort( int Lo=32) { return swapWord (tdata.range(Lo+16-1, Lo)); }
293  // Set the UDP Destination Port
294  void setUdpDstPort(UdpPort port, int Lo=48) { tdata.range(Lo+16-1, Lo) = swapWord(port); }
295  // Get the UDP Destination Port
296  UdpPort getUdpDstPort( int Lo=48) { return swapWord (tdata.range(Lo+16-1, Lo)); }
297  // Set the UDP Length
298  void setUdpLen(UdpLen len, int Lo= 0) { tdata.range(Lo+16-1, Lo) = swapWord(len); }
299  // Get the UDP Length
300  UdpLen getUdpLen( int Lo= 0) { return swapWord (tdata.range(Lo+16-1, Lo)); }
301  // Set the UDP Checksum
302  void setUdpCsum(UdpCsum csum, int Lo=16) { tdata.range(Lo+16-1, Lo) = swapWord(csum); }
303  // Get the UDP Checksum
304  UdpCsum getUdpCsum( int Lo=16) { return swapWord (tdata.range(Lo+16-1, Lo)); }
305 
306  //-----------------------------------------------------
307  //-- ENCAPSULATED ICMP MESSAGE - Setters and Getters
308  //-----------------------------------------------------
309  // Set-Get the message Type field
310  void setIcmpType(IcmpType type) { tdata.range(32+ 7, 32+ 0) = type; }
311  IcmpType getIcmpType() { return tdata.range(32+ 7, 32+ 0); }
312  // Set-Get the message Code field
313  void setIcmpCode(IcmpCode code) { tdata.range(32+15, 32+ 8) = code; }
314  IcmpCode getIcmpCode() { return tdata.range(32+15, 32+ 8); }
315  // Set-Get the Checksum field
316  void setIcmpCsum(IcmpCsum csum) { tdata.range(32+31, 32+16) = swapWord(csum); }
317  IcmpCsum getIcmpCsum() { return swapWord (tdata.range(32+31, 32+16)); }
318 
319  LE_IcmpType getLE_IcmpType() { return tdata.range(32+ 7, 32+ 0); }
320  LE_IcmpCode getLE_IcmpCode() { return tdata.range(32+15, 32+ 8); }
321  LE_IcmpCsum getLE_IcmpCsum() { return tdata.range(32+31, 32+16); }
322 
323 
324  private:
325  // Reverse the bits within a nibble.
326  ap_uint<4> swapNibble(ap_uint<4> nibble) {
327  return (nibble.range(0,3));
328  }
329  // Reverse the bits within a byte.
330  ap_uint<8> swapByte(ap_uint<8> byte) {
331  return (byte.range(0,7));
332  }
333  // Swap the two bytes of a word (.i.e, 16 bits)
334  ap_uint<16> swapWord(ap_uint<16> word) {
335  return (word.range(7,0), word.range(15, 8));
336  }
337  // Swap the four bytes of a double-word (.i.e, 32 bits)
338  ap_uint<32> swapDWord(ap_uint<32> dword) {
339  return (dword.range( 7, 0), dword.range(15, 8),
340  dword.range(23,16), dword.range(31, 24));
341  }
342 
343 }; // End of: AxisIp4
344 
345 #endif
346 
: A class to access ICMP header fields within data chunks transmitted over an AXI4-Stream interface.
: A generic class used by the Network-Transport-Stack (NTS) to to transfer a chunk of data over an AX...
: A class to access TCP header fields within data chunks transmitted over an AXI4-Stream interface.
: A class to access UDP header fields within data chunks transmitted over an AXI4-Stream interface.
Ip4TtL getIp4TtL()
Definition: AxisIp4.hpp:218
void setTcpDataOff(TcpDataOff offset)
Definition: AxisIp4.hpp:253
void setTcpAckNum(TcpAckNum num)
Definition: AxisIp4.hpp:250
AxisIp4(AxisRaw axisRaw)
Definition: AxisIp4.hpp:188
void setTcpWindow(TcpWindow win)
Definition: AxisIp4.hpp:269
void setIcmpType(IcmpType type)
Definition: AxisIp4.hpp:310
void setTcpCtrlFin(TcpCtrlBit bit)
Definition: AxisIp4.hpp:256
TcpCtrlBit getTcpCtrlAck()
Definition: AxisIp4.hpp:265
IcmpType getIcmpType()
Definition: AxisIp4.hpp:311
void setUdpCsum(UdpCsum csum, int Lo=16)
Definition: AxisIp4.hpp:302
TcpCtrlBit getTcpCtrlSyn()
Definition: AxisIp4.hpp:259
TcpChecksum getTcpChecksum()
Definition: AxisIp4.hpp:273
TcpWindow getTcpWindow()
Definition: AxisIp4.hpp:270
TcpSeqNum getTcpSeqNum()
Definition: AxisIp4.hpp:248
LE_IcmpCode getLE_IcmpCode()
Definition: AxisIp4.hpp:320
void setTcpCtrlPsh(TcpCtrlBit bit)
Definition: AxisIp4.hpp:262
UdpPort getUdpDstPort(int Lo=48)
Definition: AxisIp4.hpp:296
UdpLen getUdpLen(int Lo=0)
Definition: AxisIp4.hpp:300
LE_IcmpCsum getLE_IcmpCsum()
Definition: AxisIp4.hpp:321
void setIp4FragOff(Ip4FragOff offset)
Definition: AxisIp4.hpp:210
TcpCtrlBit getTcpCtrlFin()
Definition: AxisIp4.hpp:257
void setTcpSeqNum(TcpSeqNum num)
Definition: AxisIp4.hpp:247
void setIp4Prot(Ip4Prot prot)
Definition: AxisIp4.hpp:220
Ip4Addr getIp4DstAddr()
Definition: AxisIp4.hpp:230
void setIp4HdrLen(Ip4HdrLen ihl)
Definition: AxisIp4.hpp:198
LE_Ip4HdrCsum getLE_Ip4HdrCsum()
Definition: AxisIp4.hpp:233
void setTcpDstPort(TcpPort port)
Definition: AxisIp4.hpp:244
void setIcmpCode(IcmpCode code)
Definition: AxisIp4.hpp:313
Ip4TotalLen getIp4TotalLen()
Definition: AxisIp4.hpp:205
void setUdpLen(UdpLen len, int Lo=0)
Definition: AxisIp4.hpp:298
TcpOptMss getTcpOptMss()
Definition: AxisIp4.hpp:281
UdpPort getUdpSrcPort(int Lo=32)
Definition: AxisIp4.hpp:292
void setTcpOptMss(TcpOptMss val)
Definition: AxisIp4.hpp:280
void setTcpUrgPtr(TcpUrgPtr ptr)
Definition: AxisIp4.hpp:275
AxisIp4()
Definition: AxisIp4.hpp:183
void setIp4HdrCsum(Ip4HdrCsum csum)
Definition: AxisIp4.hpp:223
UdpCsum getUdpCsum(int Lo=16)
Definition: AxisIp4.hpp:304
TcpPort getTcpDstPort()
Definition: AxisIp4.hpp:245
LE_Ip4Prot getLE_Ip4Prot()
Definition: AxisIp4.hpp:232
void setTcpCtrlSyn(TcpCtrlBit bit)
Definition: AxisIp4.hpp:258
TcpUrgPtr getTcpUrgPtr()
Definition: AxisIp4.hpp:276
void setUdpSrcPort(UdpPort port, int Lo=32)
Definition: AxisIp4.hpp:290
void setTcpChecksum(TcpChecksum csum)
Definition: AxisIp4.hpp:272
void setIp4DstAddr(Ip4Addr addr)
Definition: AxisIp4.hpp:229
void setTcpCtrlUrg(TcpCtrlBit bit)
Definition: AxisIp4.hpp:266
void setIp4TotalLen(Ip4TotalLen len)
Definition: AxisIp4.hpp:204
TcpCtrlBit getTcpCtrlPsh()
Definition: AxisIp4.hpp:263
TcpDataOff getTcpDataOff()
Definition: AxisIp4.hpp:254
Ip4Ident getIp4Ident()
Definition: AxisIp4.hpp:208
Ip4FragOff getIp4FragOff()
Definition: AxisIp4.hpp:212
Ip4Version getIp4Version()
Definition: AxisIp4.hpp:196
IcmpCsum getIcmpCsum()
Definition: AxisIp4.hpp:317
TcpPort getTcpSrcPort()
Definition: AxisIp4.hpp:242
void setIcmpCsum(IcmpCsum csum)
Definition: AxisIp4.hpp:316
void setTcpOptKind(TcpOptKind val)
Definition: AxisIp4.hpp:278
TcpOptKind getTcpOptKind()
Definition: AxisIp4.hpp:279
void setIp4Flags(Ip4Flags flags)
Definition: AxisIp4.hpp:215
LE_TcpPort getLE_TcpDstPort()
Definition: AxisIp4.hpp:284
TcpCtrlBit getTcpCtrlUrg()
Definition: AxisIp4.hpp:267
void setIp4Version(Ip4Version ver)
Definition: AxisIp4.hpp:195
LE_Ip4Addr getLE_Ip4DstAddr()
Definition: AxisIp4.hpp:235
Ip4HdrLen getIp4HdrLen()
Definition: AxisIp4.hpp:199
void setTcpSrcPort(TcpPort port)
Definition: AxisIp4.hpp:241
Ip4Prot getIp4Prot()
Definition: AxisIp4.hpp:221
Ip4Addr getIp4SrcAddr()
Definition: AxisIp4.hpp:227
void setIp4Ident(Ip4Ident id)
Definition: AxisIp4.hpp:207
LE_TcpPort getLE_TcpSrcPort()
Definition: AxisIp4.hpp:283
void setTcpCtrlAck(TcpCtrlBit bit)
Definition: AxisIp4.hpp:264
LE_Ip4TtL getLE_Ip4Ttl()
Definition: AxisIp4.hpp:231
IcmpCode getIcmpCode()
Definition: AxisIp4.hpp:314
LE_IcmpType getLE_IcmpType()
Definition: AxisIp4.hpp:319
Ip4ToS getIp4ToS()
Definition: AxisIp4.hpp:202
void setIp4ToS(Ip4ToS tos)
Definition: AxisIp4.hpp:201
void setIp4SrcAddr(Ip4Addr addr)
Definition: AxisIp4.hpp:226
TcpAckNum getTcpAckNum()
Definition: AxisIp4.hpp:251
void setIp4TtL(Ip4TtL ttl)
Definition: AxisIp4.hpp:217
TcpCtrlBit getTcpCtrlRst()
Definition: AxisIp4.hpp:261
AxisIp4(const AxisIp4 &axisRaw)
Definition: AxisIp4.hpp:186
LE_Ip4Addr getLE_Ip4SrcAddr()
Definition: AxisIp4.hpp:234
Ip4HdrCsum getIp4HdrCsum()
Definition: AxisIp4.hpp:224
void setUdpDstPort(UdpPort port, int Lo=48)
Definition: AxisIp4.hpp:294
AxisIp4(LE_tData tdata, LE_tKeep tkeep, LE_tLast tlast)
Definition: AxisIp4.hpp:184
void setTcpCtrlRst(TcpCtrlBit bit)
Definition: AxisIp4.hpp:260
LE_tKeep getLE_TKeep(int leHi=64/8-1, int leLo=0) const
Definition: AxisRaw.hpp:264
LE_tData tdata
Definition: AxisRaw.hpp:173
LE_tData getLE_TData(int leHi=64 -1, int leLo=0) const
Definition: AxisRaw.hpp:260
LE_tKeep tkeep
Definition: AxisRaw.hpp:174
LE_tLast getLE_TLast() const
Definition: AxisRaw.hpp:268
LE_tLast tlast
Definition: AxisRaw.hpp:175
ap_uint< 16 > UdpLen
Definition: nal.hpp:250
ap_uint< 16 > UdpPort
Definition: nal.hpp:249
ap_uint< 16 > LE_TcpPort
Definition: AxisTcp.hpp:88
ap_uint< 8 > Ip4Prot
Definition: AxisIp4.hpp:164
ap_uint< 16 > Ip4PktLen
Definition: AxisIp4.hpp:172
ap_uint< 32 > LE_Ip4DstAddr
Definition: AxisIp4.hpp:147
ap_uint< 32 > TcpSeqNum
Definition: AxisTcp.hpp:106
ap_uint< 32 > LE_Ip4SrcAddr
Definition: AxisIp4.hpp:146
ap_uint< 16 > LE_IcmpCsum
Definition: AxisIcmp.hpp:85
ap_uint< 8 > TcpOptKind
Definition: AxisTcp.hpp:117
ap_uint< 4 > Ip4Version
Definition: AxisIp4.hpp:156
ap_uint< 32 > LE_Ip4Addr
Definition: AxisIp4.hpp:149
ap_uint< 8 > LE_Ip4TtL
Definition: AxisIp4.hpp:143
ap_uint< 64 > LE_tData
Definition: AxisRaw.hpp:122
ap_uint< 32 > Ip4SrcAddr
Definition: AxisIp4.hpp:166
ap_uint< 8 > LE_IcmpType
Definition: AxisIcmp.hpp:83
ap_uint< 16 > TcpUrgPtr
Definition: AxisTcp.hpp:115
ap_uint< 16 > Ip4DatLen
Definition: AxisIp4.hpp:173
ap_uint< 1 > TcpCtrlBit
Definition: AxisTcp.hpp:111
ap_uint< 64/8 > LE_tKeep
Definition: AxisRaw.hpp:124
ap_uint< 16 > Ip4Ident
Definition: AxisIp4.hpp:160
ap_uint< 8 > Ip4ToS
Definition: AxisIp4.hpp:158
ap_uint< 32 > Ip4Addr
Definition: AxisIp4.hpp:169
ap_uint< 16 > Ip4HdrCsum
Definition: AxisIp4.hpp:165
ap_uint< 16 > IcmpCsum
Definition: AxisIcmp.hpp:93
ap_uint< 4 > LE_Ip4HdrLen
Definition: AxisIp4.hpp:140
ap_uint< 8 > LE_Ip4ToS
Definition: AxisIp4.hpp:141
ap_uint< 4 > Ip4HdrLen
Definition: AxisIp4.hpp:157
ap_uint< 8 > LE_Ip4Prot
Definition: AxisIp4.hpp:144
ap_uint< 8 > LE_IcmpCode
Definition: AxisIcmp.hpp:84
ap_uint< 8 > IcmpCode
Definition: AxisIcmp.hpp:92
ap_uint< 4 > LE_Ip4Version
Definition: AxisIp4.hpp:139
ap_uint< 1 > LE_tLast
Definition: AxisRaw.hpp:125
ap_uint< 16 > TcpPort
Definition: AxisTcp.hpp:105
ap_uint< 16 > LE_Ip4HdrCsum
Definition: AxisIp4.hpp:145
ap_uint< 16 > LE_Ip4TotalLen
Definition: AxisIp4.hpp:142
ap_uint< 16 > Ip4TotalLen
Definition: AxisIp4.hpp:159
ap_uint< 16 > UdpCsum
Definition: AxisUdp.hpp:101
ap_uint< 8 > Ip4TtL
Definition: AxisIp4.hpp:163
ap_uint< 16 > TcpWindow
Definition: AxisTcp.hpp:112
ap_uint< 4 > TcpDataOff
Definition: AxisTcp.hpp:109
ap_uint< 64 > LE_IpData
Definition: AxisIp4.hpp:150
ap_uint< 16 > TcpOptMss
Definition: AxisTcp.hpp:119
ap_uint< 64 > Ip4Data
Definition: AxisIp4.hpp:170
ap_uint< 32 > Ip4Address
Definition: AxisIp4.hpp:168
ap_uint< 3 > Ip4Flags
Definition: AxisIp4.hpp:162
ap_uint< 13 > Ip4FragOff
Definition: AxisIp4.hpp:161
ap_uint< 32 > TcpAckNum
Definition: AxisTcp.hpp:107
ap_uint< 32 > LE_Ip4Address
Definition: AxisIp4.hpp:148
ap_uint< 8 > IcmpType
Definition: AxisIcmp.hpp:91
ap_uint< 32 > Ip4DstAddr
Definition: AxisIp4.hpp:167
ap_uint< 16 > TcpChecksum
Definition: AxisTcp.hpp:113