20 #ifndef WAVE_NET_DEVICE_H 
   21 #define WAVE_NET_DEVICE_H 
   25 #include "ns3/packet.h" 
   26 #include "ns3/traced-callback.h" 
   27 #include "ns3/mac48-address.h" 
   28 #include "ns3/net-device.h" 
   39 class ChannelScheduler;
 
   64     : channelNumber (
CCH),
 
   71     : channelNumber (channel),
 
   74       txPowerLevel (powerLevel)
 
   99     : channelNumber (
SCH1),
 
  103       dataRate = 
WifiMode (
"OfdmRate6MbpsBW10MHz");
 
  106     : channelNumber (channel),
 
  108       txPowerLevel (powerLevel)
 
  110       dataRate = 
WifiMode (
"OfdmRate6MbpsBW10MHz");
 
  148   std::map<uint32_t, Ptr<OcbWifiMac> >  
GetMacs (
void) 
const;
 
  161   std::vector<Ptr<WifiPhy> > 
GetPhys (
void) 
const;
 
  205   bool StopSch (uint32_t channelNumber);
 
  216   bool StopVsa (uint32_t channelNumber);
 
  292   virtual bool Send (
Ptr<Packet> packet, 
const Address& dest, uint16_t protocolNumber);
 
  295   virtual void SetIfIndex (
const uint32_t index);
 
  300   virtual bool SetMtu (
const uint16_t mtu);
 
  301   virtual uint16_t 
GetMtu (
void) 
const;
 
  315   virtual bool SendFrom (
Ptr<Packet> packet, 
const Address& source, 
const Address& dest, uint16_t protocolNumber);
 
  344   typedef std::map<uint32_t, Ptr<OcbWifiMac> >::const_iterator 
MacEntitiesI;
 
virtual Address GetAddress(void) const 
 
Ptr< WifiPhy > GetPhy(uint32_t index) const 
 
bool StopVsa(uint32_t channelNumber)
 
static const uint16_t IPv4_PROT_NUMBER
 
bool StartSch(const SchInfo &schInfo)
 
void SetWaveVsaCallback(WaveVsaCallback vsaCallback)
 
Callback< bool, Ptr< const Packet >, const Address &, uint32_t, uint32_t > WaveVsaCallback
 
Ptr< ChannelCoordinator > m_channelCoordinator
 
Forward calls to a chain of Callback. 
 
bool SendX(Ptr< Packet > packet, const Address &dest, uint32_t protocol, const TxInfo &txInfo)
 
virtual bool SupportsSendFrom(void) const 
 
virtual bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
 
std::map< uint32_t, Ptr< OcbWifiMac > >::const_iterator MacEntitiesI
 
This class holds together multiple, ns3::WifiPhy, and ns3::OcbWifiMac (including ns3::WifiRemoteStati...
 
virtual void SetAddress(Address address)
Set the address of this interface. 
 
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
 
Ptr< VsaManager > GetVsaManager(void) const 
 
virtual bool NeedsArp(void) const 
 
virtual void SetReceiveCallback(NetDevice::ReceiveCallback cb)
 
void ForwardUp(Ptr< Packet > packet, Mac48Address from, Mac48Address to)
Receive a packet from the lower layer and pass the packet up the stack. 
 
a polymophic address class 
 
Ptr< ChannelCoordinator > GetChannelCoordinator(void) const 
 
static const uint16_t IPv6_PROT_NUMBER
 
std::map< uint32_t, Ptr< OcbWifiMac > > MacEntities
 
bool DeleteTxProfile(uint32_t channelNumber)
 
Ptr< ChannelManager > m_channelManager
 
virtual ~WaveNetDevice(void)
 
void SetChannelScheduler(Ptr< ChannelScheduler > channelScheduler)
 
Ptr< ChannelScheduler > m_channelScheduler
 
void SetChannelManager(Ptr< ChannelManager > channelManager)
 
void ChangeAddress(Address newAddress)
 
NetDevice::ReceiveCallback m_forwardUp
 
virtual void DoDispose(void)
Destructor implementation. 
 
virtual Address GetMulticast(Ipv4Address multicastGroup) const 
Make and return a MAC multicast address using the provided multicast group. 
 
Ptr< VsaManager > m_vsaManager
 
virtual void SetIfIndex(const uint32_t index)
 
bool StopSch(uint32_t channelNumber)
 
virtual uint16_t GetMtu(void) const 
 
bool IsAvailableChannel(uint32_t channelNumber) const 
 
std::map< uint32_t, Ptr< OcbWifiMac > > GetMacs(void) const 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
virtual void DoInitialize(void)
Initialize() implementation. 
 
Ptr< OcbWifiMac > GetMac(uint32_t channelNumber) const 
 
virtual Address GetBroadcast(void) const 
 
static const uint16_t MAX_MSDU_SIZE
 
virtual bool IsMulticast(void) const 
 
virtual Ptr< Channel > GetChannel(void) const 
 
Ptr< ChannelManager > GetChannelManager(void) const 
 
TxInfo(uint32_t channel, uint32_t prio=7, WifiMode rate=WifiMode(), uint32_t powerLevel=8)
 
virtual bool IsBroadcast(void) const 
 
std::vector< Ptr< WifiPhy > > GetPhys(void) const 
 
void AddPhy(Ptr< WifiPhy > phy)
 
Describes an IPv6 address. 
 
bool StartVsa(const VsaInfo &vsaInfo)
 
Ipv4 addresses are stored in host order in this class. 
 
TracedCallback< Address, Address > m_addressChange
 
virtual Ptr< Node > GetNode(void) const 
 
virtual void AddLinkChangeCallback(Callback< void > callback)
 
Network layer to device interface. 
 
static TypeId GetTypeId(void)
 
TxProfile(uint32_t channel, bool adapt=true, uint32_t powerLevel=4)
 
void SetVsaManager(Ptr< VsaManager > vsaManager)
 
NetDevice::PromiscReceiveCallback m_promiscRx
 
PhyEntities m_phyEntities
 
std::vector< Ptr< WifiPhy > >::const_iterator PhyEntitiesI
 
virtual void SetPromiscReceiveCallback(PromiscReceiveCallback cb)
 
std::vector< Ptr< WifiPhy > > PhyEntities
 
void AddMac(uint32_t channelNumber, Ptr< OcbWifiMac > mac)
 
virtual bool IsPointToPoint(void) const 
Return true if the net device is on a point-to-point link. 
 
virtual bool SetMtu(const uint16_t mtu)
 
MacEntities m_macEntities
 
virtual bool IsBridge(void) const 
Return true if the net device is acting as a bridge. 
 
void SetChannelCoordinator(Ptr< ChannelCoordinator > channelCoordinator)
 
Ptr< ChannelScheduler > GetChannelScheduler(void) const 
 
virtual uint32_t GetIfIndex(void) const 
 
virtual bool IsLinkUp(void) const 
 
a unique identifier for an interface. 
 
bool RegisterTxProfile(const TxProfile &txprofile)
 
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
 
void CancelTx(uint32_t channelNumber, enum AcIndex ac)
 
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
 
virtual void SetNode(Ptr< Node > node)