gem5  v20.1.0.0
Functions
The inet API.

These methods relate to EthAddr, IpAddress, TCP, UDP interfaces. More...

Functions

int Net::EthAddr::size () const
 
std::string Net::EthAddr::string () const
 
 Net::EthAddr::operator uint64_t () const
 
const EthPtrNet::EthPtr::operator= (const EthPacketPtr &ptr)
 
uint32_t Net::IpAddress::ip () const
 
std::string Net::IpAddress::string () const
 
uint8_t Net::IpNetmask::netmask () const
 
uint8_t Net::IpWithPort::port () const
 
uint16_t Net::cksum (const IpPtr &ptr)
 
uint16_t Net::cksum (const TcpPtr &tcp)
 
 Net::UdpPtr::UdpPtr ()
 
int Net::hsplit (const EthPacketPtr &ptr)
 
std::ostream & Net::operator<< (std::ostream &stream, const EthAddr &ea)
 
bool Net::operator== (const EthAddr &left, const EthAddr &right)
 
std::ostream & Net::operator<< (std::ostream &stream, const IpAddress &ia)
 
bool Net::operator== (const IpAddress &left, const IpAddress &right)
 
std::ostream & Net::operator<< (std::ostream &stream, const IpNetmask &in)
 
bool Net::operator== (const IpNetmask &left, const IpNetmask &right)
 
std::ostream & Net::operator<< (std::ostream &stream, const IpWithPort &iwp)
 
bool Net::operator== (const IpWithPort &left, const IpWithPort &right)
 
uint16_t Net::__tu_cksum6 (const Ip6Ptr &ip6)
 
uint16_t Net::__tu_cksum (const IpPtr &ip)
 
uint16_t Net::cksum (const UdpPtr &udp)
 
 Net::EthAddr::EthAddr ()
 
 Net::EthAddr::EthAddr (const uint8_t ea[ETH_ADDR_LEN])
 
 Net::EthAddr::EthAddr (const eth_addr &ea)
 
 Net::EthAddr::EthAddr (const std::string &addr)
 
const EthAddrNet::EthAddr::operator= (const eth_addr &ea)
 
const EthAddrNet::EthAddr::operator= (const std::string &addr)
 
const uint8_t * Net::EthAddr::bytes () const
 
uint8_t * Net::EthAddr::bytes ()
 
const uint8_t * Net::EthAddr::addr () const
 
bool Net::EthAddr::unicast () const
 
bool Net::EthAddr::multicast () const
 
bool Net::EthAddr::broadcast () const
 
 Net::EthPtr::EthPtr ()
 
 Net::EthPtr::EthPtr (const EthPacketPtr &ptr)
 
const EthPacketPtr Net::EthPtr::packet () const
 
EthPacketPtr Net::EthPtr::packet ()
 
bool Net::EthPtr::operator! () const
 
 Net::EthPtr::operator bool () const
 
int Net::EthPtr::off () const
 
int Net::EthPtr::pstart () const
 
 Net::IpAddress::IpAddress ()
 
 Net::IpAddress::IpAddress (const uint32_t __ip)
 
 Net::IpPtr::IpPtr ()
 
 Net::IpPtr::IpPtr (const EthPacketPtr &ptr)
 
 Net::IpPtr::IpPtr (const EthPtr &ptr)
 
 Net::IpPtr::IpPtr (const IpPtr &ptr)
 
const IpHdrNet::IpPtr::get () const
 
const IpHdrNet::IpPtr::operator-> () const
 
const IpHdrNet::IpPtr::operator* () const
 
const EthPacketPtr Net::IpPtr::packet () const
 
EthPacketPtr Net::IpPtr::packet ()
 
bool Net::IpPtr::operator! () const
 
 Net::IpPtr::operator bool () const
 
int Net::IpPtr::off () const
 
int Net::IpPtr::pstart () const
 
 Net::Ip6Ptr::Ip6Ptr ()
 
 Net::Ip6Ptr::Ip6Ptr (const EthPacketPtr &ptr)
 
 Net::Ip6Ptr::Ip6Ptr (const EthPtr &ptr)
 
 Net::Ip6Ptr::Ip6Ptr (const Ip6Ptr &ptr)
 
const Ip6PtrNet::Ip6Ptr::operator= (const EthPacketPtr &ptr)
 
const Ip6PtrNet::Ip6Ptr::operator= (const EthPtr &ptr)
 
const Ip6PtrNet::Ip6Ptr::operator= (const Ip6Ptr &ptr)
 
const EthPacketPtr Net::Ip6Ptr::packet () const
 
EthPacketPtr Net::Ip6Ptr::packet ()
 
bool Net::Ip6Ptr::operator! () const
 
 Net::Ip6Ptr::operator bool () const
 
int Net::Ip6Ptr::off () const
 
int Net::Ip6Ptr::pstart () const
 
 Net::TcpPtr::TcpPtr ()
 
 Net::TcpPtr::TcpPtr (const IpPtr &ptr)
 
 Net::TcpPtr::TcpPtr (const Ip6Ptr &ptr)
 
 Net::TcpPtr::TcpPtr (const TcpPtr &ptr)
 
const TcpPtrNet::TcpPtr::operator= (const IpPtr &i)
 
const TcpPtrNet::TcpPtr::operator= (const TcpPtr &t)
 
const EthPacketPtr Net::TcpPtr::packet () const
 
EthPacketPtr Net::TcpPtr::packet ()
 
bool Net::TcpPtr::operator! () const
 
 Net::TcpPtr::operator bool () const
 
int Net::TcpPtr::off () const
 
int Net::TcpPtr::pstart () const
 
const UdpPtrNet::UdpPtr::operator= (const IpPtr &i)
 
const UdpPtrNet::UdpPtr::operator= (const UdpPtr &t)
 
const EthPacketPtr Net::UdpPtr::packet () const
 
EthPacketPtr Net::UdpPtr::packet ()
 
bool Net::UdpPtr::operator! () const
 
 Net::UdpPtr::operator bool () const
 
int Net::UdpPtr::off () const
 
int Net::UdpPtr::pstart () const
 

Detailed Description

These methods relate to EthAddr, IpAddress, TCP, UDP interfaces.

Function Documentation

◆ __tu_cksum()

uint16_t Net::__tu_cksum ( const IpPtr ip)

Definition at line 211 of file inet.cc.

References iGbReg::TxdOp::ip(), and RiscvISA::sum.

Referenced by Net::cksum().

◆ __tu_cksum6()

uint16_t Net::__tu_cksum6 ( const Ip6Ptr ip6)

Definition at line 221 of file inet.cc.

References MipsISA::ip6, and RiscvISA::sum.

Referenced by Net::cksum().

◆ addr()

const uint8_t* Net::EthAddr::addr ( ) const
inline

Definition at line 108 of file inet.hh.

References data.

◆ broadcast()

bool Net::EthAddr::broadcast ( ) const
inline

Definition at line 111 of file inet.hh.

References data, and ArmISA::i.

Referenced by Net::EthAddr::multicast(), EtherSwitch::Interface::recvPacket(), and NSGigE::rxFilter().

◆ bytes() [1/2]

uint8_t* Net::EthAddr::bytes ( )
inline

Definition at line 101 of file inet.hh.

References data.

◆ bytes() [2/2]

const uint8_t* Net::EthAddr::bytes ( ) const
inline

Definition at line 100 of file inet.hh.

References data.

Referenced by Net::operator==().

◆ cksum() [1/3]

uint16_t Net::cksum ( const IpPtr ptr)

◆ cksum() [2/3]

uint16_t Net::cksum ( const TcpPtr tcp)

Definition at line 231 of file inet.cc.

References Net::__tu_cksum(), Net::__tu_cksum6(), panic, and iGbReg::TxdOp::tcp().

◆ cksum() [3/3]

uint16_t Net::cksum ( const UdpPtr udp)

Definition at line 245 of file inet.cc.

References Net::__tu_cksum(), Net::__tu_cksum6(), Net::UdpPtr::packet(), and panic.

◆ EthAddr() [1/4]

Net::EthAddr::EthAddr ( )

Definition at line 56 of file inet.cc.

References data.

◆ EthAddr() [2/4]

Net::EthAddr::EthAddr ( const eth_addr &  ea)

Definition at line 67 of file inet.cc.

References data, ArmISA::ea, and ArmISA::i.

◆ EthAddr() [3/4]

Net::EthAddr::EthAddr ( const std::string &  addr)

Definition at line 73 of file inet.cc.

References addr.

◆ EthAddr() [4/4]

Net::EthAddr::EthAddr ( const uint8_t  ea[ETH_ADDR_LEN])

Definition at line 61 of file inet.cc.

References data, ArmISA::ea, and ArmISA::i.

◆ EthPtr() [1/2]

Net::EthPtr::EthPtr ( )
inline

Definition at line 198 of file inet.hh.

◆ EthPtr() [2/2]

Net::EthPtr::EthPtr ( const EthPacketPtr ptr)
inline

Definition at line 199 of file inet.hh.

◆ get()

const IpHdr* Net::IpPtr::get ( ) const
inline

Definition at line 393 of file inet.hh.

References Net::IpPtr::eth_hdr_vlan, and Net::IpPtr::p.

◆ hsplit()

int Net::hsplit ( const EthPacketPtr ptr)

◆ ip()

uint32_t Net::IpAddress::ip ( ) const
inline

Definition at line 250 of file inet.hh.

References Net::IpAddress::_ip.

Referenced by Net::operator==().

◆ Ip6Ptr() [1/4]

Net::Ip6Ptr::Ip6Ptr ( )
inline

Definition at line 508 of file inet.hh.

◆ Ip6Ptr() [2/4]

Net::Ip6Ptr::Ip6Ptr ( const EthPacketPtr ptr)
inline

Definition at line 509 of file inet.hh.

References Net::Ip6Ptr::set().

◆ Ip6Ptr() [3/4]

Net::Ip6Ptr::Ip6Ptr ( const EthPtr ptr)
inline

Definition at line 510 of file inet.hh.

References Net::EthPtr::p, and Net::Ip6Ptr::set().

◆ Ip6Ptr() [4/4]

Net::Ip6Ptr::Ip6Ptr ( const Ip6Ptr ptr)
inline

Definition at line 511 of file inet.hh.

◆ IpAddress() [1/2]

Net::IpAddress::IpAddress ( )
inline

Definition at line 241 of file inet.hh.

◆ IpAddress() [2/2]

Net::IpAddress::IpAddress ( const uint32_t  __ip)
inline

Definition at line 243 of file inet.hh.

◆ IpPtr() [1/4]

Net::IpPtr::IpPtr ( )
inline

Definition at line 378 of file inet.hh.

◆ IpPtr() [2/4]

Net::IpPtr::IpPtr ( const EthPacketPtr ptr)
inline

Definition at line 379 of file inet.hh.

References Net::IpPtr::set().

◆ IpPtr() [3/4]

Net::IpPtr::IpPtr ( const EthPtr ptr)
inline

Definition at line 380 of file inet.hh.

References Net::EthPtr::p, and Net::IpPtr::set().

◆ IpPtr() [4/4]

Net::IpPtr::IpPtr ( const IpPtr ptr)
inline

Definition at line 381 of file inet.hh.

◆ multicast()

bool Net::EthAddr::multicast ( ) const
inline

◆ netmask()

uint8_t Net::IpNetmask::netmask ( ) const
inline

Definition at line 281 of file inet.hh.

References Net::IpNetmask::_netmask.

Referenced by Net::operator==().

◆ off() [1/5]

int Net::EthPtr::off ( ) const
inline

Definition at line 223 of file inet.hh.

Referenced by Net::EthPtr::pstart().

◆ off() [2/5]

int Net::IpPtr::off ( ) const
inline

Definition at line 412 of file inet.hh.

References Net::IpPtr::eth_hdr_vlan.

Referenced by Net::IpPtr::pstart().

◆ off() [3/5]

int Net::Ip6Ptr::off ( ) const
inline

Definition at line 545 of file inet.hh.

References Net::Ip6Ptr::eth_hdr_vlan.

Referenced by Net::Ip6Ptr::pstart().

◆ off() [4/5]

int Net::TcpPtr::off ( ) const
inline

Definition at line 696 of file inet.hh.

References Net::TcpPtr::_off.

Referenced by Net::TcpPtr::pstart().

◆ off() [5/5]

int Net::UdpPtr::off ( ) const
inline

Definition at line 808 of file inet.hh.

References Net::UdpPtr::_off.

Referenced by Net::UdpPtr::pstart().

◆ operator bool() [1/5]

Net::EthPtr::operator bool ( ) const
inline

Definition at line 222 of file inet.hh.

References Net::EthPtr::p.

◆ operator bool() [2/5]

Net::IpPtr::operator bool ( ) const
inline

Definition at line 411 of file inet.hh.

References Net::IpPtr::p.

◆ operator bool() [3/5]

Net::Ip6Ptr::operator bool ( ) const
inline

Definition at line 544 of file inet.hh.

References Net::Ip6Ptr::p.

◆ operator bool() [4/5]

Net::TcpPtr::operator bool ( ) const
inline

Definition at line 695 of file inet.hh.

References Net::TcpPtr::p.

◆ operator bool() [5/5]

Net::UdpPtr::operator bool ( ) const
inline

Definition at line 807 of file inet.hh.

References Net::UdpPtr::p.

◆ operator uint64_t()

Net::EthAddr::operator uint64_t ( ) const
inline

Definition at line 130 of file inet.hh.

References data, and X86ISA::reg.

◆ operator!() [1/5]

bool Net::EthPtr::operator! ( ) const
inline

Definition at line 221 of file inet.hh.

References Net::EthPtr::p.

◆ operator!() [2/5]

bool Net::IpPtr::operator! ( ) const
inline

Definition at line 410 of file inet.hh.

References Net::IpPtr::p.

◆ operator!() [3/5]

bool Net::Ip6Ptr::operator! ( ) const
inline

Definition at line 543 of file inet.hh.

References Net::Ip6Ptr::p.

◆ operator!() [4/5]

bool Net::TcpPtr::operator! ( ) const
inline

Definition at line 694 of file inet.hh.

References Net::TcpPtr::p.

◆ operator!() [5/5]

bool Net::UdpPtr::operator! ( ) const
inline

Definition at line 806 of file inet.hh.

References Net::UdpPtr::p.

◆ operator*()

const IpHdr& Net::IpPtr::operator* ( ) const
inline

Definition at line 397 of file inet.hh.

References Net::IpPtr::get().

◆ operator->()

const IpHdr* Net::IpPtr::operator-> ( ) const
inline

Definition at line 396 of file inet.hh.

References Net::IpPtr::get().

◆ operator<<() [1/4]

std::ostream& Net::operator<< ( std::ostream &  stream,
const EthAddr ea 
)

◆ operator<<() [2/4]

std::ostream& Net::operator<< ( std::ostream &  stream,
const IpAddress ia 
)

◆ operator<<() [3/4]

std::ostream& Net::operator<< ( std::ostream &  stream,
const IpNetmask in 
)

◆ operator<<() [4/4]

std::ostream& Net::operator<< ( std::ostream &  stream,
const IpWithPort iwp 
)

◆ operator=() [1/10]

const EthAddr & Net::EthAddr::operator= ( const eth_addr &  ea)

Definition at line 79 of file inet.cc.

References data, and ArmISA::ea.

◆ operator=() [2/10]

const EthPtr& Net::EthPtr::operator= ( const EthPacketPtr ptr)
inline

Definition at line 213 of file inet.hh.

References Net::EthPtr::p.

◆ operator=() [3/10]

const Ip6Ptr& Net::Ip6Ptr::operator= ( const EthPacketPtr ptr)
inline

Definition at line 529 of file inet.hh.

References Net::Ip6Ptr::set().

◆ operator=() [4/10]

const Ip6Ptr& Net::Ip6Ptr::operator= ( const EthPtr ptr)
inline

Definition at line 531 of file inet.hh.

References Net::EthPtr::p, and Net::Ip6Ptr::set().

◆ operator=() [5/10]

const Ip6Ptr& Net::Ip6Ptr::operator= ( const Ip6Ptr ptr)
inline

Definition at line 533 of file inet.hh.

References Net::Ip6Ptr::p.

◆ operator=() [6/10]

const TcpPtr& Net::TcpPtr::operator= ( const IpPtr i)
inline

Definition at line 682 of file inet.hh.

References ArmISA::i, and Net::TcpPtr::set().

◆ operator=() [7/10]

const UdpPtr& Net::UdpPtr::operator= ( const IpPtr i)
inline

Definition at line 795 of file inet.hh.

References ArmISA::i, and Net::UdpPtr::set().

◆ operator=() [8/10]

const EthAddr & Net::EthAddr::operator= ( const std::string &  addr)

Definition at line 86 of file inet.cc.

References addr.

◆ operator=() [9/10]

const TcpPtr& Net::TcpPtr::operator= ( const TcpPtr t)
inline

Definition at line 684 of file inet.hh.

References Net::TcpPtr::set(), and ArmISA::t.

◆ operator=() [10/10]

const UdpPtr& Net::UdpPtr::operator= ( const UdpPtr t)
inline

Definition at line 796 of file inet.hh.

References Net::UdpPtr::set(), and ArmISA::t.

◆ operator==() [1/4]

bool Net::operator== ( const EthAddr left,
const EthAddr right 
)

Definition at line 123 of file inet.cc.

References Net::EthAddr::bytes().

◆ operator==() [2/4]

bool Net::operator== ( const IpAddress left,
const IpAddress right 
)

Definition at line 145 of file inet.cc.

References Net::IpAddress::ip().

◆ operator==() [3/4]

bool Net::operator== ( const IpNetmask left,
const IpNetmask right 
)

Definition at line 169 of file inet.cc.

References Net::IpAddress::ip(), and Net::IpNetmask::netmask().

◆ operator==() [4/4]

bool Net::operator== ( const IpWithPort left,
const IpWithPort right 
)

Definition at line 191 of file inet.cc.

References Net::IpAddress::ip(), and Net::IpWithPort::port().

◆ packet() [1/10]

EthPacketPtr Net::EthPtr::packet ( )
inline

Definition at line 220 of file inet.hh.

References Net::EthPtr::p.

◆ packet() [2/10]

EthPacketPtr Net::IpPtr::packet ( )
inline

Definition at line 409 of file inet.hh.

References Net::IpPtr::p.

◆ packet() [3/10]

EthPacketPtr Net::Ip6Ptr::packet ( )
inline

Definition at line 542 of file inet.hh.

References Net::Ip6Ptr::p.

◆ packet() [4/10]

EthPacketPtr Net::TcpPtr::packet ( )
inline

Definition at line 693 of file inet.hh.

References Net::TcpPtr::p.

◆ packet() [5/10]

EthPacketPtr Net::UdpPtr::packet ( )
inline

Definition at line 805 of file inet.hh.

References Net::UdpPtr::p.

◆ packet() [6/10]

const EthPacketPtr Net::EthPtr::packet ( ) const
inline

Definition at line 219 of file inet.hh.

References Net::EthPtr::p.

◆ packet() [7/10]

const EthPacketPtr Net::IpPtr::packet ( ) const
inline

Definition at line 408 of file inet.hh.

References Net::IpPtr::p.

◆ packet() [8/10]

const EthPacketPtr Net::Ip6Ptr::packet ( ) const
inline

Definition at line 541 of file inet.hh.

References Net::Ip6Ptr::p.

◆ packet() [9/10]

const EthPacketPtr Net::TcpPtr::packet ( ) const
inline

Definition at line 692 of file inet.hh.

References Net::TcpPtr::p.

◆ packet() [10/10]

const EthPacketPtr Net::UdpPtr::packet ( ) const
inline

Definition at line 804 of file inet.hh.

References Net::UdpPtr::p.

Referenced by Net::cksum().

◆ port()

uint8_t Net::IpWithPort::port ( ) const
inline

Definition at line 309 of file inet.hh.

References Net::IpWithPort::_port.

Referenced by Net::operator==().

◆ pstart() [1/5]

int Net::EthPtr::pstart ( ) const
inline

Definition at line 224 of file inet.hh.

References Net::EthPtr::off(), and Net::EthPtr::p.

◆ pstart() [2/5]

int Net::IpPtr::pstart ( ) const
inline

Definition at line 413 of file inet.hh.

References Net::IpPtr::get(), and Net::IpPtr::off().

Referenced by Net::TcpPtr::set(), and Net::UdpPtr::set().

◆ pstart() [3/5]

int Net::Ip6Ptr::pstart ( ) const
inline

Definition at line 546 of file inet.hh.

References Net::Ip6Ptr::get(), Net::Ip6Ptr::off(), and Net::Ip6Hdr::size().

Referenced by Net::TcpPtr::set(), and Net::UdpPtr::set().

◆ pstart() [4/5]

int Net::TcpPtr::pstart ( ) const
inline

Definition at line 697 of file inet.hh.

References Net::TcpPtr::get(), Net::TcpPtr::off(), and Net::TcpHdr::size().

◆ pstart() [5/5]

int Net::UdpPtr::pstart ( ) const
inline

Definition at line 809 of file inet.hh.

References Net::UdpPtr::get(), Net::UdpPtr::off(), and Net::UdpHdr::size().

Referenced by Net::hsplit().

◆ size()

int Net::EthAddr::size ( ) const
inline

Definition at line 93 of file inet.hh.

◆ string() [1/2]

string Net::EthAddr::string ( ) const

Definition at line 115 of file inet.cc.

◆ string() [2/2]

string Net::IpAddress::string ( ) const

Definition at line 137 of file inet.cc.

◆ TcpPtr() [1/4]

Net::TcpPtr::TcpPtr ( )
inline

Definition at line 664 of file inet.hh.

◆ TcpPtr() [2/4]

Net::TcpPtr::TcpPtr ( const Ip6Ptr ptr)
inline

Definition at line 666 of file inet.hh.

References Net::TcpPtr::set().

◆ TcpPtr() [3/4]

Net::TcpPtr::TcpPtr ( const IpPtr ptr)
inline

Definition at line 665 of file inet.hh.

References Net::TcpPtr::set().

◆ TcpPtr() [4/4]

Net::TcpPtr::TcpPtr ( const TcpPtr ptr)
inline

Definition at line 667 of file inet.hh.

◆ UdpPtr()

Net::UdpPtr::UdpPtr ( )
inline

Definition at line 777 of file inet.hh.

◆ unicast()

bool Net::EthAddr::unicast ( ) const
inline

Definition at line 109 of file inet.hh.

References data.

Referenced by Net::EthAddr::multicast(), and NSGigE::rxFilter().


Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17