19 #include "ns3/dot11s-mac-header.h"
20 #include "ns3/hwmp-rtable.h"
21 #include "ns3/ie-dot11s-peer-management.h"
22 #include "ns3/mgt-headers.h"
23 #include "ns3/packet.h"
24 #include "ns3/peer-link-frame.h"
25 #include "ns3/simulator.h"
29 using namespace dot11s;
44 :
TestCase(
"Dot11sMeshHeader roundtrip serialization")
48 void DoRun()
override;
104 void DoRun()
override;
116 void TestPrecursorAdd();
118 void TestPrecursorFind();
133 dst(
"01:00:00:01:00:01"),
134 hop(
"01:00:00:01:00:03"),
177 "Reactive expiration works");
180 "Proactive expiration works");
202 for (
unsigned i = 0; i <
precursors.size(); i++)
212 table = CreateObject<HwmpRtable>();
221 Simulator::Destroy();
229 :
TestCase(
"PeerLinkFrames (open, confirm, close) unit tests")
233 void DoRun()
override;
Unit test for HwmpRtable.
Mac48Address dst
destination address
Ptr< HwmpRtable > table
tab;e
void TestLookup()
Test Add apth and lookup path;.
void TestAddPath()
Test add path and try to lookup after entry has expired.
std::vector< Mac48Address > precursors
precursors
uint32_t seqnum
sequence number
void DoRun() override
Implementation to actually run this TestCase.
void TestPrecursorFind()
Test add precursors and find precursor list in rtable.
void TestPrecursorAdd()
Test add precursors and find precursor list in rtable.
Time expire
expiration time
Mac48Address hop
hop address
void TestExpire()
Test add path and try to lookup after entry has expired.
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
void AddHeader(const Header &header)
Add header to this packet.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
Simulation virtual time values and global simulation resolution.
void DeleteReactivePath(Mac48Address destination)
Delete the reactive paths toward a destination.
LookupResult LookupReactive(Mac48Address destination)
Lookup path to destination.
LookupResult LookupReactiveExpired(Mac48Address destination)
Return all reactive paths, including expired.
PrecursorList GetPrecursors(Mac48Address destination)
Get the precursors list.
void DeleteProactivePath()
Delete all the proactive paths.
LookupResult LookupProactiveExpired()
Return all proactive paths, including expired.
std::vector< std::pair< uint32_t, Mac48Address > > PrecursorList
Path precursor = {MAC, interface ID}.
LookupResult LookupProactive()
Find proactive path to tree root.
void AddPrecursor(Mac48Address destination, uint32_t precursorInterface, Mac48Address precursorAddress, Time lifetime)
Add a precursor.
void AddProactivePath(uint32_t metric, Mac48Address root, Mac48Address retransmitter, uint32_t interface, Time lifetime, uint32_t seqnum)
Add a proactive path.
void AddReactivePath(Mac48Address destination, Mac48Address retransmitter, uint32_t interface, uint32_t metric, Time lifetime, uint32_t seqnum)
Add a reactive path.
a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012)
802.11s Peer link close management frame
void SetPlinkCloseStart(PlinkCloseStartFields fields)
Set peer link close start fields.
802.11s Peer link confirm management frame
void SetPlinkConfirmStart(PlinkConfirmStartFields fields)
Set peer link confirm start fields.
802.11s Peer link open management frame
void SetPlinkOpenStart(PlinkOpenStartFields fields)
Set peer link open start fields.
static Dot11sTestSuite g_dot11sTestSuite
the test suite
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Built-in self test for PeerLinkFrameStart.
void DoRun() override
Implementation to actually run this TestCase.
Route lookup result, return type of LookupXXX methods.
IeMeshId meshId
open and close
uint16_t capability
open and confirm
IeMeshId meshId
open and close
uint16_t capability
open and confirm