21 #ifndef NON_COMMUNICATING_NET_DEVICE_H 22 #define NON_COMMUNICATING_NET_DEVICE_H 26 #include <ns3/address.h> 27 #include <ns3/net-device.h> 28 #include <ns3/callback.h> 29 #include <ns3/packet.h> 30 #include <ns3/traced-callback.h> 36 class SpectrumChannel;
38 class SpectrumErrorModel;
95 virtual void SetIfIndex (
const uint32_t index);
98 virtual bool SetMtu (
const uint16_t mtu);
99 virtual uint16_t
GetMtu (
void)
const;
110 uint16_t protocolNumber);
112 uint16_t protocolNumber);
virtual void SetIfIndex(const uint32_t index)
virtual bool SupportsSendFrom(void) const
virtual bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
Smart pointer class similar to boost::intrusive_ptr.
uint32_t m_ifIndex
Interface index.
void SetChannel(Ptr< Channel > c)
This class doesn't talk directly with the underlying channel (a dedicated PHY class is expected to do...
void SetPhy(Ptr< Object > phy)
Set the Phy object which is attached to this device.
static TypeId GetTypeId(void)
Get the type ID.
virtual bool IsLinkUp(void) const
virtual void SetAddress(Address address)
Set the address of this interface.
This class implements a device which does not communicate, in the sense that it does not interact wit...
a polymophic address class
virtual Ptr< Node > GetNode(void) const
virtual bool IsPointToPoint(void) const
Return true if the net device is on a point-to-point link.
virtual void DoDispose(void)
Destructor implementation.
virtual bool IsMulticast(void) const
virtual Address GetBroadcast(void) const
virtual bool NeedsArp(void) const
virtual void SetPromiscReceiveCallback(PromiscReceiveCallback cb)
virtual Ptr< Channel > GetChannel(void) const
virtual void AddLinkChangeCallback(Callback< void > callback)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< Object > m_phy
Phy object.
virtual uint32_t GetIfIndex(void) const
virtual bool IsBridge(void) const
Return true if the net device is acting as a bridge.
virtual uint16_t GetMtu(void) const
NonCommunicatingNetDevice()
virtual bool IsBroadcast(void) const
Ptr< Channel > m_channel
Channel used by the NetDevice.
Describes an IPv6 address.
Ipv4 addresses are stored in host order in this class.
virtual ~NonCommunicatingNetDevice()
virtual void SetReceiveCallback(NetDevice::ReceiveCallback cb)
Network layer to device interface.
virtual bool SetMtu(const uint16_t mtu)
Ptr< Node > m_node
node this NetDevice is associated to
virtual Address GetMulticast(Ipv4Address addr) const
Make and return a MAC multicast address using the provided multicast group.
virtual Address GetAddress(void) const
a unique identifier for an interface.
Ptr< Object > GetPhy() const
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
virtual void SetNode(Ptr< Node > node)