cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
AxisArp.hpp File Reference

: A class to access an ARP data chunk transmitted over an AXI4-Stream interface. More...

#include "AxisRaw.hpp"
#include "AxisEth.hpp"
Include dependency graph for AxisArp.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  AxisArp
 

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
 

Detailed Description

: A class to access an ARP data chunk transmitted over an AXI4-Stream interface.

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 Transport Stack (NTS) Language : Vivado HLS


: The Address Resolution Protocol (ARP) fields defined in this class refer to 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 ARP 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, consider the 16-bit field "Hardware Type (HTYPE)" of the ARP message which value is '0x0001' when the media is Ethernet. This field will be transmitted on the media in big-endian order .i.e, a '0x00' followed by a '0x01'. However, this field will end up being ordered in little-endian mode (.i.e, 0x0100) by the AXI4-Stream interface of the 10GbE MAC.

Warning
: This class is to be used when an ARP message is aligned to a 64-bit quadword. Refer to the methods of 'AxisEth.hpp' to access the fields of an ARP message that is embedded into an Ethernet frame.

@info : The format of an ARP message transferred over an AXI4-Stream interface of quadwords is done in LITTLE-ENDIAN and is mapped 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPER=0x0001 (or 0x0002) | PLEN=0x04 | HLEN=0x06 | PTYPE=0x0800 | HTYPE=0x0001 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SPA[1] | SPA[0] | SHA[5] | SHA[4] | SHA[3] | SHA[2] | SHA[1] | SHA[0] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | THA[5] | THA[4] | THA[3] | THA[2] | THA[1] | THA[0] | SPA[3] | SPA[2] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TPA[3] | TPA[2] | TPA[1] | TPA[0] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Definition in file AxisArp.hpp.