From 243f52e1cef6453f334fead3686b975dfa84d4db Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Fri, 17 Aug 2012 13:31:40 -0700 Subject: [PATCH] Update mesh model, tests and reference traces for new random variable usage --- src/mesh/helper/mesh-helper.cc | 29 ++++++++++ src/mesh/helper/mesh-helper.h | 13 +++++ src/mesh/model/dot11s/hwmp-protocol-mac.cc | 7 +++ src/mesh/model/dot11s/hwmp-protocol-mac.h | 1 + src/mesh/model/dot11s/hwmp-protocol.cc | 30 ++++++++--- src/mesh/model/dot11s/hwmp-protocol.h | 15 ++++++ .../dot11s/peer-management-protocol-mac.cc | 6 +++ .../dot11s/peer-management-protocol-mac.h | 3 ++ .../model/dot11s/peer-management-protocol.cc | 27 +++++++--- .../model/dot11s/peer-management-protocol.h | 14 +++++ src/mesh/model/flame/flame-protocol-mac.h | 2 + .../model/mesh-wifi-interface-mac-plugin.h | 10 ++++ src/mesh/model/mesh-wifi-interface-mac.cc | 51 ++++++++++++------ src/mesh/model/mesh-wifi-interface-mac.h | 17 ++++++ .../hwmp-proactive-regression-test-0-1.pcap | Bin 8295 -> 9788 bytes .../hwmp-proactive-regression-test-1-1.pcap | Bin 12811 -> 14789 bytes .../hwmp-proactive-regression-test-2-1.pcap | Bin 13978 -> 16178 bytes .../hwmp-proactive-regression-test-3-1.pcap | Bin 12915 -> 15092 bytes .../hwmp-proactive-regression-test-4-1.pcap | Bin 8216 -> 9946 bytes .../test/dot11s/hwmp-proactive-regression.cc | 10 +++- .../hwmp-reactive-regression-test-0-1.pcap | Bin 9776 -> 16157 bytes .../hwmp-reactive-regression-test-1-1.pcap | Bin 18731 -> 23128 bytes .../hwmp-reactive-regression-test-2-1.pcap | Bin 18839 -> 24512 bytes .../hwmp-reactive-regression-test-3-1.pcap | Bin 15190 -> 27512 bytes .../hwmp-reactive-regression-test-4-1.pcap | Bin 21614 -> 23695 bytes .../hwmp-reactive-regression-test-5-1.pcap | Bin 16788 -> 18198 bytes .../test/dot11s/hwmp-reactive-regression.cc | 10 +++- .../hwmp-simplest-regression-test-0-1.pcap | Bin 77039 -> 77039 bytes .../hwmp-simplest-regression-test-1-1.pcap | Bin 80478 -> 80402 bytes .../test/dot11s/hwmp-simplest-regression.cc | 10 +++- ...hwmp-target-flags-regression-test-0-1.pcap | Bin 10534 -> 10539 bytes ...hwmp-target-flags-regression-test-1-1.pcap | Bin 14888 -> 15073 bytes ...hwmp-target-flags-regression-test-2-1.pcap | Bin 13264 -> 13173 bytes ...hwmp-target-flags-regression-test-3-1.pcap | Bin 7398 -> 7297 bytes .../dot11s/hwmp-target-flags-regression.cc | 9 +++- .../test/dot11s/pmp-regression-test-0-1.pcap | Bin 851 -> 851 bytes .../test/dot11s/pmp-regression-test-1-1.pcap | Bin 851 -> 851 bytes src/mesh/test/dot11s/pmp-regression.cc | 9 +++- .../test/flame/flame-regression-test-0-1.pcap | Bin 4996 -> 5844 bytes .../test/flame/flame-regression-test-1-1.pcap | Bin 7192 -> 7448 bytes .../test/flame/flame-regression-test-2-1.pcap | Bin 5274 -> 5618 bytes src/mesh/test/flame/flame-regression.cc | 9 +++- 42 files changed, 241 insertions(+), 41 deletions(-) diff --git a/src/mesh/helper/mesh-helper.cc b/src/mesh/helper/mesh-helper.cc index b4fded099..5c2bc62e4 100644 --- a/src/mesh/helper/mesh-helper.cc +++ b/src/mesh/helper/mesh-helper.cc @@ -207,5 +207,34 @@ MeshHelper::ResetStats (const ns3::Ptr& device) NS_ASSERT (mp != 0); m_stack->ResetStats (mp); } +int64_t +MeshHelper::AssignStreams (NetDeviceContainer c, int64_t stream) +{ + int64_t currentStream = stream; + Ptr netDevice; + for (NetDeviceContainer::Iterator i = c.Begin (); i != c.End (); ++i) + { + netDevice = (*i); + Ptr mpd = DynamicCast (netDevice); + Ptr wifi; + Ptr mac; + if (mpd) + { + // To access, we need the underlying WifiNetDevices + std::vector > ifaces = mpd->GetInterfaces (); + for (std::vector >::iterator i = ifaces.begin (); i != ifaces.end (); i++) + { + wifi = DynamicCast (*i); + mac = DynamicCast (wifi->GetMac ()); + if (mac) + { + currentStream += mac->AssignStreams (currentStream); + } + } + } + } + return (currentStream - stream); +} + } // namespace ns3 diff --git a/src/mesh/helper/mesh-helper.h b/src/mesh/helper/mesh-helper.h index 50e0ecfd7..c41926383 100644 --- a/src/mesh/helper/mesh-helper.h +++ b/src/mesh/helper/mesh-helper.h @@ -190,6 +190,19 @@ public: * \brief Reset statistics. */ void ResetStats (const ns3::Ptr&); + /** + * Assign a fixed random variable stream number to the random variables + * used by this model. Return the number of streams (possibly zero) that + * have been assigned. The Install() method of this helper + * should have previously been called by the user. + * + * \param stream first stream index to use + * \param c NetDeviceContainer of the set of devices for which the mesh devices + * should be modified to use a fixed stream + * \return the number of stream indices assigned by this helper + */ + int64_t AssignStreams (NetDeviceContainer c, int64_t stream); + private: /** * \internal diff --git a/src/mesh/model/dot11s/hwmp-protocol-mac.cc b/src/mesh/model/dot11s/hwmp-protocol-mac.cc index a4d140d10..19758fce2 100644 --- a/src/mesh/model/dot11s/hwmp-protocol-mac.cc +++ b/src/mesh/model/dot11s/hwmp-protocol-mac.cc @@ -476,5 +476,12 @@ HwmpProtocolMac::ResetStats () m_stats = Statistics (); } +int64_t +HwmpProtocolMac::AssignStreams (int64_t stream) +{ + return m_protocol->AssignStreams (stream); +} + + } // namespace dot11s } // namespace ns3 diff --git a/src/mesh/model/dot11s/hwmp-protocol-mac.h b/src/mesh/model/dot11s/hwmp-protocol-mac.h index 3cb85f9e8..fb8cbe795 100644 --- a/src/mesh/model/dot11s/hwmp-protocol-mac.h +++ b/src/mesh/model/dot11s/hwmp-protocol-mac.h @@ -53,6 +53,7 @@ public: bool UpdateOutcomingFrame (Ptr packet, WifiMacHeader & header, Mac48Address from, Mac48Address to); /// Update beacon is empty, because HWMP does not know anything about beacons void UpdateBeacon (MeshWifiBeacon & beacon) const {}; + int64_t AssignStreams (int64_t stream); //\} private: diff --git a/src/mesh/model/dot11s/hwmp-protocol.cc b/src/mesh/model/dot11s/hwmp-protocol.cc index c0973abfb..9e6f5ba3c 100644 --- a/src/mesh/model/dot11s/hwmp-protocol.cc +++ b/src/mesh/model/dot11s/hwmp-protocol.cc @@ -29,7 +29,7 @@ #include "ns3/wifi-net-device.h" #include "ns3/mesh-point-device.h" #include "ns3/mesh-wifi-interface-mac.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" #include "airtime-metric.h" #include "ie-dot11s-preq.h" #include "ie-dot11s-prep.h" @@ -192,11 +192,7 @@ HwmpProtocol::HwmpProtocol () : m_rfFlag (false) { NS_LOG_FUNCTION_NOARGS (); - - if (m_isRoot) - { - SetRoot (); - } + m_coefficient = CreateObject (); } HwmpProtocol::~HwmpProtocol () @@ -204,6 +200,16 @@ HwmpProtocol::~HwmpProtocol () NS_LOG_FUNCTION_NOARGS (); } +void +HwmpProtocol::DoStart () +{ + m_coefficient->SetAttribute ("Max", DoubleValue (m_randomStart.GetSeconds ())); + if (m_isRoot) + { + SetRoot (); + } +} + void HwmpProtocol::DoDispose () { @@ -1017,8 +1023,7 @@ HwmpProtocol::RetryPathDiscovery (Mac48Address dst, uint8_t numOfRetry) void HwmpProtocol::SetRoot () { - UniformVariable coefficient (0.0, m_randomStart.GetSeconds ()); - Time randomStart = Seconds (coefficient.GetValue ()); + Time randomStart = Seconds (m_coefficient->GetValue ()); m_proactivePreqTimer = Simulator::Schedule (randomStart, &HwmpProtocol::SendProactivePreq, this); NS_LOG_DEBUG ("ROOT IS: " << m_address); m_isRoot = true; @@ -1163,6 +1168,15 @@ HwmpProtocol::ResetStats () plugin->second->ResetStats (); } } + +int64_t +HwmpProtocol::AssignStreams (int64_t stream) +{ + NS_LOG_FUNCTION (this << stream); + m_coefficient->SetStream (stream); + return 1; +} + HwmpProtocol::QueuedPacket::QueuedPacket () : pkt (0), protocol (0), diff --git a/src/mesh/model/dot11s/hwmp-protocol.h b/src/mesh/model/dot11s/hwmp-protocol.h index a234d9e2e..63c2cb9a6 100644 --- a/src/mesh/model/dot11s/hwmp-protocol.h +++ b/src/mesh/model/dot11s/hwmp-protocol.h @@ -32,6 +32,7 @@ namespace ns3 { class MeshPointDevice; class Packet; class Mac48Address; +class UniformRandomVariable; namespace dot11s { class HwmpProtocolMac; class HwmpRtable; @@ -85,9 +86,21 @@ public: ///\brief Statistics: void Report (std::ostream &) const; void ResetStats (); + /** + * Assign a fixed random variable stream number to the random variables + * used by this model. Return the number of streams (possibly zero) that + * have been assigned. + * + * \param stream first stream index to use + * \return the number of stream indices assigned by this model + */ + int64_t AssignStreams (int64_t stream); + private: friend class HwmpProtocolMac; + virtual void DoStart (); + HwmpProtocol& operator= (const HwmpProtocol &); HwmpProtocol (const HwmpProtocol &); @@ -267,6 +280,8 @@ private: bool m_doFlag; bool m_rfFlag; ///\} + /// Random variable for random start time + Ptr m_coefficient; Callback , uint32_t> m_neighboursCallback; }; } // namespace dot11s diff --git a/src/mesh/model/dot11s/peer-management-protocol-mac.cc b/src/mesh/model/dot11s/peer-management-protocol-mac.cc index d3a541703..a5248d37e 100644 --- a/src/mesh/model/dot11s/peer-management-protocol-mac.cc +++ b/src/mesh/model/dot11s/peer-management-protocol-mac.cc @@ -316,6 +316,12 @@ PeerManagementProtocolMac::GetLinkMetric (Mac48Address peerAddress) { return m_parent->GetLinkMetric (peerAddress); } +int64_t +PeerManagementProtocolMac::AssignStreams (int64_t stream) +{ + return m_protocol->AssignStreams (stream); +} + } // namespace dot11s } // namespace ns3 diff --git a/src/mesh/model/dot11s/peer-management-protocol-mac.h b/src/mesh/model/dot11s/peer-management-protocol-mac.h index dbffd5337..194df82c2 100644 --- a/src/mesh/model/dot11s/peer-management-protocol-mac.h +++ b/src/mesh/model/dot11s/peer-management-protocol-mac.h @@ -50,6 +50,7 @@ public: bool Receive (Ptr packet, const WifiMacHeader & header); bool UpdateOutcomingFrame (Ptr packet, WifiMacHeader & header, Mac48Address from, Mac48Address to); void UpdateBeacon (MeshWifiBeacon & beacon) const; + int64_t AssignStreams (int64_t stream); // \} ///\name Statistics // \{ @@ -57,6 +58,7 @@ public: void ResetStats (); uint32_t GetLinkMetric (Mac48Address peerAddress); // \} + private: PeerManagementProtocolMac& operator= (const PeerManagementProtocolMac &); PeerManagementProtocolMac (const PeerManagementProtocolMac &); @@ -118,6 +120,7 @@ private: Statistics (); void Print (std::ostream & os) const; }; + private: struct Statistics m_stats; ///\} diff --git a/src/mesh/model/dot11s/peer-management-protocol.cc b/src/mesh/model/dot11s/peer-management-protocol.cc index 95a447388..fd5a8ba99 100644 --- a/src/mesh/model/dot11s/peer-management-protocol.cc +++ b/src/mesh/model/dot11s/peer-management-protocol.cc @@ -27,7 +27,7 @@ #include "ns3/simulator.h" #include "ns3/assert.h" #include "ns3/log.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" #include "ns3/mesh-wifi-interface-mac.h" #include "ns3/mesh-wifi-interface-mac-plugin.h" #include "ns3/wifi-net-device.h" @@ -85,6 +85,7 @@ PeerManagementProtocol::GetTypeId (void) PeerManagementProtocol::PeerManagementProtocol () : m_lastAssocId (0), m_lastLocalLinkId (1), m_enableBca (true), m_maxBeaconShift (15) { + m_beaconShift = CreateObject (); } PeerManagementProtocol::~PeerManagementProtocol () { @@ -436,14 +437,10 @@ PeerManagementProtocol::CheckBeaconCollisions (uint32_t interface) void PeerManagementProtocol::ShiftOwnBeacon (uint32_t interface) { - // If beacon interval is equal to the neighbor's one and one o more beacons received - // by my neighbor coincide with my beacon - apply random uniformly distributed shift from - // [-m_maxBeaconShift, m_maxBeaconShift] except 0. - UniformVariable beaconShift (-m_maxBeaconShift, m_maxBeaconShift); int shift = 0; do { - shift = (int) beaconShift.GetValue (); + shift = (int) m_beaconShift->GetValue (); } while (shift == 0); // Apply beacon shift parameters: @@ -581,6 +578,24 @@ PeerManagementProtocol::ResetStats () } } +int64_t +PeerManagementProtocol::AssignStreams (int64_t stream) +{ + NS_LOG_FUNCTION (this << stream); + m_beaconShift->SetStream (stream); + return 1; +} + +void +PeerManagementProtocol::DoStart () +{ + // If beacon interval is equal to the neighbor's one and one o more beacons received + // by my neighbor coincide with my beacon - apply random uniformly distributed shift from + // [-m_maxBeaconShift, m_maxBeaconShift] except 0. + m_beaconShift->SetAttribute ("Min", DoubleValue (-m_maxBeaconShift)); + m_beaconShift->SetAttribute ("Max", DoubleValue (m_maxBeaconShift)); +} + void PeerManagementProtocol::SetBeaconCollisionAvoidance (bool enable) { diff --git a/src/mesh/model/dot11s/peer-management-protocol.h b/src/mesh/model/dot11s/peer-management-protocol.h index 094b3c21c..8c5e402c4 100644 --- a/src/mesh/model/dot11s/peer-management-protocol.h +++ b/src/mesh/model/dot11s/peer-management-protocol.h @@ -34,6 +34,7 @@ #include namespace ns3 { class MeshPointDevice; +class UniformRandomVariable; namespace dot11s { class PeerManagementProtocolMac; class PeerLink; @@ -149,7 +150,18 @@ public: ///\brief: Report statistics void Report (std::ostream &) const; void ResetStats (); + /** + * Assign a fixed random variable stream number to the random variables + * used by this model. Return the number of streams (possibly zero) that + * have been assigned. + * + * \param stream first stream index to use + * \return the number of stream indices assigned by this model + */ + int64_t AssignStreams (int64_t stream); + private: + virtual void DoStart (); /** * \name Private structures * \{ @@ -261,6 +273,8 @@ private: }; struct Statistics m_stats; // \} + /// Add randomness to beacon shift + Ptr m_beaconShift; }; } // namespace dot11s diff --git a/src/mesh/model/flame/flame-protocol-mac.h b/src/mesh/model/flame/flame-protocol-mac.h index 8c9d81c93..90b055c55 100644 --- a/src/mesh/model/flame/flame-protocol-mac.h +++ b/src/mesh/model/flame/flame-protocol-mac.h @@ -43,6 +43,8 @@ public: bool UpdateOutcomingFrame (Ptr packet, WifiMacHeader & header, Mac48Address from, Mac48Address to); /// Update beacon is empty, because HWMP does not know anything about beacons void UpdateBeacon (MeshWifiBeacon & beacon) const {}; + /// AssignStreams is empty, because this model doesn't use random variables + int64_t AssignStreams (int64_t stream) { return 0; } //\} uint16_t GetChannelId () const; /// Report statistics diff --git a/src/mesh/model/mesh-wifi-interface-mac-plugin.h b/src/mesh/model/mesh-wifi-interface-mac-plugin.h index f51bb552f..3539c1343 100644 --- a/src/mesh/model/mesh-wifi-interface-mac-plugin.h +++ b/src/mesh/model/mesh-wifi-interface-mac-plugin.h @@ -65,6 +65,16 @@ public: * TODO define when MAC call this */ virtual void UpdateBeacon (MeshWifiBeacon & beacon) const = 0; + /** + * Assign a fixed random variable stream number to the random variables + * used by this model. Return the number of streams (possibly zero) that + * have been assigned. + * + * \param stream first stream index to use + * \return the number of stream indices assigned by this model + */ + virtual int64_t AssignStreams (int64_t stream) = 0; + }; } // namespace ns3 diff --git a/src/mesh/model/mesh-wifi-interface-mac.cc b/src/mesh/model/mesh-wifi-interface-mac.cc index 1f46d3e18..b0ace9736 100644 --- a/src/mesh/model/mesh-wifi-interface-mac.cc +++ b/src/mesh/model/mesh-wifi-interface-mac.cc @@ -28,10 +28,11 @@ #include "ns3/mac-rx-middle.h" #include "ns3/mac-low.h" #include "ns3/dca-txop.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" #include "ns3/simulator.h" #include "ns3/yans-wifi-phy.h" #include "ns3/pointer.h" +#include "ns3/double.h" #include "ns3/trace-source-accessor.h" #include "ns3/qos-tag.h" @@ -79,6 +80,7 @@ MeshWifiInterfaceMac::MeshWifiInterfaceMac () : // Let the lower layers know that we are acting as a mesh node SetTypeOfStation (MESH); + m_coefficient = CreateObject (); } MeshWifiInterfaceMac::~MeshWifiInterfaceMac () { @@ -124,6 +126,38 @@ MeshWifiInterfaceMac::DoDispose () RegularWifiMac::DoDispose (); } +void +MeshWifiInterfaceMac::DoStart () +{ + m_coefficient->SetAttribute ("Max", DoubleValue (m_randomStart.GetSeconds ())); + if (m_beaconEnable) + { + Time randomStart = Seconds (m_coefficient->GetValue ()); + // Now start sending beacons after some random delay (to avoid collisions) + NS_ASSERT (!m_beaconSendEvent.IsRunning ()); + m_beaconSendEvent = Simulator::Schedule (randomStart, &MeshWifiInterfaceMac::SendBeacon, this); + m_tbtt = Simulator::Now () + randomStart; + } + else + { + // stop sending beacons + m_beaconSendEvent.Cancel (); + } +} + +int64_t +MeshWifiInterfaceMac::AssignStreams (int64_t stream) +{ + NS_LOG_FUNCTION (this << stream); + int64_t currentStream = stream; + m_coefficient->SetStream (currentStream++); + for (PluginList::const_iterator i = m_plugins.begin (); i < m_plugins.end (); i++) + { + currentStream += (*i)->AssignStreams (currentStream); + } + return (currentStream - stream); +} + //----------------------------------------------------------------------------- // Plugins //----------------------------------------------------------------------------- @@ -329,20 +363,7 @@ void MeshWifiInterfaceMac::SetBeaconGeneration (bool enable) { NS_LOG_FUNCTION (this << enable); - UniformVariable coefficient (0.0, m_randomStart.GetSeconds ()); - if (enable) - { - Time randomStart = Seconds (coefficient.GetValue ()); - // Now start sending beacons after some random delay (to avoid collisions) - NS_ASSERT (!m_beaconSendEvent.IsRunning ()); - m_beaconSendEvent = Simulator::Schedule (randomStart, &MeshWifiInterfaceMac::SendBeacon, this); - m_tbtt = Simulator::Now () + randomStart; - } - else - { - // stop sending beacons - m_beaconSendEvent.Cancel (); - } + m_beaconEnable = enable; } bool MeshWifiInterfaceMac::GetBeaconGeneration () const diff --git a/src/mesh/model/mesh-wifi-interface-mac.h b/src/mesh/model/mesh-wifi-interface-mac.h index 248f008d3..77e596623 100644 --- a/src/mesh/model/mesh-wifi-interface-mac.h +++ b/src/mesh/model/mesh-wifi-interface-mac.h @@ -39,6 +39,7 @@ namespace ns3 { class WifiMacHeader; class DcaTxop; +class UniformRandomVariable; /** * \ingroup mesh * @@ -134,6 +135,15 @@ public: void SetBeaconGeneration (bool enable); WifiPhyStandard GetPhyStandard () const; virtual void FinishConfigureStandard (enum WifiPhyStandard standard); + /** + * Assign a fixed random variable stream number to the random variables + * used by this model. Return the number of streams (possibly zero) that + * have been assigned. + * + * \param stream first stream index to use + * \return the number of stream indices assigned by this model + */ + int64_t AssignStreams (int64_t stream); private: /// Frame receive handler void Receive (Ptr packet, WifiMacHeader const *hdr); @@ -151,8 +161,12 @@ private: private: typedef std::vector > PluginList; + virtual void DoStart (); + ///\name Mesh timing intervals // \{ + /// whether beaconing is enabled + bool m_beaconEnable; /// Beaconing interval. Time m_beaconInterval; /// Maximum delay before first beacon @@ -186,6 +200,9 @@ private: // \} /// Current PHY standard: needed to configure metric WifiPhyStandard m_standard; + + /// Add randomness to beacon generation + Ptr m_coefficient; }; } // namespace ns3 diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-0-1.pcap index 9d06e7c1eb4213cda162fd4969bed90b931af146..1761ec571f54aaa1e451873f0cc346829f1145fc 100644 GIT binary patch literal 9788 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 ID40b50cY5DNB{r; diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-1-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-1-1.pcap index 115ddb9088dc5851e2a0879fe338aa2a28273092..23d82eca980662f6fccfd894e0c17aa0d83b2817 100644 GIT binary patch literal 14789 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 literal 12811 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 diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-3-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-3-1.pcap index f94fe75aa8f9320212e9b98d3607cfb98c186890..54c56516846ed4e4c355b8e5703c94dbd2e8c3ec 100644 GIT binary patch literal 15092 zcmd5?ZH!b`8Gi4uv%9eD%u4yFrR+|WV){X|W%())VCVWj=zccUprQP=q3@xUWO<#Xx=VN@A+Y)?Z3;uFHQ)WaojZ#pbaqXndj8Xy7 z5Ixr?bgW3+ubRK=|2t{TEK*_>z+xa+3D5jLBuqmBE6e>{SqatusE>P~Vn04{w+#8w zlqcABCW@iUu?D+*k~sYK13!?iEeH`q9S-}{zMk}sYqal^kPw&uHb$8_cgx=MFXVq{ z_Br_0XaDTS1nHU|BtAV)7&Vbe)N`Gnn;z8~wwF@fU~n745zlDda*k&{K3}lChu>YN z?ODbw%7K|~YZuhwH@Kc?10LjFm8aT5xbidHf;`RBT-@}N_36(DgftX_5DnLBOV;m0 z0t0eCSH^{##>R&W7!86+k7_Ln*XFQ;pB1EQWJv!FMr|QUQ^}Klt?t~{TT6Z){1~v; z+G#C{|4k}Yf@urz8IF5s`@V;x!DOTpoqY&jMH7N)eGp8mdJ@`%hq<3AOS4EXm1yHl zM5P3esMgNfK7+L7mb5q%kG@4)0SY&%E|(hy-P8q8^$ibD-6>QILUd(i5}L%;k2_X5 z!o-=SE@9^Z7ua9>7nH~pe|waj|#%95B?;LT2+=GiyBiS6v|+Xa*}j~#{3cJN*?MScle3<(VJn+qHD}v zz{T_9yOJ<3KSs2$G(XZ%sN{z$Y|U{&m^J3VFj_mHP3+}5LvyW2WOLnmyoK(8DY;iI zI7~oy(8=)@6wZOEF; zOEhnH1T{~)fa;Ua_Ix+J_wK@&j~Fm{KS0g)d^f#4e^Cte(n6r_4p6f_-%Tr)Mo{y# zV3A9nlOx;ny>#7koiQ~TF!^DCn(g^sy7+Pw^|?-N@P-in~+=`>I)o@eqe z|2;Z0nw%d%)l$niTb1zG3f6AT6+>31*o%(a{-l|3w(zg!NTXJjyDvwLX|jDn8#Cz&jX4hZ>Pd`6-t(TrPn^WqL$!=q zbdC9Cz_Bvi{cQpZJ0uCyfnXR+YGLUlmU^x-iMhh=zaj`zKrF1|pHXv}8a}MemFo=6 zb$240tMs*eY-Th8Z9u7%YD(>SXj3bo`v6)ypwIX|Z~=i0bMqZ;O#C9?0w35Yy7Gu4 zObqC{g#CD%Ak6yU(MN?*tIBDNMwS^S9HzC0lCIF0b0Z#l?Je3F67p2MCuIiQP4HIq_ zdv(v$4-?VIVs?I2E}1;zc(!#t~f_qxsZX-U1<-}t$!x0H#K&;ZTP#I#Jt;``B6w1f;ablh z>XF=Y%Ek8Lz|4PVGbCA+MuYigo=IU7~=Bd)1a z&_D2*ovUtnO}*74pFQ-`oUPHCv|<@*(p$l9Is5FPpLT4E zpyp{SP%GPSUZyp{#9YR>%hUEWM$r6Xp`C#5&g8Vs`p<_BL5Qg!;?c(?c3wdmz!PYG zL24Lw527Rn>{N&`yS=yszVnLSG;?EiVR>i(-wm}2?3Dh@?)ljQJH%btUu<0@s$*XC-!CNiD}qY6Gx);-J9J2JYA)!FOIsrIcM*QX7C>Gxn*0?`%nZ z0K33QWNHsqP6ukSo3WC*UE0Me&AFsbO6M)%+96`;~0iae&Dj!syLXQNlDXBIs zOKbt}fC8~GlO>h)e-k}OOQkuFE=E`e?7WgXnid^*+pO0D4ZyAq$rG?sfy?aHLBoKZ zS5iwUyRhgq0J}lF!w=Xg{h8e zq=MP)k@oT`8Pa9-ux2M6{#Mw{*uryv^rV8>{Y_%0(^zvXcI(KL4u2bf-SX&31+&XO zsTiS?r#IqB@ohXWRg+%@>(%U&iV@oThbZbR8-cnxK+Qg>7@^A-BdB@$BTy^L>i+;! Cp;aRQ literal 12915 zcmd5?ZHQD=7=G`%)2_4a&Q_8_HBM$qkhY|iWgjDHNFTQ55Bne*!#*`!2rBx3Yf%VE zEl5$(kG0Hd4KnRRvuGozA5rd)EwV3HDN-Z~ky?VV=RNPaXYQGE&R(~TW)9ptvvbZo z@B6&(InQ~|+#UL4+r}nprlcJ`N_3b0qg)`m81MOtW1^#~sZR8u;r>mBdPfH$evMk! zpEzZD*W$|RQ)q7UJ-6L^r}Prtim}(>555LtMnn@7LBPF8S29W!L?Gr&iRcXs#dTD_ zs=qI!3nq{>K0;LmH8sl{3DKmkpF0XsxgjicG`yvf7fiazWgGy7(>SkvrF zzz@g%z1xT|o7FWKTcWRXU#1c*Jd>zow6~oTyY3|1(4v;qJ|Q2`9)Lmw)MeDy3Mqpw znhH?$4GU0x(ovl|M0;-!`l#nexA+)Mb$xsmcs?KZ-{J95;Pehr%J8v}_VF;_oG63Z*^ind7ce{XU9|C{$$r2*9X=Uu&hD&rGduHL z^yZgA)M=A}Iv=+xc~-aV%$Mo<4Mo4NIdTEBGhe2UzY757X+sfi?snYF&U~46uMz3- zWd0LI{T?@)`~{~+A<@>0NpCw;GCM*01jHh=HS(w%06Mx-_J~sA&dmZ;pLDPZZVY$s zv=p3I<;Mg!?~EX2y)a|=g=!$0>QeUYv^;A5^puau<{)rdKFS%C3u($%0gk`T*HDZb zHwDDTUQQbue?YD}(_>8SHEgUfBN#5tOwW*}q8l#Xw$7vG0o2Tp@iW*5I44{x`fO~% z%#^VtH!{1`80zSi+$0-!GQX=EcRDv)02emax3Pt;hEcv+AG2!Bf)tSz^q>`_*zE6T z?AGH@^V4z76iHt`igGd<@6=~ZBS|Xs2&*<6QP65E%cN^d;zR|G9gpLV%Yp6WN}+P^3qH#-sl|R_ zD+3X=(P{iL7R$?D^H^4>Z25`TTZpmwYJJS&EcV+pXUq}|Ni4He$NYC0KaDU?W<3zm zL|VnH7jfJ4YS|80i_q;F|peGwuhBj7)#$tv(lEWh0&)B!*Y6I9Fye@J3W@o7Bcd_ zXGto*^pdO!dD?RAl8jU?CqhvFXE|-%D zc4pRO9~HZ4-@^ep%G2B#IM?({tv%Od9~Halx6YX=ZjQ+1X(gjRf?M^p#ARAD7Ne61 znP+<2?vqT|iXoZ6ck8)rv;ULe1G~%DP>dTlR^`Z*sq7!1DijrG`vLRx z^(=_r2{UWOFZ&0m3Kg~mQFF6_TExwk)af{PI;oY3t0k3t(R`AM1z>oeTfjUA~55 z+_)J@ebUFylGKt+T)P+((P;p7pTF#3r?SJ#@~=&v+*y)3%+c^mY6Gy_;XB0|N&Url zij|ou87%xR?0k}1Wmh*z{S*E>Gt)@w5}a|Jb!SOxS6EUTfZbC#g*)ub%*;OH_Rx;| z&QtmGNUAGS*;Q%}o&He(Fi-cN2l3nHh+lS<+C%3oJKyhSo;EY;N4QlbwHafxtJDF7 z=#^Bg>v~Em`yZ}Sxi`B?Er%tw0oaABRA!f5rJ5Stt>YSiU4O7jWp;Zqt5j3RjmEAn zlFI%cg#V7{C`sksa%Pp<9hTH;?&`)a4pynmF1t#N>6^)yV5H~CbB0O&RNR}hmw&~*5ckF`C^{x?qg8xoHP4?zz9=m!)iG9be24MG4@Yu!Er9bo7 z)s?VwchLr5cf|K-)XdCFGml+mVdpz`RoT^T7hMuOc5&`r@v)N?r&nKJ!Y=*DS$+^` z0CqnIAB{4*>|<9ijqF&6k=`1?-FLH(UA?p-;;qI5n5Uf!v6~-pcJu6GS1+x3CWv~F KQKLoa8sQ&63uV>- diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-4-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-4-1.pcap index 1c07b009df360f20362f6a61d809723d0c131304..92375fd08ba56c261a925b962eefb053595d1af0 100644 GIT binary patch literal 9946 zcmd5>ZHQD=7=G`#cW2#ocSb7}s@WmbAC=prnJK9gt&vu^_#^)m%nw^XGFVg)B4TJM zMEbD>6@q~uRJys_rj!vxn`uA#)3PpT7PR?GglN+Y5n+4YbMD7EbIzITBsqKF-krJU z?(@FSbDsB{bMK6Of9ybt8Ypa&lSEsBFCVoMt;c6RM#_)NtGI^N7M^po*28D7>Frr_ z=M|nVZF{8Qm6vvGUOd;MqZ#63GWaXLFQcW?i2p&hL%@k5?EXI@oJ10wEFWWK8I>dl zd^wV>*1K*dQ5Wvw!_GfTIZyCc6>xA*fxGW{3j6abh@Jp8ALTO9q-gk}=(`p7aJwi( zi)Fssrx~~?)t0vq-N4O}oZ*1Up@Ix(IN#cUeYesgn8XJBrd1ZfWUtJkEguR79U{wA z6)dF)whQ>iU`k{}f4*p8uSGA^$exF68l`|OTX(Tq{BO`}*hN$Szt|;?{yKbOu#dDK zeZgrac@NHf4>yaMRv2bFwb&!*Ee^Z;iiTCj7EDR5SOYl7Rj%&Bi+r-IZsl{58y5SMKFb{uI)pxh%V zU_)6H$_A78!$~D0qJlc?8sWS2smWoC>%5Wc&vQa(-P-B!eOBE9+XH?4D z1{$hZ>NSf=PsGf(|HB(?$A zOzSd8^MZjoT1=Xx^E9j1f$Gyvpz3KRt688Q@0`Q5P2SBkF&k<28mP%?7HH8t2dYnZ z%~8{2Yb2{#q)T7qTxq_OLz?pp)MPb_wEnaM)u%6k8mq}^cK)f%q2c~XtDpU{esJd2 z%KK)0e&Q?K819b=1;ZzJ?~#I}a;6|pdUinuH~OX^ zT8<;SAU=rc9^fn7m~yFGfwOv`Cb$PS`!33X2gW63uRT?D}Y-KSUxKDfq@75q#&uBDab*G zAo&AndKQ3uH1%qm%Z%JL?ne(=hVp=*{(kmXQzM>fsIh_g68f4w&zE=OleotGpE>Bn zZVPs#!T*!kxz>XH=ErGMd7&*wE_|X!4j#6pNI}78W#ksRmkCrvW(cB|kc;HUm$;({ zY-7v?D))YX-XZ+uqp3HD9K^&WpmGly^yEK5WFFKqe=p)eoYmym!yZkiZG83iG|vCr zVGFy+(KGuk>{Lg$2$L|ocFuXKu{%Aa`a*Mi;K)Mc3;s~yi=dCkCUU!|P*!e2!?un5 zFz!OrM?S11h6pN2e2U!19Rr_N8$W=Us+g1HQe#F#cNs(cLn32)o^7cd0b629kq0uD`_S2ch3{ayV)*k-mpMuYuR)! zT7YfhX=7KHyqoQ!?cEMkpEdwB-X?|{iR#nYxEy}n)N&9oJoTK;IDa<2F$ls$+}n=Y zGT3Q_Q<4_b3unr(J3HONPUO$*8e1&vv;yjJ7f?KQbtxdue>U-$#o{Ppu_-H{D@J_30W=^#bDkm0>YK0_y;`mI?8vVpWh9gFWkA zKqc(qj6sMBXw@MLJFS4q?gE+u?B2tE#$Xo}(5X)??6d;va~Dv|u5JZ1hWrh7!h2jm z$tzF~t=+psxYM!%?OcKaYU-%;d-4j@L&pv~P<`49)VP4c$C&B`M4`pOt+zobG0qqajnH%b4m2dZ8`hx=3JD-YFTZNr}S z<5nZM>2G=X3O8oG>r(~J`j%(ds{wA!K#JEoaa6q25JFSi2;jt(*|dX5>D@-@I2Hi$}i>!2l=rti267QW>Pvyb2MsKKrR&LN1boJ<~Y z5G0i|1vyW4L9TzM3;V4hsTKU%q-BR-R32CVtDx5XD zn&5uBPs#4q;pWV5bPY)0P)Y?34aYGi{3?js9J&mk)g4;!G=~}rW>f`#0G!*QJqs+s zwBgEvfin7Gu-Kt$up5A@?$9D~7Y;QAx!@2ad7m6S?b{wSQSSq|DgXcg literal 8216 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 IZ+>R`KlP}#@Bjb+ literal 9776 zcmcIqZ){XW5TCufy}KT?TuWk`Q0e)Hs)*%Eg#wXKz#;(}3qgp2dPw*u#k4ep2#Gn0 z#8Skx8Z4k6N`fD#MvEp8KWM5Zn23obVj4A3ViQFJT4F+*DAt+Xd#~^A?cVk%ZK`hsk8w>lVFyKX-b~@ar+J8Ll1onxW(^uNm^+_L`ypW3Bt!-b!<*Dct|4 z%l%7&%2%JUh_Lf59Q zt|VeG)rXaYjPX9G4*4hv_^``1>_kv{qY2^L0*4H@gwQ)_ya;Eb<3;$iaJ&e|i^hx4 zKAAxQE(`TbNx42CBLn`?GTY%z%EUb0$n@A81-}fV$bSt->+wn5_BA=0sx;y-mC35r zQMYEPSUK}KYSx=7c8QFPe^o2APh+pSrMNu06Go81Wqq5!ZmvT6w4w#~iPYX%wQIEZ zVZF{7bL_){c?x#h_9v!?fvR}w>MAb^l{kl*E6t@gzZk@q{SSuSdfHxg-;A((mD93Q zy`?8Eo_#vWs;A#^4k~ykY{;*P9M_R-=?A~19xSWKrr*%ou&!Q~*5*;5In-R1XRB&4h_XlF=;EBtyu#d`DHpWPa>dirwi3=%^Fy@ zScA%;pe$2Nvo-7C%=_g!F&87C?{Il0s@apz~!7Du;R(pxK&@aD8yLPRxS{==*GTrkG}HHp01SbJVCDuBQRgMNS1O zzY?F+!w1rj+Va@lD8L{BrDUh>Zh8#|F-$@*kjiwC2xCDx8{dfoIblDk$L4Z&+`^uc zEB5_JP>bKD-j__1I~DS3AO??41BeNEh=|i>Y@JMRF`Wg)BO+e$g#=FER|$}M2B@4J zOiEBz<_5(J043;_39|Tc7eGWgF&|(dKB@Ovg(ixDEk)Uml(l6LC>0;tI&@k|K4QHg zxKe~u=X)A$#?jHmro4+y(n!h()j`-ea$?I^Y)QneB?htVG>@?3Nb6!2s5JT`4!M|} z8935~v#@ax5i1ww#+ZUxU=wrIUAV6Jq#izy(%ETX-h(69(81}EVkRFD-dR(KL+IY5 zbuWWFIg4hx8}ThcK9?PYjcN1*j*i+P-EHNTNJv;*0fz4~>_8u(jYt-IyV=-v_h_+G zo3mGZoot*d_Pf&*TG=*!q1Io{q8@EWHDW z79ivo4}6JO?+9f#qNo>`Mq_w5G29O^$Ndne`yo25(RV4q0Q_k@-gLpLOSC#l7ukl3 z={vR3=^}*sQ=39++cFyto1~6Ar53kZeh8-wMfhb$vf-Qed>0hw)saeWx99MkOP#0w z2^kKxH7vK^Oyr@K0+d{a7yni4W7}Yfo7qN#|AkCPdX~Dnz~2x}NBV%cx(Hx)w`4O% zksfH;y++JeM3KC@E6iWJCeuaCQKSc|yEUjBcDn#SKc~AFpt68!pX@OvDHNa>L;G*6 zF@~_sF(zThm|U^jwwtaWdZFXSdLg^Q_}yqG|8MJ^#wUr*JERxZt=OPOQaGIASHhaNk=sco9bvotUp7p#Q5~ znPQr~U=Yq#G^#=ew-u#R$ zr*fEpXmYvCJ0;30OIyTz#fI)fa|VX@XS#@ar$pIMqXv~jX^Rt(3V^mJOxY*KR-MKY z5}QKICIk!|Ka`1T_N5prF2WL0h05Wy3$Xh}$aMM5nwEE{0VAxa4aJ<_ktwFxnsHYB Mkp`8+@-)Ez0nmu>qW}N^ diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-1-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-1-1.pcap index 2a1064460e575fc3612da3e5f723db48e72d4952..fcdb5222792f67fd5f9ad024d1e95fc3b017da85 100644 GIT binary patch literal 23128 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 literal 18731 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 diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-3-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-3-1.pcap index 8ba4772aedee534cbfeb7eb8f25746a49264f247..d509ad2b02b0206620cbe88bf3578bfb654c352e 100644 GIT binary patch literal 27512 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 GSpNqD@Kav^ diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-4-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-4-1.pcap index 0ad29faeed3fe9b5f329dae777ae34090b2aa8b3..4e87ebf8fc989550b2afafeb4d0a75ee5a1956f7 100644 GIT binary patch literal 23695 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 Hn=Stjh88I` literal 21614 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 diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-5-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-5-1.pcap index f5e33ee77686edb0d02327de819be520c235ed49..48549503768aca3bc216e56cd72f647f75956ef8 100644 GIT binary patch literal 18198 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 J3gF?i{(nv(O$Y!0 diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression.cc b/src/mesh/test/dot11s/hwmp-reactive-regression.cc index 1c6ced3ac..ad2d014f7 100644 --- a/src/mesh/test/dot11s/hwmp-reactive-regression.cc +++ b/src/mesh/test/dot11s/hwmp-reactive-regression.cc @@ -20,7 +20,8 @@ #include "ns3/mesh-helper.h" #include "ns3/simulator.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" +#include "ns3/rng-seed-manager.h" #include "ns3/mobility-helper.h" #include "ns3/double.h" #include "ns3/uinteger.h" @@ -51,7 +52,8 @@ HwmpReactiveRegressionTest::~HwmpReactiveRegressionTest () void HwmpReactiveRegressionTest::DoRun () { - SeedManager::SetSeed (12345); + RngSeedManager::SetSeed (12345); + RngSeedManager::SetRun (7); CreateNodes (); CreateDevices (); InstallApplications (); @@ -111,6 +113,10 @@ HwmpReactiveRegressionTest::CreateDevices () mesh.SetMacType ("RandomStart", TimeValue (Seconds (0.1))); mesh.SetNumberOfInterfaces (1); NetDeviceContainer meshDevices = mesh.Install (wifiPhy, *m_nodes); + // Six nodes, one device per node, 3 streams per mac + int64_t streamsUsed = mesh.AssignStreams (meshDevices, 0); + NS_TEST_EXPECT_MSG_EQ (streamsUsed, (6*3), "Stream assignment unexpected value"); + // 3. setup TCP/IP InternetStackHelper internetStack; internetStack.Install (*m_nodes); diff --git a/src/mesh/test/dot11s/hwmp-simplest-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-simplest-regression-test-0-1.pcap index 1952060f6c878e9c3b417f3912e66f3c0c552b2b..6287d979e2b5d06c40c425bb48600660921d829c 100644 GIT binary patch delta 1866 zcmZWqUrZcD82@H=kKJ3Wdr5osj#60ALRt+}A_Q%aBg%^bbF`c_O2{=(+lYT4lr(`5 z2{pyygLj?4iH*rod9X1}Nrr5;ca61z}-9uTVfGSD0@CJ0*jSdDZuiRV72bs@UNIK4LXn0&2DrVoKdJ z%*@M#6o&!6bzPK&A1jNkicAKqJ?|23>-t8eOr~)UQY8pRNVn{DSGhJ;WirXT!M)5& zP=t=kpCae85L%7LRc)PRH{BArZ?9XXUD`W z#uQ0Zme7a!{kmlLT56>Tjuca8;Uy%QJ@!MuUCt5hmoig~Ufw>XX9o$wLVtyz zyUVFmVFocALFk(mfHqKJv6m{Ra^1TjwXH_bXDjH#`YiWu7~3xpt+2-8Uu>}5hgzHx z%-0F>n>F;`7TbFWV)q50&DUAnZ})BR4uR3$DCqyy(Yqa4-XTa%2xN16qseC-1ex6r zh=09=UO(8M(}pPc9yJNAFB<7zeRh;6ti9CC0qs$fDMim6-4JCOg3(q%-_uNQjbufc z2KP0A=+Rb_&!adZz5=v^E}zKFu>eC2Z9?c;E4@CE&Jmqp`(jW`Z)s@DR^gw0;yAfd zY0%53Hf)RpL~nEmslhh7@=aEz1O$pY#hPw*m}>OPv-YdupI!y%8 zzPJFikGm{(B>s*oXIuUasb_ixJ>Eq>OJv+z5+%}DP|WK)dQCR(hm!8c;7_^z00fKu zLgqj(J#oWM0VswB#2Oa+O&!|&N6vduWn>&07Hm8~kKM~^feR&13q(IOY|?oQH65d8 zJvWAdeCntW`f7M?Fb~-|47B!&Ks0sK6q;*LksXAcK29lkCM@W$j?NwRFuL`T?ndrg z0@BWeE&iSYbZ1lgL@1F__3;VL-DVf?q#C>Z`&6i6&nk9gM^ZbHA?dAZgRfbc`1R;G`FZ5` zU8qzV>zOtu^OYw!MY1SEC{}ddLi0G9e2>!%M+hZH;v5=(4(T{{DqQ3hE>X00f6UV`%p5!37U<7Tt1)lVkcVFjJKY$;!eb( z(Prsp2z}j*+c;~5k~rT2z#eknBi*s#W3Ul@(X!mf`vC}&zM#}&!#rw0-};w9{#G3I z2nGQBt;(F%Dj%4Gb!_+kmk%mfa*d;jXTgih884R!@@^!!Z;4M;~-Z9zr-(b9q67B zXSsdI#F2uoLlrze#M$r@rY3Zl$2})&@$>xqC}UCqNVCdD(2%p!RX$m*T>>JL7gyN` zve#(@PWS_-MieIo~B-arGW(k+iZN)S_?;c}BOICHTcZ@p?;?LuZw#9(V>T_UU^V>i)K(?mwYTu zmiO_6(w-?V?JPJ_EmEboyR;PUzEW_U93D3fplVSb_=+Gt7!N&Ic8qU>Gnaa)iCfe& zRFm7lHAOS%^Io|juU6>QtK}5}aO~L#)tTzmqWDsU0Q84x1nrB++piO$XMQi+GM?La6}JLeBeSYBd#7$5|)4Z%M$p*qZ{Ps?w&4gV9!Fio&XnzVpMPSfOedzq$j}m zD2<@uSZ1>k=3u6ohb2MseKRq3uSESuV|t2OuPrdWmu8Sx$~dhGh8(Hc3Z#BxVD|1w zg|XHvX&Da?lgb+$*hcQ#$iE>uyAcY^l^b00@DV^dF9eU^jIW2`9KQDLw53f%|1poj5 diff --git a/src/mesh/test/dot11s/hwmp-simplest-regression-test-1-1.pcap b/src/mesh/test/dot11s/hwmp-simplest-regression-test-1-1.pcap index 994774f52aadd591c53f30faaac7664ad2ad0831..08adc5c94461fb51f607c0b0ed69926c77eff882 100644 GIT binary patch delta 1992 zcmZWqZ%i9y7=NC-mb(_WtIHYz89j*I_GJYL6cEu8?H2<{VKllxNEfzjk!;dHU4)QS zW}?Fnww!nYqbY75+?HjSqts*>Ehdg>w%JKAP8UX|B#VC{7(o57%zNMKwO4ju-h1EY z_xruS=Xu_{cX`7!wqc5tGB6_xZWPS`FavUV9hMiUudpi~eLcWb#HGWQA}PR_n7(-Q zw{E6tR%+vlb`V78EI_+Dwnx{CrT5UoI1<^|tptEijrpR%Vu@#7V3reEA?I}|Z6W)` z7eES{itID+0BcMqj`klXvg8r{ymVXLH_cdB@=j3KA47Sg1m!T>U@1Z|yZyXT35nE< zx>>O*#F<6#Yzahacl0rsbB%fuVe?rV-EB+Qu9WfgQ4#Vi1Z1htRBW%dZAWE1nX16P zNFXRHqo()Ka*+jSQSG#hjh9IE1r5vU655`}m z5o@Vi7gFY%bH>7L78b5HQSxhU<)1daHljHU@qcN+dbKIby>jqeeo-PIc6%xPzb0k9 z$FO$C$e8eWyvocJV zh2}1!N&#)j&5yUWBn`3qJyd15OSyB=U?&a!vLiH|UwU*Q<&#UfmXHr|1yZMb2}meA zqJxNMPCF~+x!hS8YTmF!^HS! z!tg5-!~w3#XAj_Qd`k|wFv*LmP_34yTD@T8 zKn;pmC%;{T>d)^l*;AulI6r5`OKaLZx~`3(zv(D{Rf88;F~rL@H#*Edj1^AN3r?P? z#X}4{AQxW+n@W97SGhuUFL5G+?!%Sfw1%E?qn~?%G)hEGDvZ$hB?&rNaVbNHptzQ# zYw}nfw#k+Cc!&jCh7m*0i3LqAU5_SKoX^mvF;MnhHsI%Wl704PSSbuI{2;G4pi>St Rpq~{tGpsbmK3t}({{brORaXE2 delta 2121 zcmZXVe@t6d6vywmujRGD(JdLFb)zdpa1kkNX#o`~=m}!~9tw(e@zcAtu4@67efH zwYXI`6kjMGimdEog*sG{=n^CGp;lcvBYCn<477wmc>P((6#qEb6<4hQik_}vK)Q0Z z6@6D?rx!p2mzV^T8gcLl1seM>0caGNZS@T3Qca>u3}_UMR5J~>)r+4Wivj)G9}hH% z9CJ+!$XTzplD-g1J58eLWhTLMP2y)~m3EprmvCHR2OIt@hr>190Lu0#`w2i7vU)@^-~!tifzoPwM`mL(oo9aNgEeJvi(0?~8*3~yVX zI!?cVXMuq$OoE5{$6ic=5R6snU;~hT1ofP`#LxJy^e4K+>Xi>8bxeax{A1Zh$%eLl zvjM-w37uB32<5wB7+*+IO_p`4$xXd#^2!UUiTaBNj>s7a1nPwgx$q102}i6jf$#q$ z>4VrdEfnOz1kB3Q-n;UczsN?tdkLYvH1oam5)+zjV8Im+gi;&5&2pCI(fCjv|5V1M zzvcP(BQ^>@+Ta^5GRg~E3t*Sl1)hokyG4boc4)-G9n$TZ$#t)O&7ShfbhC(0QF~$d zoy)TNd;v7D#i+?3TlGNj$u(&)i;Emq0(=lT8f4Fe(}m#XpP_EiElNNDqPwSLw{Q_? zg~dXs=OS+?p`&2FHnYCkz)N>{^mdB8*CaTepOY8cUxG$1QlvzM!E^U_w!o)I0T-2k LdFU=*V9);t*p`DB diff --git a/src/mesh/test/dot11s/hwmp-simplest-regression.cc b/src/mesh/test/dot11s/hwmp-simplest-regression.cc index 59c6c9fe5..166c53fde 100644 --- a/src/mesh/test/dot11s/hwmp-simplest-regression.cc +++ b/src/mesh/test/dot11s/hwmp-simplest-regression.cc @@ -20,7 +20,8 @@ #include "ns3/mesh-helper.h" #include "ns3/simulator.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" +#include "ns3/rng-seed-manager.h" #include "ns3/mobility-helper.h" #include "ns3/double.h" #include "ns3/uinteger.h" @@ -54,7 +55,8 @@ HwmpSimplestRegressionTest::~HwmpSimplestRegressionTest () void HwmpSimplestRegressionTest::DoRun () { - SeedManager::SetSeed (12345); + RngSeedManager::SetSeed (12345); + RngSeedManager::SetRun (7); CreateNodes (); CreateDevices (); InstallApplications (); @@ -123,6 +125,10 @@ HwmpSimplestRegressionTest::CreateDevices () mesh.SetMacType ("RandomStart", TimeValue (Seconds (0.1))); mesh.SetNumberOfInterfaces (1); NetDeviceContainer meshDevices = mesh.Install (wifiPhy, *m_nodes); + // Two nodes, one device per node, three streams per device + int64_t streamsUsed = mesh.AssignStreams (meshDevices, 0); + NS_TEST_EXPECT_MSG_EQ (streamsUsed, (2*3), "Stream assignment unexpected value"); + // 3. setup TCP/IP InternetStackHelper internetStack; internetStack.Install (*m_nodes); diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-target-flags-regression-test-0-1.pcap index 2d4172ba6f91a3b8c4c49f04799af3e33eed9072..f0a7e31bad2b8917ed0009c863e9aa265ec3530f 100644 GIT binary patch delta 1460 zcmZXTU1%It7>3WBGc&uh&FpM4JG+z3bY~K`4fc<1w3_Y`+=~`3Oz1W=rnV3g{Glk) z1S9@}@v2%V?({=SFS=-E2}X(ylkw3&l#vg$lM_NDCEg1w&el_?^kjW=R%i zIX};NzxTZ7oaz2A`b(B_K_#T0;O9QD+*3W#4`O~F$8LTEBMDt-c25@QNgXbmCe)Zn z$KpX#Ng9L{ku1Vbf(3mn&&Fm5OtqPi6+;qEVDGkM#+%4p;YsoJm)|&sW8M#D+*gO$ zV3j~=b5iC*D^=J*dkwmmJS_>72&)|atFr{|XI7!5S-3=tI)@mcbwr+9Lk`WsHa5hJ ztDba-Gu0d1l#PaX3k?}F8w{Nt2*Y*J7GuO209Q;}5%Oi|t{{B3fm|$wxf+s-B_vzp z1L4NqapUjIz%{Xh6_zxtmO!Zk8cMkvxawc4#vJm`?wDt63Bk3bxK>~+ONP(DEr}bu zpFp*)*m^QBmL$sm}bL0CC4spA~2%b@N6VUPdD+UGGFRyD0+lV zX=|&Nv3=7@LvGU~+uK~P&%SOUP>ZL*Y?`EAXpU4M6Wz8So14asE+iW_$_oUs708}( zj+#O@^r?5~3mS}S4m=;t(Px_BL7M|#Ma#kgIH+wFrs24Dl%{m}UOPg!>2Sp|`F`jH z9YGzOEh@YcE7L#XIHSWvTJrMw)_`Hvfql(?vxFlGJ*wdk$R^e8>OyA!Q zR}!sIh=gF$$g$71%P_B|;gON2FYe$Al>APa^y2n=!A+Skp2!P>a5-_5&hHKi(?7eo z=4nNR=aOamZ&y&7`L{?alJh@r_0#Rzis_Eq>(lkG5uyV|r7jft|;T!w>6X zs(x6*r1tJEUv6P1${C%Fa;$z>?d;824w}MymEYQ4W3-!R$J3HzP95tAjDKvG>DwK? zaVf+ngC{UbZnwcV4u1mUd$8E-uJy%&CooDr9YnHKuqwYgXr1`h?{w6yPY^QS<6BSk zpxWW58r8(Qbz7Ps)n$&F!hFTbp!rXnx_QpM)gG9?(OIS^R(DoYq!6DBk}nZwXun@? bZXecrh(*_)I!A-#OJwmZN6qNa{zm41$8e4u delta 1415 zcmZXUU1(fI6vxlZ+}V$8Ho5z~o89icyEY#sAtojiTs7Sg3N1D?#J-r&b_Io2O|4(A zQbDD)Ac;p&QCAv@q4c4)EB3A1G)>cDKN1wgw%`VXHuzGd;ES}Lxw&_D(=OcEJLml8 zoZtLsxF<)y9i2>hd&>Y%13mb-uN#yfjHhFL^B%l~C~1 zYZU)r8Fwa4X@ZyO)G*%iA4%BEBRYr7gk9T|P?0hH;c7OS?14?wF;y<{HEGzkM}!ty zR=l;UR8b*ex^!ROXCfs5mm_K1;CYJwD#@Ils7b_u+cQ;_bmB1TOH{SK;_%R<%P2ACt<3}2uRpJ>x;6%v4OB5dVSJ&S3>d)8yrsbqa>ClJ#S{vB+(=^00l#u-qDm)Am+l^*$(G$E`ek@}Ux{9S-5B z|4;FtN#K&#!11P>_*WO$8#C~1Q&G4B0+-!Mv4{Ru{?q0hUkTz;^O(37TuVJ05}5I& z@n!uRaWqUZUsAjsQSvyx<9Flsz(2yBaiQThaCfkeZ_41u!C|(9mEZ=xH;WH~!@RH& zmxGph+}Db)hQ@fZ)r#bGFMp#I@3xxg3K#jAHj1XW?7+#ii7OPj-HFQq6OTu7+}(wh z$QYmNQW|y~pO237NH?XG^Mm}WC#pSu?8BbeIex3p=^>mOG6MTo+N>M$n?V*HrJ;6t zm4$1USB}8 z@d$uKL{t<8iA zgwm;A?WKxI>_2HX`$_vQX@}s-0-k;>(K5H0Y8{}V2CmhCAA)f6fL-izDYKElpR9o^ xW#1b3)%GGEs)4JF13n3>`?gx(FAh+%W*XKvBk)Q`R`h?TR8d{R{;l$LITDZMihdXL!b9{=bH7BUhm%f z-1m8&@B6%O`}yGAeYr53vq6{!VYk~N5&||z)7tV%J0UL<{J=vRRy*72Z*X4nSY;g2 zj$=;sqC$!KYlA}8kX93=gc{Gt6Q}+%j!Yea&U%@;)b(k0L4uqs02wB-cU@{kp_1Cs z!9I4Y*|1|1N_QjAKT}ya)GAXq92V9KeKLVWmEX}T;xHnb9jwTS)VL9|eD}B^#bHrQA}qp1YGch4 z2E=}zfY-%7;lafJL4=yCJl85V_8rgCZ^GP{X4!Dg0@Kw|lSB$%S)h~pLKUPPDO!pu zTY#1+qD1iGkl7!uAm=OyUMs{P2- zN>Oh3bhT!*0)}mu`i5N3XEMw(wd^w>M2>HKM2O^<&yYcv^IVH~2L~@A#u-S-i$Wf<2KCJo7lL z0>9;i%L)6Pud-`SE&RO1GmU^tIwja$yw^f(%mq`@CHB~@5ycahCfT;Ao`4#`1ZGMS zFeWTbS_U-~eQSeH-1q4X$jZHJtpuu9hFN)-9dyBFp9~|Oa#rhxL$U%lJ*n~&Zh>sX zJU7A~dk|W^DYjKMIC>Ux-pllB==N2z7rgjR5Hb-99P_2vULU_L-1B`%X&eRuZ?jLM zFdyh)eF~fj$~JAo;s*Som|?Oa0Pl+y*c)tQ^Za?3z6hIx9+;zcxQ&BmK6{&hs*PjTVTH{zCjcYSPWJut+?s{GoTr{` z!pI67Rq`y?#0xU>(ffRqPnjKdRpr@=m0Vd^SaVgv%H~>q#f|fhXp1gw$%T!^)J;zR zqLH{aG}j_ISV9_WuA6M})^Snnof`!?Hq7WrxLk9Y-omBk!GQTX zQJ8J;XvRE@=htJGOEPWsDCwD?H-56Xp*n-%231;lV z{p9#I84YoI(qU#KcAd?gY!=fw!Z@XUe2_7K4x;PL1(^tIC zvxH0yh}GL#iLH*X>lI82%6Qjrdm+?Ht5AnbRqY531@Utj$A*Xp^}O8Z75dz E4~cFxZ2$lO delta 2269 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 delta 2255 zcmZXUZERCj7{|{!x3{-1Vu<>jG$kf z8zTW7S&SH^a}Vqna?|<&b4eT>Nd6Y$1{Cvph*@lKSrmyK zhnARZ9w#B=QpkImt_x)Xaj%_Rd_0jAF|WwTuG5+m5Yt`P80$c$14v*DG^O5e z*~r$bTrf_X>lUiIJ8*yy>M_3F?4-VX#;yCs2Z#jXU!3>yNfSpb|!4cHLt9J z!RESc(jH;lTEMy^m_ zML`fhUqH%etCW^g3)GkcDQ+ycmyI>X-g(X=V?9;CTqwe&& zwGKwS8R4!YtKyA1=<#L5RAkB4gKMm^x>U`VD&opV<~vn;3g7S4(|QnA`{QDwA#0ky z3;q5saj8*Sz7vJN{hj=6XkO`BR5}?$=RO#&d{2BAqkWh~*(6=f(6KTjPCk;aLwvaw zqJfN(Jxm?!htpwsm}aoJOY5I^m^#?r*|6*t!uW6jYaXT!c4Dwr9;P#4YII;V(e2=fwx4YeuWBYUJNtc&hyOiKvL>r!TFszk+Ih(&zv>ZavV za(S`zviHMqIO3}yir+#vxfGJ>g|r~{?N!3GyN@DPyDohuf?4^-vY3^(>QmybC6^UT zE-RKn7C!<98a(AHn^>3cfS_Djkh?L7oUei?-cx{@Ss7&aceTo_9NC22)TZ=?#&Zh) z2YAdyKeOY_DZbIni)tkwYpWsCoNJj8)>+doTju%J<#KYVQAgO^o_1L!!nmV=HCtwc SxzruRIcwUH+lxakhyMdL{v$2` diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression-test-3-1.pcap b/src/mesh/test/dot11s/hwmp-target-flags-regression-test-3-1.pcap index 6ccffceb97731b303d3e62cef0cb616a9026d807..f9c992c6c02cc28f95b97b5270b4942f1a62bc19 100644 GIT binary patch delta 1282 zcmZXST}TvB6vxlKvpViNyR+`+tgh~;p{A)@YUS3Fh7d>}l9cp8?MqNX4`oykf%T#& zmE(av9x@Di=|hMugCgiLdI(E;sUQN0(uayZDC(he$GNW9!k)Q%=eNJ}pL6F!>zUS( zIRB$rWii~~ax16-j=Lh(F5O+~1=tSswZ6u!bLom@KIb>>O%1N6N}qsTgY(rIYU7`L z*vaDV3pzj-?RHs5;^<}TlxsTRgdW8VckxGlG(!ev6c;~HWc8ZNZw+ry28wdTt0HTb zwy}`aVKWc#ivioZl^WSrOsX+v;($_D0_Mil$`A1c!& z;aMmubo@&syFWk5_)NY%krCC!g9VrgnmDPBxp!&+nz}uRMRlcaP zLcR=sdGO*oT4A$KbT>a#X$!T07txpEx2qQ{Z))&;I5?``;&U|;S2ixs$E3%=8NFSZ zsuk-5Zt|!2$@+!=RW^`uH*cZ~jF=YKn=DEw*+6Xx0nc(D)Oz$K=(8yvR~4kDiXb>k~x5nT(}!0GF&2W1hSJIjxv=d Yxe*w8BT&Qlpkp!f5Av8fe*gdg delta 1267 zcmZXUO-vI(7>2)@-R;jtXu*~isB{YgB7qj#~ETazw7~M1a^lzU3i1T&Xclr5k?|!$ zfoObyt`C|fx`GdlLazO&v^_|0HPtNv>;wo;%OyiMtP?WBh9a@!+TAuC8*rJh)8Uq^ zz^fI>X%CWE&G4Q{#aY3|stC?yVz?GIL~-0I-yM!qpljNq;`WYcbax6AjafC^w1we_ zH5RA26MgXHGA>KW_OT-p-JB0DRyaA$EW;HCqdj*_?n(|qXAL}N1K+AGBNiCnkp|p0 z21z;Yn^N$tshYI0DoDiyt}}9-)`eIFZ~kJZ$>ETo!g<&m7wK(O!M$a-wlKKa!nJOE zZC)TA?3aV2o{cG3DH|vE^n9@9-t{MDAXzj^b&{aY&0E1wus5o88{JFO7fV} zPW>6U9p|DMCow)gKx1y7= zC(T|wXARJHuZo=aVvk+H&(?84EQlIuDMTez!Ks9CK|dOe@a0*Sx|hqWz36`P5cKpL z;ZZ1?hhUOnB8!Fa71t9#lAjoICL4ulq*4p)R_Cj*{_MjruF(^1fhmtyOSC4R!3Ogu zZ`r;RTIf;DbtUQMJVMG^u}Vw##?o|aci_`piAGy1X0+@QeC1dq7Uu1Q`a9tVHU$2G za+Ne+a+o9@@)d%es}-EYnj9!+q=m^d$s2_HL3irRL0lsc$gERItrfAPh$oL=lg@LF PU53m$#<|XhXs-VNk9R|3 diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression.cc b/src/mesh/test/dot11s/hwmp-target-flags-regression.cc index b7f32f562..1ef53f375 100644 --- a/src/mesh/test/dot11s/hwmp-target-flags-regression.cc +++ b/src/mesh/test/dot11s/hwmp-target-flags-regression.cc @@ -20,7 +20,8 @@ #include "ns3/mesh-helper.h" #include "ns3/simulator.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" +#include "ns3/rng-seed-manager.h" #include "ns3/mobility-helper.h" #include "ns3/double.h" #include "ns3/uinteger.h" @@ -54,7 +55,8 @@ HwmpDoRfRegressionTest::~HwmpDoRfRegressionTest () void HwmpDoRfRegressionTest::DoRun () { - SeedManager::SetSeed (12345); + RngSeedManager::SetSeed (12345); + RngSeedManager::SetRun (7); CreateNodes (); CreateDevices (); InstallApplications (); @@ -130,6 +132,9 @@ HwmpDoRfRegressionTest::CreateDevices () mesh.SetMacType ("RandomStart", TimeValue (Seconds (0.1))); mesh.SetNumberOfInterfaces (1); NetDeviceContainer meshDevices = mesh.Install (wifiPhy, *m_nodes); + // Four nodes, one device per node, three streams per mac + int64_t streamsUsed = mesh.AssignStreams (meshDevices, 0); + NS_TEST_EXPECT_MSG_EQ (streamsUsed, (4*3), "Stream assignment unexpected value"); // 3. setup TCP/IP InternetStackHelper internetStack; internetStack.Install (*m_nodes); diff --git a/src/mesh/test/dot11s/pmp-regression-test-0-1.pcap b/src/mesh/test/dot11s/pmp-regression-test-0-1.pcap index 5433424aead109a581d212ef88d6c149d9eafcb5..1e4f6787bb71061599bc577ffddc9456a42f7251 100644 GIT binary patch delta 209 zcmcc2cA0I03{%FIiE@&Y>zO#27`9AwQseB}!oU#30K^kN%1rFFW%AoP*^5zz^UGES zh5(>&z{EnC$-Io#Of1_bo{?dCvu$FQ0;9mhZhNLbU;(e~6JG%ZCUY}tPc~r^V&d8X z($2i~IK$)}O!BM@3?P;+vxMjth8K(`EV-%089-CPU_vOzWKL#9W(6P(QgH%9#nlNM RKvNW%K{QYWUnmE%832=MInMw9 delta 209 zcmcc2cA0I03=^~bL^;XH^-P=~mXjK%r~(5+5CafT{3tWA*Op0DVX_ya3}-P=H~=Ud zFtJc(GB2YwldzOz~EGIQip{)!IK@31V@uSSdURx%mt&_bNWjG6f!T~_x zfQf}NlX)4fnGCi~JR`%DvTb6P0;9mhZhIz;?I3}3+b6yP3QXo^)Shg@B*b)YJ4idT z>IsI)JDB8I85p)6XPB(ZEFrpu;RT}!OKxg$2GCS6PzdFi%*m|C45C3QPGG2ToyY++ QMUnaH1h5LeP!41>01)vu+5i9m delta 208 zcmcc2cA0I03{$rJL^;XH^-P>h%<>bR)Hr+P85n{XfOz6ZnTfr&Oo0lMy%=RUzbh~> z1OSBtCKk#}=4G^IVpp7aMuzE`;>0WkMuCal_DtWv0xn7uUjYRsb2DmBHenKCVo{!a zicyv+jdAi0CV5r{hI2rcF0+KFJi`k{6PDc6;tZgnU@-Xr`(#dLMP_9n4N{TLh_2!t TJ15W-MP?8URKa(E9a#kcg3U6F diff --git a/src/mesh/test/dot11s/pmp-regression.cc b/src/mesh/test/dot11s/pmp-regression.cc index 6f99aea6d..7ff8f3754 100644 --- a/src/mesh/test/dot11s/pmp-regression.cc +++ b/src/mesh/test/dot11s/pmp-regression.cc @@ -19,7 +19,8 @@ */ #include "ns3/mesh-helper.h" #include "ns3/simulator.h" -#include "ns3/random-variable.h" +#include "ns3/random-variable-stream.h" +#include "ns3/rng-seed-manager.h" #include "ns3/mobility-helper.h" #include "ns3/double.h" #include "ns3/uinteger.h" @@ -52,7 +53,8 @@ PeerManagementProtocolRegressionTest::~PeerManagementProtocolRegressionTest () void PeerManagementProtocolRegressionTest::DoRun () { - SeedManager::SetSeed (12345); + RngSeedManager::SetSeed (12345); + RngSeedManager::SetRun (7); CreateNodes (); CreateDevices (); @@ -95,6 +97,9 @@ PeerManagementProtocolRegressionTest::CreateDevices () mesh.SetMacType ("RandomStart", TimeValue (Seconds (0.1))); mesh.SetNumberOfInterfaces (1); NetDeviceContainer meshDevices = mesh.Install (wifiPhy, *m_nodes); + // Three nodes, one device per node, two streams (one for mac, one for plugin) + int64_t streamsUsed = mesh.AssignStreams (meshDevices, 0); + NS_TEST_EXPECT_MSG_EQ (streamsUsed, (3*2), "Stream assignment unexpected value"); // 3. write PCAP if needed wifiPhy.EnablePcapAll (CreateTempDirFilename (PREFIX)); } diff --git a/src/mesh/test/flame/flame-regression-test-0-1.pcap b/src/mesh/test/flame/flame-regression-test-0-1.pcap index 20872c09524a8555cddb4c5dbd27cd4481dbcc3d..66572ed1e279a102f1c0fd0530132e9f7b5b3f9c 100644 GIT binary patch delta 1020 zcmZ`%O=uHA6rS0c-OX;2&HhAVBqnJXYBa=vL&<%UvE zC*iZALpLoMVNS?tf*%a1N!LaXjn2(6JPHLu>q~uoTwCK{EL1xr7=#D{A&UI7P4igJ zAn+rWh*BiA3_?cn9EA>^gaulmDqQ19U0_v{z<`y36H2GDFT6V4F^SY80@(&fVmizq zx)iOav+#_0l)(t=k({O_yJ(`)ybas=Ss8w16F8|QWO$1M4W5k`kb$Hgrkz%Pk9LLK*HRQuZGthDKgwAj=1Ez3x<}Q~r z95p?vL)9$0g7M)VZ)*&Frcd?7s+pxQZ}{*aJgBS4T25;+_qOXm+1!fp09L}|P_)wd zTZp5zU%T-~+G3BECsdZ@3jJ5R(u+p{S7PgWVTgs!Pb#p-{ow@)js9K$R(t4oOsFu!Sv2MGRFFcCH5ei_~12UnapW(9u% Dh!Ev@ delta 799 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 Ub}uSDmQ_53scbJD(1