21#include "ns3/channel.h" 
   24#include "ns3/packet.h" 
   25#include "ns3/simulator.h" 
   39                            .SetGroupName(
"Internet")
 
  200                            uint16_t protocolNumber)
 
  202    NS_LOG_FUNCTION(packet << 
" " << source << 
" " << dest << 
" " << protocolNumber);
 
a polymophic address class
 
bool IsNull() const
Check for null implementation.
 
Ipv4 addresses are stored in host order in this class.
 
Describes an IPv6 address.
 
Virtual network interface that loops back any data sent to it to be immediately received on the same ...
 
static TypeId GetTypeId()
Get the type ID.
 
bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) override
 
void DoDispose() override
Destructor implementation.
 
uint32_t m_ifIndex
interface index
 
bool IsMulticast() const override
 
void Receive(Ptr< Packet > packet, uint16_t protocol, Mac48Address to, Mac48Address from)
Receive a packet from tge Loopback NetDevice.
 
bool IsBridge() const override
Return true if the net device is acting as a bridge.
 
bool NeedsArp() const override
 
Ptr< Node > GetNode() const override
 
uint16_t GetMtu() const override
 
Address GetMulticast(Ipv4Address multicastGroup) const override
Make and return a MAC multicast address using the provided multicast group.
 
Ptr< Node > m_node
the node this NetDevice is associated with
 
bool IsBroadcast() const override
 
void SetIfIndex(const uint32_t index) override
 
bool IsLinkUp() const override
 
bool IsPointToPoint() const override
Return true if the net device is on a point-to-point link.
 
Mac48Address m_address
NetDevice MAC address.
 
uint32_t GetIfIndex() const override
 
NetDevice::ReceiveCallback m_rxCallback
The callback used to notify higher layers that a packet has been received.
 
void SetReceiveCallback(NetDevice::ReceiveCallback cb) override
 
void AddLinkChangeCallback(Callback< void > callback) override
 
Address GetAddress() const override
 
bool SupportsSendFrom() const override
 
NetDevice::PromiscReceiveCallback m_promiscCallback
The callback used to notify higher layers that a packet has been received in promiscuous mode.
 
void SetAddress(Address address) override
Set the address of this interface.
 
bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) override
 
void SetPromiscReceiveCallback(PromiscReceiveCallback cb) override
 
Ptr< Channel > GetChannel() const override
 
bool SetMtu(const uint16_t mtu) override
 
Address GetBroadcast() const override
 
void SetNode(Ptr< Node > node) override
 
static Mac48Address GetMulticast(Ipv4Address address)
 
static Mac48Address ConvertFrom(const Address &address)
 
Network layer to device interface.
 
PacketType
Packet types are used as they are in Linux.
 
@ PACKET_HOST
Packet addressed to us.
 
@ PACKET_OTHERHOST
Packet addressed to someone else.
 
@ PACKET_MULTICAST
Packet addressed to multicast group.
 
virtual void DoDispose()
Destructor implementation.
 
Smart pointer class similar to boost::intrusive_ptr.
 
static void ScheduleWithContext(uint32_t context, const Time &delay, FUNC f, Ts &&... args)
Schedule an event with the given context.
 
a unique identifier for an interface.
 
TypeId SetParent(TypeId tid)
Set the parent TypeId.
 
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
 
Time Seconds(double value)
Construct a Time in the indicated unit.
 
Every class exported by the ns3 library is enclosed in the ns3 namespace.