gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::EtherLink::Interface Class Reference

#include <etherlink.hh>

Inheritance diagram for gem5::EtherLink::Interface:
gem5::EtherInt gem5::Port

Public Member Functions

 Interface (const std::string &name, Link *txlink, Link *rxlink)
bool recvPacket (EthPacketPtr packet)
void sendDone ()
bool isBusy ()
Public Member Functions inherited from gem5::EtherInt
 EtherInt (const std::string &name, int idx=InvalidPortID)
virtual ~EtherInt ()
const std::string & name () const
 Return port name (for DPRINTF).
void bind (Port &peer) override
 Attach to a peer port.
void unbind () override
 Dettach from a peer port.
void setPeer (EtherInt *p)
EtherIntgetPeer ()
void recvDone ()
bool sendPacket (EthPacketPtr packet)
bool askBusy ()
Public Member Functions inherited from gem5::Port
virtual ~Port ()
 Virtual destructor due to inheritance.
PortgetPeer ()
 Return a reference to this port's peer.
const std::string name () const
 Return port name (for DPRINTF).
PortID getId () const
 Get the port id.
bool isConnected () const
 Is this port currently connected to a peer?
void takeOverFrom (Port *old)
 A utility function to make it easier to swap out ports.

Private Attributes

Linktxlink

Additional Inherited Members

Protected Member Functions inherited from gem5::Port
void reportUnbound () const
 Port (const std::string &_name, PortID _id)
 Abstract base class for ports.
Protected Attributes inherited from gem5::EtherInt
std::string portName
EtherIntpeer
Protected Attributes inherited from gem5::Port
const PortID id
 A numeric identifier to distinguish ports in a vector, and set to InvalidPortID in case this port is not part of a vector.
Port_peer
 A pointer to this port's peer.
bool _connected
 Whether this port is currently connected to a peer port.

Detailed Description

Definition at line 133 of file etherlink.hh.

Constructor & Destructor Documentation

◆ Interface()

gem5::EtherLink::Interface::Interface ( const std::string & name,
Link * txlink,
Link * rxlink )

Member Function Documentation

◆ isBusy()

bool gem5::EtherLink::Interface::isBusy ( )
inlinevirtual

Reimplemented from gem5::EtherInt.

Definition at line 142 of file etherlink.hh.

References txlink.

◆ recvPacket()

bool gem5::EtherLink::Interface::recvPacket ( EthPacketPtr packet)
inlinevirtual

Implements gem5::EtherInt.

Definition at line 140 of file etherlink.hh.

References txlink.

◆ sendDone()

void gem5::EtherLink::Interface::sendDone ( )
inlinevirtual

Implements gem5::EtherInt.

Definition at line 141 of file etherlink.hh.

References gem5::EtherInt::peer.

Member Data Documentation

◆ txlink

Link* gem5::EtherLink::Interface::txlink
private

Definition at line 136 of file etherlink.hh.

Referenced by Interface(), isBusy(), and recvPacket().


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

Generated on Sat Oct 18 2025 08:06:50 for gem5 by doxygen 1.14.0