gem5  v20.1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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