gem5  v22.1.0.0
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 ()
 
 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 ()
 
 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 ()
 
 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 ()
 
 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 ()
 
 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 ()
 
 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 216 of file inet.cc.

References gem5::igbreg::txd_op::ip(), and gem5::RiscvISA::sum.

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

◆ __tu_cksum6()

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

Definition at line 226 of file inet.cc.

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

Referenced by 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 107 of file inet.hh.

References data.

◆ bytes() [2/2]

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

Definition at line 106 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)

◆ cksum() [3/3]

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

◆ EthAddr() [1/4]

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

Definition at line 61 of file inet.cc.

References data.

◆ EthAddr() [2/4]

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

Definition at line 72 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 66 of file inet.cc.

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

◆ EthPtr() [1/2]

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

Definition at line 204 of file inet.hh.

◆ EthPtr() [2/2]

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

Definition at line 205 of file inet.hh.

◆ get()

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

Definition at line 399 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

Definition at line 256 of file inet.hh.

References gem5::networking::IpAddress::_ip.

Referenced by gem5::networking::operator==().

◆ Ip6Ptr() [1/4]

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

Definition at line 514 of file inet.hh.

◆ Ip6Ptr() [2/4]

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

Definition at line 515 of file inet.hh.

References gem5::networking::Ip6Ptr::set().

◆ Ip6Ptr() [3/4]

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

Definition at line 516 of file inet.hh.

References gem5::networking::EthPtr::p, and gem5::networking::Ip6Ptr::set().

◆ Ip6Ptr() [4/4]

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

Definition at line 517 of file inet.hh.

◆ IpAddress() [1/2]

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

Definition at line 247 of file inet.hh.

◆ IpAddress() [2/2]

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

Definition at line 249 of file inet.hh.

◆ IpPtr() [1/4]

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

Definition at line 384 of file inet.hh.

◆ IpPtr() [2/4]

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

Definition at line 385 of file inet.hh.

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

◆ IpPtr() [3/4]

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

Definition at line 386 of file inet.hh.

References gem5::networking::EthPtr::p, and gem5::networking::IpPtr::set().

◆ IpPtr() [4/4]

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

Definition at line 387 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 229 of file inet.hh.

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

◆ off() [2/5]

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

Definition at line 418 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 551 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 705 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 817 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 228 of file inet.hh.

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

◆ operator bool() [2/5]

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

Definition at line 417 of file inet.hh.

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

◆ operator bool() [3/5]

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

Definition at line 550 of file inet.hh.

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

◆ operator bool() [4/5]

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

Definition at line 704 of file inet.hh.

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

◆ operator bool() [5/5]

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

Definition at line 816 of file inet.hh.

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

◆ operator uint64_t()

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

Definition at line 136 of file inet.hh.

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

◆ operator!() [1/5]

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

Definition at line 227 of file inet.hh.

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

◆ operator!() [2/5]

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

Definition at line 416 of file inet.hh.

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

◆ operator!() [3/5]

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

Definition at line 549 of file inet.hh.

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

◆ operator!() [4/5]

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

Definition at line 703 of file inet.hh.

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

◆ operator!() [5/5]

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

Definition at line 815 of file inet.hh.

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

◆ operator*()

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

Definition at line 403 of file inet.hh.

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

◆ operator->()

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

Definition at line 402 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 133 of file inet.cc.

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

◆ operator<<() [2/4]

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

Definition at line 155 of file inet.cc.

References gem5::ccprintf(), gem5::MipsISA::ia, and gem5::igbreg::txd_op::ip().

◆ operator<<() [3/4]

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

Definition at line 180 of file inet.cc.

References gem5::ccprintf(), and gem5::networking::IpNetmask::netmask().

◆ operator<<() [4/4]

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

Definition at line 201 of file inet.cc.

References gem5::ccprintf(), and gem5::networking::IpWithPort::port().

◆ operator=() [1/10]

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

Definition at line 84 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 219 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 535 of file inet.hh.

References gem5::networking::Ip6Ptr::set().

◆ operator=() [4/10]

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

Definition at line 537 of file inet.hh.

References gem5::networking::EthPtr::p, and gem5::networking::Ip6Ptr::set().

◆ operator=() [5/10]

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

Definition at line 539 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 691 of file inet.hh.

References gem5::ArmISA::i, and gem5::networking::TcpPtr::set().

◆ operator=() [7/10]

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

Definition at line 804 of file inet.hh.

References gem5::ArmISA::i, and gem5::networking::UdpPtr::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 693 of file inet.hh.

References gem5::networking::TcpPtr::set(), and gem5::VegaISA::t.

◆ operator=() [10/10]

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

Definition at line 805 of file inet.hh.

References gem5::networking::UdpPtr::set(), and gem5::VegaISA::t.

◆ operator==() [1/4]

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

Definition at line 128 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 150 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 226 of file inet.hh.

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

◆ packet() [2/10]

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

Definition at line 415 of file inet.hh.

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

◆ packet() [3/10]

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

Definition at line 548 of file inet.hh.

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

◆ packet() [4/10]

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

Definition at line 702 of file inet.hh.

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

◆ packet() [5/10]

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

Definition at line 814 of file inet.hh.

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

◆ packet() [6/10]

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

Definition at line 225 of file inet.hh.

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

◆ packet() [7/10]

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

Definition at line 414 of file inet.hh.

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

◆ packet() [8/10]

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

Definition at line 547 of file inet.hh.

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

◆ packet() [9/10]

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

Definition at line 701 of file inet.hh.

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

◆ packet() [10/10]

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

Definition at line 813 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 230 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 99 of file inet.hh.

◆ string() [1/2]

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

Definition at line 120 of file inet.cc.

◆ string() [2/2]

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

Definition at line 142 of file inet.cc.

◆ TcpPtr() [1/4]

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

Definition at line 673 of file inet.hh.

◆ TcpPtr() [2/4]

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

Definition at line 675 of file inet.hh.

References gem5::networking::TcpPtr::set().

◆ TcpPtr() [3/4]

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

Definition at line 674 of file inet.hh.

References gem5::networking::TcpPtr::set().

◆ TcpPtr() [4/4]

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

Definition at line 676 of file inet.hh.

◆ UdpPtr()

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

Definition at line 786 of file inet.hh.

◆ unicast()

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

Definition at line 115 of file inet.hh.

References data.

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


Generated on Wed Dec 21 2022 10:23:05 for gem5 by doxygen 1.9.1