gem5
v20.1.0.0
|
#include <etherint.hh>
Public Member Functions | |
EtherInt (const std::string &name, int idx=InvalidPortID) | |
virtual | ~EtherInt () |
const std::string & | name () const |
Return port name (for DPRINTF). More... | |
void | bind (Port &peer) override |
Attach to a peer port. More... | |
void | unbind () override |
Dettach from a peer port. More... | |
void | setPeer (EtherInt *p) |
EtherInt * | getPeer () |
void | recvDone () |
virtual void | sendDone ()=0 |
bool | sendPacket (EthPacketPtr packet) |
virtual bool | recvPacket (EthPacketPtr packet)=0 |
bool | askBusy () |
virtual bool | isBusy () |
Public Member Functions inherited from Port | |
virtual | ~Port () |
Virtual destructor due to inheritance. More... | |
Port & | getPeer () |
Return a reference to this port's peer. More... | |
const std::string | name () const |
Return port name (for DPRINTF). More... | |
PortID | getId () const |
Get the port id. More... | |
bool | isConnected () const |
Is this port currently connected to a peer? More... | |
void | takeOverFrom (Port *old) |
A utility function to make it easier to swap out ports. More... | |
Protected Attributes | |
std::string | portName |
EtherInt * | peer |
Protected Attributes inherited from 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. More... | |
Port * | _peer |
A pointer to this port's peer. More... | |
bool | _connected |
Whether this port is currently connected to a peer port. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Port | |
void | reportUnbound () const |
Port (const std::string &_name, PortID _id) | |
Abstract base class for ports. More... | |
Definition at line 47 of file etherint.hh.
|
inline |
Definition at line 54 of file etherint.hh.
|
inlinevirtual |
Definition at line 56 of file etherint.hh.
|
inline |
Definition at line 74 of file etherint.hh.
|
overridevirtual |
Attach to a peer port.
Reimplemented from Port.
Definition at line 35 of file etherint.cc.
References Port::_connected, fatal, name(), MipsISA::p, peer, and setPeer().
|
inline |
Definition at line 65 of file etherint.hh.
References peer.
|
inlinevirtual |
Reimplemented in DistEtherLink::LocalIface, and EtherLink::Interface.
Definition at line 75 of file etherint.hh.
Referenced by askBusy().
|
inline |
Return port name (for DPRINTF).
Definition at line 59 of file etherint.hh.
References portName.
Referenced by bind(), EtherSwitch::Interface::learnSenderAddr(), EtherSwitch::Interface::recvPacket(), and setPeer().
|
inline |
Definition at line 67 of file etherint.hh.
References peer, and sendDone().
Referenced by EtherTapBase::recvSimulated().
|
pure virtual |
Implemented in EtherTapInt, IGbEInt, NSGigEInt, Sinic::Interface, DistEtherLink::LocalIface, EtherLink::Interface, and EtherSwitch::Interface.
Referenced by sendPacket().
|
pure virtual |
Implemented in EtherTapInt, IGbEInt, NSGigEInt, Sinic::Interface, DistEtherLink::LocalIface, EtherLink::Interface, and EtherSwitch::Interface.
Referenced by recvDone(), EtherLink::Interface::sendDone(), DistEtherLink::LocalIface::sendDone(), and EtherBus::txDone().
|
inline |
Definition at line 70 of file etherint.hh.
References peer, and recvPacket().
Referenced by EtherTapBase::retransmit(), DistEtherLink::RxLink::rxDone(), EtherTapBase::sendSimulated(), Sinic::Device::transmit(), NSGigE::transmit(), and IGbE::txWire().
void EtherInt::setPeer | ( | EtherInt * | p | ) |
Definition at line 54 of file etherint.cc.
References name(), MipsISA::p, panic, and peer.
Referenced by bind().
|
overridevirtual |
Dettach from a peer port.
Reimplemented from Port.
Definition at line 47 of file etherint.cc.
References Port::_connected, and peer.
|
protected |
Definition at line 51 of file etherint.hh.
Referenced by askBusy(), bind(), getPeer(), recvDone(), EtherLink::Interface::sendDone(), DistEtherLink::LocalIface::sendDone(), sendPacket(), setPeer(), and unbind().
|
mutableprotected |
Definition at line 50 of file etherint.hh.
Referenced by name().