gem5 v24.1.0.1
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 gem5::networking::EthAddr::size () const
 
std::string gem5::networking::EthAddr::string () const
 
 gem5::networking::EthAddr::operator uint64_t () const
 
const EthPtrgem5::networking::EthPtr::operator= (const EthPacketPtr &ptr)
 
uint32_t gem5::networking::IpAddress::ip () const
 
std::string gem5::networking::IpAddress::string () const
 
uint8_t gem5::networking::IpNetmask::netmask () const
 
uint8_t gem5::networking::IpWithPort::port () const
 
uint16_t gem5::networking::cksum (const IpPtr &ptr)
 
uint16_t gem5::networking::cksum (const TcpPtr &ptr)
 
 gem5::networking::UdpPtr::UdpPtr ()
 
int gem5::networking::hsplit (const EthPacketPtr &ptr)
 
 gem5::networking::EthAddr::EthAddr (const uint8_t ea[ETH_ADDR_LEN])
 
 gem5::networking::EthAddr::EthAddr (const eth_addr &ea)
 
 gem5::networking::EthAddr::EthAddr (const std::string &addr)
 
const EthAddrgem5::networking::EthAddr::operator= (const eth_addr &ea)
 
const EthAddrgem5::networking::EthAddr::operator= (const std::string &addr)
 
const uint8_t * gem5::networking::EthAddr::bytes () const
 
uint8_t * gem5::networking::EthAddr::bytes ()
 
const uint8_t * gem5::networking::EthAddr::addr () const
 
bool gem5::networking::EthAddr::unicast () const
 
bool gem5::networking::EthAddr::multicast () const
 
bool gem5::networking::EthAddr::broadcast () const
 
std::ostream & gem5::networking::operator<< (std::ostream &stream, const EthAddr &ea)
 
bool gem5::networking::operator== (const EthAddr &left, const EthAddr &right)
 
 gem5::networking::EthPtr::EthPtr (const EthPacketPtr &ptr)
 
const EthPacketPtr gem5::networking::EthPtr::packet () const
 
EthPacketPtr gem5::networking::EthPtr::packet ()
 
bool gem5::networking::EthPtr::operator! () const
 
 gem5::networking::EthPtr::operator bool () const
 
int gem5::networking::EthPtr::off () const
 
int gem5::networking::EthPtr::pstart () const
 
 gem5::networking::IpAddress::IpAddress (const uint32_t __ip)
 
std::ostream & gem5::networking::operator<< (std::ostream &stream, const IpAddress &ia)
 
bool gem5::networking::operator== (const IpAddress &left, const IpAddress &right)
 
std::ostream & gem5::networking::operator<< (std::ostream &stream, const IpNetmask &in)
 
bool gem5::networking::operator== (const IpNetmask &left, const IpNetmask &right)
 
std::ostream & gem5::networking::operator<< (std::ostream &stream, const IpWithPort &iwp)
 
bool gem5::networking::operator== (const IpWithPort &left, const IpWithPort &right)
 
 gem5::networking::IpPtr::IpPtr (const EthPacketPtr &ptr)
 
 gem5::networking::IpPtr::IpPtr (const EthPtr &ptr)
 
 gem5::networking::IpPtr::IpPtr (const IpPtr &ptr)
 
const IpHdrgem5::networking::IpPtr::get () const
 
const IpHdrgem5::networking::IpPtr::operator-> () const
 
const IpHdrgem5::networking::IpPtr::operator* () const
 
const EthPacketPtr gem5::networking::IpPtr::packet () const
 
EthPacketPtr gem5::networking::IpPtr::packet ()
 
bool gem5::networking::IpPtr::operator! () const
 
 gem5::networking::IpPtr::operator bool () const
 
int gem5::networking::IpPtr::off () const
 
int gem5::networking::IpPtr::pstart () const
 
 gem5::networking::Ip6Ptr::Ip6Ptr (const EthPacketPtr &ptr)
 
 gem5::networking::Ip6Ptr::Ip6Ptr (const EthPtr &ptr)
 
 gem5::networking::Ip6Ptr::Ip6Ptr (const Ip6Ptr &ptr)
 
const Ip6Ptrgem5::networking::Ip6Ptr::operator= (const EthPacketPtr &ptr)
 
const Ip6Ptrgem5::networking::Ip6Ptr::operator= (const EthPtr &ptr)
 
const Ip6Ptrgem5::networking::Ip6Ptr::operator= (const Ip6Ptr &ptr)
 
const EthPacketPtr gem5::networking::Ip6Ptr::packet () const
 
EthPacketPtr gem5::networking::Ip6Ptr::packet ()
 
bool gem5::networking::Ip6Ptr::operator! () const
 
 gem5::networking::Ip6Ptr::operator bool () const
 
int gem5::networking::Ip6Ptr::off () const
 
int gem5::networking::Ip6Ptr::pstart () const
 
 gem5::networking::TcpPtr::TcpPtr (const IpPtr &ptr)
 
 gem5::networking::TcpPtr::TcpPtr (const Ip6Ptr &ptr)
 
 gem5::networking::TcpPtr::TcpPtr (const TcpPtr &ptr)
 
const TcpPtrgem5::networking::TcpPtr::operator= (const IpPtr &i)
 
const TcpPtrgem5::networking::TcpPtr::operator= (const TcpPtr &t)
 
const EthPacketPtr gem5::networking::TcpPtr::packet () const
 
EthPacketPtr gem5::networking::TcpPtr::packet ()
 
bool gem5::networking::TcpPtr::operator! () const
 
 gem5::networking::TcpPtr::operator bool () const
 
int gem5::networking::TcpPtr::off () const
 
int gem5::networking::TcpPtr::pstart () const
 
const UdpPtrgem5::networking::UdpPtr::operator= (const IpPtr &i)
 
const UdpPtrgem5::networking::UdpPtr::operator= (const UdpPtr &t)
 
const EthPacketPtr gem5::networking::UdpPtr::packet () const
 
EthPacketPtr gem5::networking::UdpPtr::packet ()
 
bool gem5::networking::UdpPtr::operator! () const
 
 gem5::networking::UdpPtr::operator bool () const
 
int gem5::networking::UdpPtr::off () const
 
int gem5::networking::UdpPtr::pstart () const
 
uint16_t gem5::networking::__tu_cksum6 (const Ip6Ptr &ip6)
 
uint16_t gem5::networking::__tu_cksum (const IpPtr &ip)
 
uint16_t gem5::networking::cksum (const UdpPtr &udp)
 

Detailed Description

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

Function Documentation

◆ __tu_cksum()

uint16_t gem5::networking::__tu_cksum ( const IpPtr ip)

Definition at line 215 of file inet.cc.

References gem5::RiscvISA::sum.

Referenced by gem5::networking::cksum(), and gem5::networking::cksum().

◆ __tu_cksum6()

uint16_t gem5::networking::__tu_cksum6 ( const Ip6Ptr ip6)

Definition at line 225 of file inet.cc.

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

Referenced by gem5::networking::cksum(), and gem5::networking::cksum().

◆ addr()

const uint8_t * gem5::networking::EthAddr::addr ( ) const
inline

◆ broadcast()

bool gem5::networking::EthAddr::broadcast ( ) const
inline

◆ bytes() [1/2]

uint8_t * gem5::networking::EthAddr::bytes ( )
inline

Definition at line 106 of file inet.hh.

References data.

◆ bytes() [2/2]

const uint8_t * gem5::networking::EthAddr::bytes ( ) const
inline

Definition at line 105 of file inet.hh.

References data.

Referenced by gem5::networking::operator==(), and gem5::networking::EthAddr::parse().

◆ cksum() [1/3]

uint16_t gem5::networking::cksum ( const IpPtr ptr)

◆ cksum() [2/3]

uint16_t gem5::networking::cksum ( const TcpPtr tcp)

Definition at line 235 of file inet.cc.

References gem5::networking::__tu_cksum(), gem5::networking::__tu_cksum6(), and panic.

◆ cksum() [3/3]

uint16_t gem5::networking::cksum ( const UdpPtr udp)

◆ EthAddr() [1/4]

gem5::networking::EthAddr::EthAddr ( )

Definition at line 60 of file inet.cc.

References data.

◆ EthAddr() [2/4]

gem5::networking::EthAddr::EthAddr ( const eth_addr &  ea)

Definition at line 71 of file inet.cc.

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

◆ EthAddr() [3/4]

gem5::networking::EthAddr::EthAddr ( const std::string &  addr)

◆ EthAddr() [4/4]

gem5::networking::EthAddr::EthAddr ( const uint8_t  ea[ETH_ADDR_LEN])

Definition at line 65 of file inet.cc.

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

◆ EthPtr() [1/2]

gem5::networking::EthPtr::EthPtr ( )
inline

Definition at line 203 of file inet.hh.

◆ EthPtr() [2/2]

gem5::networking::EthPtr::EthPtr ( const EthPacketPtr ptr)
inline

Definition at line 204 of file inet.hh.

◆ get()

const IpHdr * gem5::networking::IpPtr::get ( ) const
inline

Definition at line 398 of file inet.hh.

References gem5::networking::IpPtr::eth_hdr_vlan, and gem5::networking::IpPtr::p.

◆ hsplit()

int gem5::networking::hsplit ( const EthPacketPtr ptr)

◆ ip()

uint32_t gem5::networking::IpAddress::ip ( ) const
inline

◆ Ip6Ptr() [1/4]

gem5::networking::Ip6Ptr::Ip6Ptr ( )
inline

Definition at line 513 of file inet.hh.

◆ Ip6Ptr() [2/4]

gem5::networking::Ip6Ptr::Ip6Ptr ( const EthPacketPtr ptr)
inline

Definition at line 514 of file inet.hh.

References gem5::ArmISA::set.

◆ Ip6Ptr() [3/4]

gem5::networking::Ip6Ptr::Ip6Ptr ( const EthPtr ptr)
inline

Definition at line 515 of file inet.hh.

References gem5::networking::EthPtr::p, and gem5::ArmISA::set.

◆ Ip6Ptr() [4/4]

gem5::networking::Ip6Ptr::Ip6Ptr ( const Ip6Ptr ptr)
inline

Definition at line 516 of file inet.hh.

◆ IpAddress() [1/2]

gem5::networking::IpAddress::IpAddress ( )
inline

Definition at line 246 of file inet.hh.

◆ IpAddress() [2/2]

gem5::networking::IpAddress::IpAddress ( const uint32_t  __ip)
inline

Definition at line 248 of file inet.hh.

◆ IpPtr() [1/4]

gem5::networking::IpPtr::IpPtr ( )
inline

Definition at line 383 of file inet.hh.

◆ IpPtr() [2/4]

gem5::networking::IpPtr::IpPtr ( const EthPacketPtr ptr)
inline

Definition at line 384 of file inet.hh.

References gem5::ArmISA::set.

◆ IpPtr() [3/4]

gem5::networking::IpPtr::IpPtr ( const EthPtr ptr)
inline

Definition at line 385 of file inet.hh.

References gem5::networking::EthPtr::p, and gem5::ArmISA::set.

◆ IpPtr() [4/4]

gem5::networking::IpPtr::IpPtr ( const IpPtr ptr)
inline

Definition at line 386 of file inet.hh.

◆ multicast()

bool gem5::networking::EthAddr::multicast ( ) const
inline

◆ netmask()

uint8_t gem5::networking::IpNetmask::netmask ( ) const
inline

◆ off() [1/5]

int gem5::networking::EthPtr::off ( ) const
inline

Definition at line 228 of file inet.hh.

Referenced by gem5::networking::EthPtr::pstart().

◆ off() [2/5]

int gem5::networking::IpPtr::off ( ) const
inline

Definition at line 417 of file inet.hh.

References gem5::networking::IpPtr::eth_hdr_vlan.

Referenced by gem5::networking::IpPtr::pstart().

◆ off() [3/5]

int gem5::networking::Ip6Ptr::off ( ) const
inline

Definition at line 550 of file inet.hh.

References gem5::networking::Ip6Ptr::eth_hdr_vlan.

Referenced by gem5::networking::Ip6Ptr::pstart().

◆ off() [4/5]

int gem5::networking::TcpPtr::off ( ) const
inline

Definition at line 704 of file inet.hh.

References gem5::networking::TcpPtr::_off.

Referenced by gem5::networking::TcpPtr::pstart().

◆ off() [5/5]

int gem5::networking::UdpPtr::off ( ) const
inline

Definition at line 816 of file inet.hh.

References gem5::networking::UdpPtr::_off.

Referenced by gem5::networking::UdpPtr::pstart().

◆ operator bool() [1/5]

gem5::networking::EthPtr::operator bool ( ) const
inline

Definition at line 227 of file inet.hh.

References gem5::networking::EthPtr::p.

◆ operator bool() [2/5]

gem5::networking::IpPtr::operator bool ( ) const
inline

Definition at line 416 of file inet.hh.

References gem5::networking::IpPtr::p.

◆ operator bool() [3/5]

gem5::networking::Ip6Ptr::operator bool ( ) const
inline

Definition at line 549 of file inet.hh.

References gem5::networking::Ip6Ptr::p.

◆ operator bool() [4/5]

gem5::networking::TcpPtr::operator bool ( ) const
inline

Definition at line 703 of file inet.hh.

References gem5::networking::TcpPtr::p.

◆ operator bool() [5/5]

gem5::networking::UdpPtr::operator bool ( ) const
inline

Definition at line 815 of file inet.hh.

References gem5::networking::UdpPtr::p.

◆ operator uint64_t()

gem5::networking::EthAddr::operator uint64_t ( ) const
inline

Definition at line 135 of file inet.hh.

References data, and gem5::X86ISA::reg.

◆ operator!() [1/5]

bool gem5::networking::EthPtr::operator! ( ) const
inline

Definition at line 226 of file inet.hh.

References gem5::networking::EthPtr::p.

◆ operator!() [2/5]

bool gem5::networking::IpPtr::operator! ( ) const
inline

Definition at line 415 of file inet.hh.

References gem5::networking::IpPtr::p.

◆ operator!() [3/5]

bool gem5::networking::Ip6Ptr::operator! ( ) const
inline

Definition at line 548 of file inet.hh.

References gem5::networking::Ip6Ptr::p.

◆ operator!() [4/5]

bool gem5::networking::TcpPtr::operator! ( ) const
inline

Definition at line 702 of file inet.hh.

References gem5::networking::TcpPtr::p.

◆ operator!() [5/5]

bool gem5::networking::UdpPtr::operator! ( ) const
inline

Definition at line 814 of file inet.hh.

References gem5::networking::UdpPtr::p.

◆ operator*()

const IpHdr & gem5::networking::IpPtr::operator* ( ) const
inline

Definition at line 402 of file inet.hh.

References gem5::networking::IpPtr::get().

◆ operator->()

const IpHdr * gem5::networking::IpPtr::operator-> ( ) const
inline

Definition at line 401 of file inet.hh.

References gem5::networking::IpPtr::get().

◆ operator<<() [1/4]

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

Definition at line 132 of file inet.cc.

References gem5::ArmISA::a, gem5::ccprintf(), gem5::ArmISA::ea, and gem5::operator<<().

◆ operator<<() [2/4]

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

Definition at line 154 of file inet.cc.

References gem5::ccprintf(), gem5::MipsISA::ia, and gem5::operator<<().

◆ operator<<() [3/4]

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

◆ operator<<() [4/4]

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

◆ operator=() [1/10]

const EthAddr & gem5::networking::EthAddr::operator= ( const eth_addr &  ea)

Definition at line 83 of file inet.cc.

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

◆ operator=() [2/10]

const EthPtr & gem5::networking::EthPtr::operator= ( const EthPacketPtr ptr)
inline

Definition at line 218 of file inet.hh.

References gem5::networking::EthPtr::p.

◆ operator=() [3/10]

const Ip6Ptr & gem5::networking::Ip6Ptr::operator= ( const EthPacketPtr ptr)
inline

Definition at line 534 of file inet.hh.

References gem5::ArmISA::set.

◆ operator=() [4/10]

const Ip6Ptr & gem5::networking::Ip6Ptr::operator= ( const EthPtr ptr)
inline

Definition at line 536 of file inet.hh.

References gem5::networking::EthPtr::p, and gem5::ArmISA::set.

◆ operator=() [5/10]

const Ip6Ptr & gem5::networking::Ip6Ptr::operator= ( const Ip6Ptr ptr)
inline

Definition at line 538 of file inet.hh.

References gem5::networking::Ip6Ptr::p.

◆ operator=() [6/10]

const TcpPtr & gem5::networking::TcpPtr::operator= ( const IpPtr i)
inline

Definition at line 690 of file inet.hh.

References gem5::ArmISA::i, and gem5::ArmISA::set.

◆ operator=() [7/10]

const UdpPtr & gem5::networking::UdpPtr::operator= ( const IpPtr i)
inline

Definition at line 803 of file inet.hh.

References gem5::ArmISA::i, and gem5::ArmISA::set.

◆ operator=() [8/10]

const EthAddr & gem5::networking::EthAddr::operator= ( const std::string &  addr)

◆ operator=() [9/10]

const TcpPtr & gem5::networking::TcpPtr::operator= ( const TcpPtr t)
inline

Definition at line 692 of file inet.hh.

References gem5::ArmISA::set, and gem5::ArmISA::t.

◆ operator=() [10/10]

const UdpPtr & gem5::networking::UdpPtr::operator= ( const UdpPtr t)
inline

Definition at line 804 of file inet.hh.

References gem5::ArmISA::set, and gem5::ArmISA::t.

◆ operator==() [1/4]

bool gem5::networking::operator== ( const EthAddr left,
const EthAddr right 
)

Definition at line 127 of file inet.cc.

References gem5::networking::EthAddr::bytes().

◆ operator==() [2/4]

bool gem5::networking::operator== ( const IpAddress left,
const IpAddress right 
)

Definition at line 149 of file inet.cc.

References gem5::networking::IpAddress::ip().

◆ operator==() [3/4]

bool gem5::networking::operator== ( const IpNetmask left,
const IpNetmask right 
)

◆ operator==() [4/4]

bool gem5::networking::operator== ( const IpWithPort left,
const IpWithPort right 
)

◆ packet() [1/10]

EthPacketPtr gem5::networking::EthPtr::packet ( )
inline

Definition at line 225 of file inet.hh.

References gem5::networking::EthPtr::p.

◆ packet() [2/10]

EthPacketPtr gem5::networking::IpPtr::packet ( )
inline

Definition at line 414 of file inet.hh.

References gem5::networking::IpPtr::p.

◆ packet() [3/10]

EthPacketPtr gem5::networking::Ip6Ptr::packet ( )
inline

Definition at line 547 of file inet.hh.

References gem5::networking::Ip6Ptr::p.

◆ packet() [4/10]

EthPacketPtr gem5::networking::TcpPtr::packet ( )
inline

Definition at line 701 of file inet.hh.

References gem5::networking::TcpPtr::p.

◆ packet() [5/10]

EthPacketPtr gem5::networking::UdpPtr::packet ( )
inline

Definition at line 813 of file inet.hh.

References gem5::networking::UdpPtr::p.

◆ packet() [6/10]

const EthPacketPtr gem5::networking::EthPtr::packet ( ) const
inline

Definition at line 224 of file inet.hh.

References gem5::networking::EthPtr::p.

◆ packet() [7/10]

const EthPacketPtr gem5::networking::IpPtr::packet ( ) const
inline

Definition at line 413 of file inet.hh.

References gem5::networking::IpPtr::p.

◆ packet() [8/10]

const EthPacketPtr gem5::networking::Ip6Ptr::packet ( ) const
inline

Definition at line 546 of file inet.hh.

References gem5::networking::Ip6Ptr::p.

◆ packet() [9/10]

const EthPacketPtr gem5::networking::TcpPtr::packet ( ) const
inline

Definition at line 700 of file inet.hh.

References gem5::networking::TcpPtr::p.

◆ packet() [10/10]

const EthPacketPtr gem5::networking::UdpPtr::packet ( ) const
inline

Definition at line 812 of file inet.hh.

References gem5::networking::UdpPtr::p.

Referenced by gem5::networking::cksum().

◆ port()

uint8_t gem5::networking::IpWithPort::port ( ) const
inline

◆ pstart() [1/5]

int gem5::networking::EthPtr::pstart ( ) const
inline

Definition at line 229 of file inet.hh.

References gem5::networking::EthPtr::off(), and gem5::networking::EthPtr::p.

◆ pstart() [2/5]

int gem5::networking::IpPtr::pstart ( ) const
inline

◆ pstart() [3/5]

int gem5::networking::Ip6Ptr::pstart ( ) const
inline

◆ pstart() [4/5]

int gem5::networking::TcpPtr::pstart ( ) const
inline

◆ pstart() [5/5]

int gem5::networking::UdpPtr::pstart ( ) const
inline

◆ size()

int gem5::networking::EthAddr::size ( ) const
inline

Definition at line 98 of file inet.hh.

◆ string() [1/2]

std::string gem5::networking::EthAddr::string ( ) const

Definition at line 119 of file inet.cc.

◆ string() [2/2]

std::string gem5::networking::IpAddress::string ( ) const

Definition at line 141 of file inet.cc.

◆ TcpPtr() [1/4]

gem5::networking::TcpPtr::TcpPtr ( )
inline

Definition at line 672 of file inet.hh.

◆ TcpPtr() [2/4]

gem5::networking::TcpPtr::TcpPtr ( const Ip6Ptr ptr)
inline

Definition at line 674 of file inet.hh.

References gem5::ArmISA::set.

◆ TcpPtr() [3/4]

gem5::networking::TcpPtr::TcpPtr ( const IpPtr ptr)
inline

Definition at line 673 of file inet.hh.

References gem5::ArmISA::set.

◆ TcpPtr() [4/4]

gem5::networking::TcpPtr::TcpPtr ( const TcpPtr ptr)
inline

Definition at line 675 of file inet.hh.

◆ UdpPtr()

gem5::networking::UdpPtr::UdpPtr ( )
inline

Definition at line 785 of file inet.hh.

◆ unicast()

bool gem5::networking::EthAddr::unicast ( ) const
inline

Definition at line 114 of file inet.hh.

References data.

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


Generated on Mon Jan 13 2025 04:28:47 for gem5 by doxygen 1.9.8