20 #ifndef MOCK_NET_DEVICE_H 21 #define MOCK_NET_DEVICE_H 26 #include "ns3/traced-callback.h" 27 #include "ns3/net-device.h" 72 virtual void SetIfIndex (
const uint32_t index);
77 virtual bool SetMtu (
const uint16_t mtu);
78 virtual uint16_t
GetMtu (
void)
const;
virtual bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
void Receive(Ptr< Packet > packet, uint16_t protocol, Address to, Address from, NetDevice::PacketType packetType)
Pretend that a packet has been received from a connected Channel.
Forward calls to a chain of Callback.
static TypeId GetTypeId(void)
Get the type ID.
virtual bool NeedsArp(void) const
void SetSendCallback(PromiscReceiveCallback cb)
Add a callback to be invoked when the MockNetDevice has a packet to "send".
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
virtual uint16_t GetMtu(void) const
virtual bool IsPointToPoint(void) const
Return true if the net device is on a point-to-point link.
a polymophic address class
NetDevice::PromiscReceiveCallback m_sendCallback
Send callback.
virtual uint32_t GetIfIndex(void) const
virtual Address GetAddress(void) const
virtual bool IsLinkUp(void) const
virtual bool IsMulticast(void) const
virtual Ptr< Channel > GetChannel(void) const
virtual void SetReceiveCallback(NetDevice::ReceiveCallback cb)
uint32_t m_ifIndex
Interface index.
virtual Address GetBroadcast(void) const
virtual bool IsBroadcast(void) const
Address m_address
MAC address.
virtual Address GetMulticast(Ipv4Address multicastGroup) const
Make and return a MAC multicast address using the provided multicast group.
virtual bool SupportsSendFrom(void) const
TracedCallback m_linkChangeCallbacks
List of callbacks to fire if the link changes state (up or down).
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void SetNode(Ptr< Node > node)
bool m_linkUp
Flag indicating whether or not the link is up.
This device assumes 48-bit mac addressing; there is also the possibility to add an ErrorModel if you ...
Ptr< Node > m_node
Node this netDevice is associated to.
Describes an IPv6 address.
bool m_pointToPointMode
Enabling this will disable Broadcast and Arp.
Ipv4 addresses are stored in host order in this class.
Network layer to device interface.
virtual void SetPromiscReceiveCallback(PromiscReceiveCallback cb)
virtual void DoDispose(void)
Destructor implementation.
virtual void SetIfIndex(const uint32_t index)
virtual bool IsBridge(void) const
Return true if the net device is acting as a bridge.
PacketType
Packet types are used as they are in Linux.
NetDevice::PromiscReceiveCallback m_promiscCallback
Promiscuous receive callback.
virtual Ptr< Node > GetNode(void) const
virtual bool SetMtu(const uint16_t mtu)
virtual void AddLinkChangeCallback(Callback< void > callback)
a unique identifier for an interface.
NetDevice::ReceiveCallback m_rxCallback
Receive callback.
virtual void SetAddress(Address address)
Set the address of this interface.