This simulation is to show the routing service of WaveNetDevice described in IEEE 09.4. More...
Public Member Functions | |
void | SendIpExample (void) |
Send IP example function. More... | |
void | SendWsaExample (void) |
Send WSA example. More... | |
void | SendWsmpExample (void) |
Send WSMP example function. More... | |
Private Member Functions | |
void | CreateWaveNodes (void) |
Create WAVE nodes function. More... | |
bool | Receive (Ptr< NetDevice > dev, Ptr< const Packet > pkt, uint16_t mode, const Address &sender) |
Receive function. More... | |
bool | ReceiveVsa (Ptr< const Packet > pkt, const Address &address, uint32_t, uint32_t) |
Receive VSA function. More... | |
void | SendIpPacket (uint32_t seq, bool ipv6) |
Send IP packet function. More... | |
void | SendOneWsmpPacket (uint32_t channel, uint32_t seq) |
Send one WSMP packet function. More... | |
Private Attributes | |
NetDeviceContainer | devices |
the devices More... | |
NodeContainer | nodes |
the nodes More... | |
This simulation is to show the routing service of WaveNetDevice described in IEEE 09.4.
note: although txPowerLevel is supported now, the "TxPowerLevels" attribute of YansWifiPhy is 1 which means phy devices only support 1 levels. Thus, if users want to control txPowerLevel, they should set these attributes of YansWifiPhy by themselves..
Definition at line 40 of file wave-simple-device.cc.
|
private |
Create WAVE nodes function.
Definition at line 88 of file wave-simple-device.cc.
References ns3::ListPositionAllocator::Add(), ns3::YansWifiChannelHelper::Create(), ns3::YansWavePhyHelper::Default(), ns3::YansWifiChannelHelper::Default(), ns3::QosWaveMacHelper::Default(), ns3::WaveHelper::Default(), first::devices, ns3::WifiPhyHelper::DLT_IEEE802_11, ns3::PcapHelperForDevice::EnablePcap(), ns3::WaveHelper::Install(), ns3::MakeCallback(), third::mobility, first::nodes, Receive(), ReceiveVsa(), ns3::YansWifiPhyHelper::SetChannel(), ns3::WifiPhyHelper::SetPcapDataLinkType(), ns3::WaveNetDevice::SetReceiveCallback(), and ns3::WaveNetDevice::SetWaveVsaCallback().
|
private |
Receive function.
dev | the device |
pkt | the packet |
mode | the mode |
sender | the sender address |
Definition at line 121 of file wave-simple-device.cc.
References ns3::Time::GetSeconds(), ns3::SeqTsHeader::GetSeq(), ns3::SeqTsHeader::GetTs(), ns3::Now(), and ns3::Packet::PeekHeader().
Referenced by CreateWaveNodes().
|
private |
Receive VSA function.
pkt | the packet |
address | the address |
Definition at line 239 of file wave-simple-device.cc.
References ns3::Time::GetSeconds(), and ns3::Now().
Referenced by CreateWaveNodes().
void WaveNetDeviceExample::SendIpExample | ( | void | ) |
Send IP example function.
Definition at line 202 of file wave-simple-device.cc.
References ns3::WaveNetDevice::DeleteTxProfile(), ns3::Simulator::Destroy(), first::devices, EXTENDED_ALTERNATING, ns3::WaveNetDevice::RegisterTxProfile(), ns3::Simulator::Run(), SCH1, ns3::Simulator::Schedule(), ns3::Seconds(), SendIpPacket(), ns3::WaveNetDevice::StartSch(), ns3::Simulator::Stop(), and ns3::WaveNetDevice::StopSch().
|
private |
Send IP packet function.
seq | the sequence |
ipv6 | true if IPV6 |
Definition at line 185 of file wave-simple-device.cc.
References ns3::Packet::AddHeader(), first::devices, ns3::WaveNetDevice::Send(), and ns3::SeqTsHeader::SetSeq().
Referenced by SendIpExample().
|
private |
Send one WSMP packet function.
channel | the channel to use |
seq | the sequence |
Definition at line 134 of file wave-simple-device.cc.
References ns3::Packet::AddHeader(), third::channel, first::devices, ns3::Mac48Address::GetBroadcast(), ns3::WaveNetDevice::SendX(), and ns3::SeqTsHeader::SetSeq().
Referenced by SendWsmpExample().
void WaveNetDeviceExample::SendWsaExample | ( | void | ) |
Send WSA example.
Definition at line 246 of file wave-simple-device.cc.
References ns3::Simulator::Destroy(), first::devices, EXTENDED_ALTERNATING, ns3::Mac48Address::GetBroadcast(), ns3::Simulator::Run(), SCH1, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::WaveNetDevice::StartSch(), ns3::WaveNetDevice::StartVsa(), ns3::Simulator::Stop(), ns3::WaveNetDevice::StopSch(), ns3::WaveNetDevice::StopVsa(), and ns3::VSA_TRANSMIT_IN_BOTHI.
void WaveNetDeviceExample::SendWsmpExample | ( | void | ) |
Send WSMP example function.
Definition at line 150 of file wave-simple-device.cc.
References CCH, ns3::Simulator::Destroy(), first::devices, EXTENDED_ALTERNATING, ns3::Simulator::Run(), SCH1, SCH2, ns3::Simulator::Schedule(), ns3::Seconds(), SendOneWsmpPacket(), ns3::WaveNetDevice::StartSch(), ns3::Simulator::Stop(), and ns3::WaveNetDevice::StopSch().
|
private |
the devices
Definition at line 85 of file wave-simple-device.cc.
|
private |
the nodes
Definition at line 84 of file wave-simple-device.cc.