Go to the documentation of this file.
33 #ifndef __DEV_NET_ETHERTAP_HH__
34 #define __DEV_NET_ETHERTAP_HH__
40 #include "config/use_tuntap.hh"
45 #include "params/EtherTap.hh"
49 #include "params/EtherTapStub.hh"
83 virtual void recvReal(
int revent) = 0;
162 using Params = EtherTapParams;
163 EtherTap(
const Params &
p);
176 #endif // __DEV_NET_ETHERTAP_HH__
EtherTapBase(const Params &p)
void recvReal(int revent) override
virtual bool sendReal(const void *data, size_t len)=0
const PortID InvalidPortID
void sendSimulated(void *data, size_t len)
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
virtual void recvReal(int revent)=0
void unserialize(CheckpointIn &cp) override
Unserialize an object.
EtherTapBaseParams Params
bool recvPacket(EthPacketPtr pkt) override
Ports are used to interface objects to each other.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void serialize(CheckpointOut &cp) const override
Serialize an object.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
std::shared_ptr< EthPacketData > EthPacketPtr
const std::string & name() const
Return port name (for DPRINTF).
std::ostream CheckpointOut
EtherTapStub(const Params &p)
EventFunctionWrapper txEvent
std::queue< EthPacketPtr > packetBuffer
bool recvSimulated(EthPacketPtr packet)
void serialize(CheckpointOut &cp) const override
Serialize an object.
EtherTapInt(const std::string &name, EtherTapBase *t)
bool sendReal(const void *data, size_t len) override
Abstract superclass for simulation objects.
Generated on Tue Mar 23 2021 19:41:26 for gem5 by doxygen 1.8.17