22 #ifndef LTE_NET_DEVICE_H
23 #define LTE_NET_DEVICE_H
25 #include <ns3/net-device.h>
26 #include <ns3/event-id.h>
27 #include <ns3/mac64-address.h>
28 #include <ns3/traced-callback.h>
29 #include <ns3/nstime.h>
30 #include <ns3/lte-phy.h>
31 #include <ns3/lte-control-messages.h>
63 virtual void SetIfIndex (
const uint32_t index);
66 virtual bool SetMtu (
const uint16_t mtu);
67 virtual uint16_t
GetMtu (
void)
const;
a polymophic address class
Ipv4 addresses are stored in host order in this class.
Describes an IPv6 address.
LteNetDevice provides basic implementation for all LTE network devices.
virtual void SetReceiveCallback(NetDevice::ReceiveCallback cb)
virtual bool SetMtu(const uint16_t mtu)
virtual Address GetMulticast(Ipv4Address addr) const
Make and return a MAC multicast address using the provided multicast group.
virtual uint32_t GetIfIndex(void) const
void Receive(Ptr< Packet > p)
receive a packet from the lower layers in order to forward it to the upper layers
virtual void DoDispose(void)
Destructor implementation.
virtual bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
NetDevice::ReceiveCallback m_rxCallback
receive callback
virtual bool IsMulticast(void) const
LteNetDevice(const LteNetDevice &)
type conversion operator
virtual bool IsPointToPoint(void) const
Return true if the net device is on a point-to-point link.
virtual uint16_t GetMtu(void) const
virtual bool IsBroadcast(void) const
TracedCallback m_linkChangeCallbacks
link change callback
virtual Ptr< Node > GetNode(void) const
virtual void SetAddress(Address address)
Set the address of this interface.
virtual Ptr< Channel > GetChannel(void) const
static TypeId GetTypeId(void)
Get the type ID.
virtual void SetNode(Ptr< Node > node)
LteNetDevice & operator=(const LteNetDevice &)
assignment operator
virtual ~LteNetDevice(void)
virtual void AddLinkChangeCallback(Callback< void > callback)
Mac64Address m_address
MAC address - only relevant for UEs.
virtual void SetIfIndex(const uint32_t index)
virtual bool IsBridge(void) const
Return true if the net device is acting as a bridge.
uint32_t m_ifIndex
interface index
Ptr< Node > m_node
the node
virtual Address GetAddress(void) const
virtual bool IsLinkUp(void) const
virtual void SetPromiscReceiveCallback(PromiscReceiveCallback cb)
virtual bool SupportsSendFrom(void) const
virtual Address GetBroadcast(void) const
virtual bool NeedsArp(void) const
Network layer to device interface.
Forward calls to a chain of Callback.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.