cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
AxisArp Class Reference

#include <AxisArp.hpp>

Inheritance diagram for AxisArp:
[legend]
Collaboration diagram for AxisArp:
[legend]

Public Member Functions

 AxisArp ()
 
 AxisArp (AxisRaw axisRaw)
 
 AxisArp (LE_tData tdata, LE_tKeep tkeep, LE_tLast tlast)
 
 AxisArp (const AxisArp &axisArp)
 
void setArpHardwareType (ArpHwType htype)
 
ArpHwType getArpHardwareType ()
 
void setArpProtocolType (ArpProtType ptype)
 
ArpProtType getArpProtocolType ()
 
void setArpHardwareLength (ArpHwLen hlen)
 
ArpHwLen getArpHardwareLength ()
 
void setArpProtocolLength (ArpProtLen plen)
 
ArpProtLen getArpProtocolLength ()
 
void setArpOperation (ArpOper oper)
 
ArpOper getArpOperation ()
 
void setArpSenderHwAddr (ArpSendHwAddr sha)
 
ArpSendHwAddr getArpSenderHwAddr ()
 
void setArpSenderProtAddrHi (ArpSendProtAddr spa)
 
ap_uint< 16 > getArpSenderProtAddrHi ()
 
void setArpSenderProtAddrLo (ArpSendProtAddr spa)
 
ap_uint< 32 > getArpSenderProtAddrLo ()
 
void setArpTargetHwAddr (ArpTargHwAddr tha)
 
ArpTargHwAddr getArpTargetHwAddr ()
 
void setArpTargetProtAddr (ArpTargProtAddr tpa)
 
ArpTargProtAddr getArpTargetProtAddr ()
 
- Public Member Functions inherited from AxisRaw
 AxisRaw ()
 
 AxisRaw (LE_tData tdata, LE_tKeep tkeep, LE_tLast tlast)
 
tData getTData (int leHi=64 -1, int leLo=0) const
 
tKeep getTKeep (int leHi=64/8-1, int leLo=0) const
 
tLast getTLast () const
 
void setTData (tData data)
 
void setTKeep (tKeep keep)
 
void setTLast (tLast last)
 
LE_tData getLE_TData (int leHi=64 -1, int leLo=0) const
 
LE_tKeep getLE_TKeep (int leHi=64/8-1, int leLo=0) const
 
LE_tLast getLE_TLast () const
 
void setLE_TData (LE_tData data, int leHi=64 -1, int leLo=0)
 
void setLE_TKeep (LE_tKeep keep, int leHi=64/8-1, int leLo=0)
 
void setLE_TLast (LE_tLast last)
 
tDataHalf getTDataHi () const
 
tDataHalf getTDataLo () const
 
tKeepHalf getTKeepHi () const
 
tKeepHalf getTKeepLo () const
 
void setTDataHi (tDataHalf halfData)
 
void setTDataLo (tDataHalf halfData)
 
void setTKeepHi (tKeepHalf halfKeep)
 
void setTKeepLo (tKeepHalf halfKeep)
 
LE_tDataHalf getLE_TDataHi () const
 
LE_tDataHalf getLE_TDataLo () const
 
void setLE_TDataHi (LE_tData data)
 
void setLE_TDataLo (LE_tData data)
 
void clearUnusedBytes ()
 
int getLen () const
 
int getLenHi ()
 
int getLenLo ()
 
bool isValid () const
 

Additional Inherited Members

- Protected Member Functions inherited from AxisRaw
int keepToLen () const
 
- Protected Attributes inherited from AxisRaw
LE_tData tdata
 
LE_tKeep tkeep
 
LE_tLast tlast
 

Detailed Description

ARP Data over AXI4-STREAMING As Encoded by the 10GbE MAC (.i.e LITTLE-ENDIAN order).

Definition at line 115 of file AxisArp.hpp.

Constructor & Destructor Documentation

◆ AxisArp() [1/4]

AxisArp::AxisArp ( )
inline

Definition at line 118 of file AxisArp.hpp.

118 {}

◆ AxisArp() [2/4]

AxisArp::AxisArp ( AxisRaw  axisRaw)
inline

Definition at line 119 of file AxisArp.hpp.

119  :
120  AxisRaw(axisRaw.getLE_TData(), axisRaw.getLE_TKeep(), axisRaw.getLE_TLast()) {}
LE_tKeep getLE_TKeep(int leHi=64/8-1, int leLo=0) const
Definition: AxisRaw.hpp:264
AxisRaw()
Definition: AxisRaw.hpp:178
LE_tData getLE_TData(int leHi=64 -1, int leLo=0) const
Definition: AxisRaw.hpp:260
LE_tLast getLE_TLast() const
Definition: AxisRaw.hpp:268

◆ AxisArp() [3/4]

AxisArp::AxisArp ( LE_tData  tdata,
LE_tKeep  tkeep,
LE_tLast  tlast 
)
inline

Definition at line 121 of file AxisArp.hpp.

121  :
122  AxisRaw(tdata, tkeep, tlast) {}
LE_tData tdata
Definition: AxisRaw.hpp:173
LE_tKeep tkeep
Definition: AxisRaw.hpp:174
LE_tLast tlast
Definition: AxisRaw.hpp:175

◆ AxisArp() [4/4]

AxisArp::AxisArp ( const AxisArp axisArp)
inline

Definition at line 123 of file AxisArp.hpp.

123  :
124  AxisRaw(axisArp.tdata, axisArp.tkeep, axisArp.tlast) {}

Member Function Documentation

◆ getArpHardwareLength()

ArpHwLen AxisArp::getArpHardwareLength ( )
inline

Definition at line 138 of file AxisArp.hpp.

138 { return tdata.range(39, 32); }

◆ getArpHardwareType()

ArpHwType AxisArp::getArpHardwareType ( )
inline

Definition at line 132 of file AxisArp.hpp.

132 { return swapWord (tdata.range(15, 0)); }

◆ getArpOperation()

ArpOper AxisArp::getArpOperation ( )
inline

Definition at line 144 of file AxisArp.hpp.

144 { return swapWord (tdata.range(63, 48)); }

◆ getArpProtocolLength()

ArpProtLen AxisArp::getArpProtocolLength ( )
inline

Definition at line 141 of file AxisArp.hpp.

141 { return tdata.range(47, 40); }

◆ getArpProtocolType()

ArpProtType AxisArp::getArpProtocolType ( )
inline

Definition at line 135 of file AxisArp.hpp.

135 { return swapWord (tdata.range(31, 16)); }

◆ getArpSenderHwAddr()

ArpSendHwAddr AxisArp::getArpSenderHwAddr ( )
inline

Definition at line 147 of file AxisArp.hpp.

147 { return swapMacAddr(tdata.range(47, 0)); }

◆ getArpSenderProtAddrHi()

ap_uint<16> AxisArp::getArpSenderProtAddrHi ( )
inline

Definition at line 150 of file AxisArp.hpp.

150 { return swapWord(tdata.range(63, 48)); }

◆ getArpSenderProtAddrLo()

ap_uint<32> AxisArp::getArpSenderProtAddrLo ( )
inline

Definition at line 153 of file AxisArp.hpp.

153 { return swapWord(tdata.range(15, 0)); }

◆ getArpTargetHwAddr()

ArpTargHwAddr AxisArp::getArpTargetHwAddr ( )
inline

Definition at line 156 of file AxisArp.hpp.

156 { return swapMacAddr(tdata.range(63, 16)); }

◆ getArpTargetProtAddr()

ArpTargProtAddr AxisArp::getArpTargetProtAddr ( )
inline

Definition at line 159 of file AxisArp.hpp.

159 { return swapDWord(tdata.range(31, 0)); }

◆ setArpHardwareLength()

void AxisArp::setArpHardwareLength ( ArpHwLen  hlen)
inline

Definition at line 137 of file AxisArp.hpp.

137 { tdata.range(39, 32) = hlen; }

◆ setArpHardwareType()

void AxisArp::setArpHardwareType ( ArpHwType  htype)
inline

ARP MESSAGE HEADER HELPERS

Definition at line 131 of file AxisArp.hpp.

131 { tdata.range(15, 0) = swapWord(htype); }

◆ setArpOperation()

void AxisArp::setArpOperation ( ArpOper  oper)
inline

Definition at line 143 of file AxisArp.hpp.

143 { tdata.range(63, 48) = swapWord(oper); }

◆ setArpProtocolLength()

void AxisArp::setArpProtocolLength ( ArpProtLen  plen)
inline

Definition at line 140 of file AxisArp.hpp.

140 { tdata.range(47, 40) = plen; }

◆ setArpProtocolType()

void AxisArp::setArpProtocolType ( ArpProtType  ptype)
inline

Definition at line 134 of file AxisArp.hpp.

134 { tdata.range(31, 16) = swapWord(ptype); }

◆ setArpSenderHwAddr()

void AxisArp::setArpSenderHwAddr ( ArpSendHwAddr  sha)
inline

Definition at line 146 of file AxisArp.hpp.

146 { tdata.range(47, 0) = swapMacAddr(sha);}

◆ setArpSenderProtAddrHi()

void AxisArp::setArpSenderProtAddrHi ( ArpSendProtAddr  spa)
inline

Definition at line 149 of file AxisArp.hpp.

149 { tdata.range(63, 48) = swapDWord(spa).range(15, 0); }

◆ setArpSenderProtAddrLo()

void AxisArp::setArpSenderProtAddrLo ( ArpSendProtAddr  spa)
inline

Definition at line 152 of file AxisArp.hpp.

152 { tdata.range(15, 0) = swapDWord(spa).range(31,16); }

◆ setArpTargetHwAddr()

void AxisArp::setArpTargetHwAddr ( ArpTargHwAddr  tha)
inline

Definition at line 155 of file AxisArp.hpp.

155 { tdata.range(63, 16) = swapMacAddr(tha);}

◆ setArpTargetProtAddr()

void AxisArp::setArpTargetProtAddr ( ArpTargProtAddr  tpa)
inline

Definition at line 158 of file AxisArp.hpp.

158 { tdata.range(31, 0) = swapDWord(tpa);}

The documentation for this class was generated from the following file: