21 #include "ns3/packet.h" 22 #include "ns3/simulator.h" 23 #include "ns3/mgt-headers.h" 24 #include "ns3/dot11s-mac-header.h" 25 #include "ns3/hwmp-rtable.h" 26 #include "ns3/peer-link-frame.h" 27 #include "ns3/ie-dot11s-peer-management.h" 30 using namespace dot11s;
47 TestCase (
"Dot11sMeshHeader roundtrip serialization")
107 virtual void DoRun ();
119 void TestPrecursorAdd ();
121 void TestPrecursorFind ();
136 dst (
"01:00:00:01:00:01"),
137 hop (
"01:00:00:01:00:03"),
188 for (std::vector<Mac48Address>::const_iterator i =
precursors.begin (); i !=
precursors.end (); i++)
201 for (
unsigned i = 0; i <
precursors.size (); i++)
211 table = CreateObject<HwmpRtable> ();
220 Simulator::Destroy ();
227 TestCase (
"PeerLinkFrames (open, confirm, close) unit tests")
230 virtual void DoRun ();
285 :
TestSuite (
"devices-mesh-dot11s", UNIT)
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
Simulation virtual time values and global simulation resolution.
void TestAddPath()
Test add path and try to lookup after entry has expired.
virtual void DoRun()
Implementation to actually run this TestCase.
Route lookup result, return type of LookupXXX methods.
802.11s Peer link open management frame
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
uint32_t seqnum
sequence number
LookupResult LookupReactiveExpired(Mac48Address destination)
Return all reactive paths, including expired.
uint16_t capability
open and confirm
Unit test for HwmpRtable.
802.11s Peer link close management frame
void TestLookup()
Test Add apth and lookup path;.
a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012)
LookupResult LookupReactive(Mac48Address destination)
Lookup path to destination.
void TestPrecursorAdd()
Test add precursors and find precursor list in rtable.
std::vector< std::pair< uint32_t, Mac48Address > > PrecursorList
Path precursor = {MAC, interface ID}.
Time expire
expiration time
IeMeshId meshId
open and close
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this 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.
PrecursorList GetPrecursors(Mac48Address destination)
Built-in self test for PeerLinkFrameStart.
void AddPrecursor(Mac48Address destination, uint32_t precursorInterface, Mac48Address precursorAddress, Time lifetime)
virtual void DoRun()
Implementation to actually run this TestCase.
LookupResult LookupProactiveExpired()
Return all proactive paths, including expired.
IeMeshId meshId
open and close
Mac48Address hop
hop address
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void AddReactivePath(Mac48Address destination, Mac48Address retransmitter, uint32_t interface, uint32_t metric, Time lifetime, uint32_t seqnum)
Mac48Address dst
destination address
uint16_t capability
open and confirm
void SetPlinkCloseStart(PlinkCloseStartFields fields)
Set peer link close start fields.
static Dot11sTestSuite g_dot11sTestSuite
the test suite
Ptr< HwmpRtable > table
tab;e
void DeleteProactivePath()
802.11s Peer link confirm management frame
void TestExpire()
Test add path and try to lookup after entry has expired.
Time Seconds(double value)
Construct a Time in the indicated unit.
std::vector< Mac48Address > precursors
precursors
void DeleteReactivePath(Mac48Address destination)
void AddProactivePath(uint32_t metric, Mac48Address root, Mac48Address retransmitter, uint32_t interface, Time lifetime, uint32_t seqnum)
void SetPlinkOpenStart(PlinkOpenStartFields fields)
Set peer link open start fields.
void SetPlinkConfirmStart(PlinkConfirmStartFields fields)
Set peer link confirm start fields.
void AddHeader(const Header &header)
Add header to this packet.
LookupResult LookupProactive()
Find proactive path to tree root. Note that calling this method has side effect of deleting expired p...
void TestPrecursorFind()
Test add precursors and find precursor list in rtable.