A Discrete-Event Network Simulator
API
ns3::dot11s Namespace Reference

Classes

class  AirtimeLinkMetricCalculator
 Airtime link metric calculator. More...
 
class  DestinationAddressUnit
 Describes an address unit in PREQ information element See 7.3.2.96 for more details. More...
 
class  Dot11sMeshCapability
 A set of values indicating whether a mesh STA is a possible candidate for mesh peering establishment (Section 8.4.2.100.8 of IEEE 802.11-2012) More...
 
class  HwmpProtocol
 Hybrid wireless mesh protocol – a mesh routing protocol defined in IEEE 802.11-2012 standard. More...
 
class  HwmpProtocolMac
 Interface MAC plugin for HWMP – 802.11s routing protocol. More...
 
class  HwmpRtable
 Routing table for HWMP – 802.11s routing protocol. More...
 
class  HwmpTag
 Hwmp tag implements interaction between HWMP protocol and MeshWifiMac. More...
 
class  IeBeaconTiming
 See 7.3.2.89 of 802.11s draft 2.07. More...
 
class  IeBeaconTimingUnit
 Information element describing one unit of beacon timing element. More...
 
class  IeConfiguration
 Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0. More...
 
class  IeLinkMetricReport
 a IEEE 802.11s Mesh ID 7.3.2.88 of 802.11s draft 3.0 More...
 
class  IeMeshId
 a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012) More...
 
class  IeMeshIdChecker
 
class  IeMeshIdValue
 
class  IePeeringProtocol
 Mesh Peering Protocol Identifier information element Note that it does not permit to set any value besides zero (corresponding to mesh peering management protocol) More...
 
class  IePeerManagement
 according to IEEE 802.11 - 2012 More...
 
class  IePerr
 See 7.3.2.98 of 802.11s draft 2.07. More...
 
class  IePrep
 See 7.3.2.97 of 802.11s draft 2.07. More...
 
class  IePreq
 See 7.3.2.96 of 802.11s draft 2.07. More...
 
class  IeRann
 Root announcement (RANN) element. More...
 
class  MeshHeader
 Mesh Control field, see Section 8.2.4.7.3 IEEE 802.11-2012. More...
 
class  PeerLink
 Peer link model for 802.11s Peer Management protocol. More...
 
class  PeerLinkCloseStart
 802.11s Peer link close management frame More...
 
class  PeerLinkConfirmStart
 802.11s Peer link confirm management frame More...
 
class  PeerLinkOpenStart
 802.11s Peer link open management frame More...
 
class  PeerManagementProtocol
 802.11s Peer Management Protocol model More...
 
class  PeerManagementProtocolMac
 This is plugin to Mesh WiFi MAC, which implements the interface to dot11s peer management protocol: it takes proper frames from MAC-layer, extracts peer link management information element and mesh configuration element and passes it to main part of protocol. More...
 
struct  RouteChange
 Structure to encapsulate route change information. More...
 

Enumerations

enum  dot11sAuthenticationProtocol { AUTH_NULL = 0x00, AUTH_SAE = 0x01, AUTH_IEEE = 0x02 }
 
enum  dot11sCongestionControlMode { CONGESTION_SIGNALING = 0x01, CONGESTION_NULL = 0x00 }
 
enum  dot11sPathSelectionMetric { METRIC_AIRTIME = 0x01 }
 
enum  dot11sPathSelectionProtocol { PROTOCOL_HWMP = 0x01 }
 
enum  dot11sSynchronizationProtocolIdentifier { SYNC_NEIGHBOUR_OFFSET = 0x01, SYNC_NULL = 0x00 }
 
enum  PmpReasonCode {
  REASON11S_PEERING_CANCELLED = 52, REASON11S_MESH_MAX_PEERS = 53, REASON11S_MESH_CAPABILITY_POLICY_VIOLATION = 54, REASON11S_MESH_CLOSE_RCVD = 55,
  REASON11S_MESH_MAX_RETRIES = 56, REASON11S_MESH_CONFIRM_TIMEOUT = 57, REASON11S_MESH_INVALID_GTK = 58, REASON11S_MESH_INCONSISTENT_PARAMETERS = 59,
  REASON11S_MESH_INVALID_SECURITY_CAPABILITY =60, REASON11S_RESERVED = 67
}
 Codes used by 802.11s Peer Management Protocol. More...
 

Functions

template<typename T1 >
Ptr< const AttributeAccessorMakeIeMeshIdAccessor (T1 a1)
 
template<typename T1 , typename T2 >
Ptr< const AttributeAccessorMakeIeMeshIdAccessor (T1 a1, T2 a2)
 
Ptr< const AttributeCheckerMakeIeMeshIdChecker (void)
 
bool operator< (const IeLinkMetricReport &a, const IeLinkMetricReport &b)
 
std::ostream & operator<< (std::ostream &os, const IePeeringProtocol &a)
 
std::ostream & operator<< (std::ostream &os, const IeLinkMetricReport &a)
 
std::ostream & operator<< (std::ostream &os, const IeMeshId &a)
 
std::ostream & operator<< (std::ostream &os, const IePeerManagement &a)
 
std::ostream & operator<< (std::ostream &os, const IePerr &a)
 
std::ostream & operator<< (std::ostream &os, const IeRann &a)
 
std::ostream & operator<< (std::ostream &os, const IePrep &a)
 
std::ostream & operator<< (std::ostream &os, const IeConfiguration &a)
 
std::ostream & operator<< (std::ostream &os, const IeBeaconTiming &a)
 
std::ostream & operator<< (std::ostream &os, const IePreq &a)
 
bool operator== (const IeLinkMetricReport &a, const IeLinkMetricReport &b)
 
bool operator== (const IeMeshId &a, const IeMeshId &b)
 
bool operator== (const PeerLinkOpenStart &a, const PeerLinkOpenStart &b)
 
bool operator== (const IePerr &a, const IePerr &b)
 
bool operator== (const IePeerManagement &a, const IePeerManagement &b)
 
bool operator== (const IeRann &a, const IeRann &b)
 
bool operator== (const MeshHeader &a, const MeshHeader &b)
 
bool operator== (const IeBeaconTimingUnit &a, const IeBeaconTimingUnit &b)
 
bool operator== (const IePrep &a, const IePrep &b)
 
bool operator== (const Dot11sMeshCapability &a, const Dot11sMeshCapability &b)
 
bool operator== (const PeerLinkCloseStart &a, const PeerLinkCloseStart &b)
 
bool operator== (const IeConfiguration &a, const IeConfiguration &b)
 
bool operator== (const PeerLinkConfirmStart &a, const PeerLinkConfirmStart &b)
 
bool operator== (const DestinationAddressUnit &a, const DestinationAddressUnit &b)
 
bool operator== (const IePreq &a, const IePreq &b)
 
bool operator> (const IeLinkMetricReport &a, const IeLinkMetricReport &b)
 
std::istream & operator>> (std::istream &is, IeMeshId &a)
 

Enumeration Type Documentation

◆ dot11sAuthenticationProtocol

Enumerator
AUTH_NULL 
AUTH_SAE 
AUTH_IEEE 

Definition at line 60 of file ie-dot11s-configuration.h.

◆ dot11sCongestionControlMode

Enumerator
CONGESTION_SIGNALING 
CONGESTION_NULL 

Definition at line 46 of file ie-dot11s-configuration.h.

◆ dot11sPathSelectionMetric

Enumerator
METRIC_AIRTIME 

Definition at line 40 of file ie-dot11s-configuration.h.

◆ dot11sPathSelectionProtocol

Enumerator
PROTOCOL_HWMP 

Definition at line 34 of file ie-dot11s-configuration.h.

◆ dot11sSynchronizationProtocolIdentifier

Enumerator
SYNC_NEIGHBOUR_OFFSET 
SYNC_NULL 

Definition at line 53 of file ie-dot11s-configuration.h.

Function Documentation

◆ MakeIeMeshIdAccessor() [1/2]

template<typename T1 >
Ptr<const AttributeAccessor> ns3::dot11s::MakeIeMeshIdAccessor ( T1  a1)

Definition at line 86 of file ie-dot11s-id.h.

◆ MakeIeMeshIdAccessor() [2/2]

template<typename T1 , typename T2 >
Ptr<const AttributeAccessor> ns3::dot11s::MakeIeMeshIdAccessor ( T1  a1,
T2  a2 
)

Definition at line 86 of file ie-dot11s-id.h.

◆ MakeIeMeshIdChecker()

Ptr< const AttributeChecker > ns3::dot11s::MakeIeMeshIdChecker ( void  )

Definition at line 152 of file ie-dot11s-id.cc.

◆ operator<()

bool ns3::dot11s::operator< ( const IeLinkMetricReport a,
const IeLinkMetricReport b 
)
Parameters
alhs
blhs
Returns
true if equal

Definition at line 77 of file ie-dot11s-metric-report.cc.

References ns3::dot11s::IeLinkMetricReport::m_metric.

◆ operator<<() [1/10]

std::ostream& ns3::dot11s::operator<< ( std::ostream &  os,
const IePeeringProtocol a 
)

Definition at line 56 of file ie-dot11s-peering-protocol.cc.

References ns3::dot11s::IePeeringProtocol::Print().

+ Here is the call graph for this function:

◆ operator<<() [2/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IeLinkMetricReport a 
)

Definition at line 87 of file ie-dot11s-metric-report.cc.

References ns3::dot11s::IeLinkMetricReport::Print().

+ Here is the call graph for this function:

◆ operator<<() [3/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IeMeshId a 
)

Definition at line 138 of file ie-dot11s-id.cc.

References ns3::dot11s::IeMeshId::Print().

+ Here is the call graph for this function:

◆ operator<<() [4/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IePeerManagement a 
)

Definition at line 168 of file ie-dot11s-peer-management.cc.

References ns3::dot11s::IePeerManagement::Print().

+ Here is the call graph for this function:

◆ operator<<() [5/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IePerr a 
)

Definition at line 168 of file ie-dot11s-perr.cc.

References ns3::dot11s::IePerr::Print().

+ Here is the call graph for this function:

◆ operator<<() [6/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IeRann a 
)

Definition at line 171 of file ie-dot11s-rann.cc.

References ns3::dot11s::IeRann::Print().

+ Here is the call graph for this function:

◆ operator<<() [7/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IePrep a 
)

Definition at line 206 of file ie-dot11s-prep.cc.

References ns3::dot11s::IePrep::Print().

+ Here is the call graph for this function:

◆ operator<<() [8/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IeConfiguration a 
)

Definition at line 213 of file ie-dot11s-configuration.cc.

References ns3::dot11s::IeConfiguration::Print().

+ Here is the call graph for this function:

◆ operator<<() [9/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IeBeaconTiming a 
)

Definition at line 215 of file ie-dot11s-beacon-timing.cc.

References ns3::dot11s::IeBeaconTiming::Print().

+ Here is the call graph for this function:

◆ operator<<() [10/10]

std::ostream & ns3::dot11s::operator<< ( std::ostream &  os,
const IePreq a 
)

Definition at line 439 of file ie-dot11s-preq.cc.

References ns3::dot11s::IePreq::Print().

+ Here is the call graph for this function:

◆ operator==() [1/15]

bool ns3::dot11s::operator== ( const IeLinkMetricReport a,
const IeLinkMetricReport b 
)
Parameters
alhs
blhs
Returns
true if equal

Definition at line 72 of file ie-dot11s-metric-report.cc.

References ns3::dot11s::IeLinkMetricReport::m_metric.

◆ operator==() [2/15]

bool ns3::dot11s::operator== ( const IeMeshId a,
const IeMeshId b 
)
Parameters
alhs
blhs
Returns
true if equal

Definition at line 121 of file ie-dot11s-id.cc.

References ns3::dot11s::IeMeshId::m_meshId.

◆ operator==() [3/15]

bool ns3::dot11s::operator== ( const PeerLinkOpenStart a,
const PeerLinkOpenStart b 
)
Parameters
alhs
brhs
Returns
true if equal

Definition at line 130 of file peer-link-frame.cc.

References ns3::dot11s::IeMeshId::IsEqual(), ns3::dot11s::PeerLinkOpenStart::m_capability, ns3::dot11s::PeerLinkOpenStart::m_config, and ns3::dot11s::PeerLinkOpenStart::m_meshId.

+ Here is the call graph for this function:

◆ operator==() [4/15]

bool ns3::dot11s::operator== ( const IePerr a,
const IePerr b 
)
Parameters
alhs
brhs
Returns
true if equal

Definition at line 148 of file ie-dot11s-perr.cc.

References ns3::dot11s::IePerr::m_addressUnits.

◆ operator==() [5/15]

◆ operator==() [6/15]

bool ns3::dot11s::operator== ( const IeRann a,
const IeRann b 
)

◆ operator==() [7/15]

bool ns3::dot11s::operator== ( const MeshHeader a,
const MeshHeader b 
)

◆ operator==() [8/15]

bool ns3::dot11s::operator== ( const IeBeaconTimingUnit a,
const IeBeaconTimingUnit b 
)
Parameters
alhs
brhs
Returns
true if equal

Definition at line 185 of file ie-dot11s-beacon-timing.cc.

References ns3::dot11s::IeBeaconTimingUnit::GetAid(), ns3::dot11s::IeBeaconTimingUnit::GetBeaconInterval(), and ns3::dot11s::IeBeaconTimingUnit::GetLastBeacon().

+ Here is the call graph for this function:

◆ operator==() [9/15]

◆ operator==() [10/15]

◆ operator==() [11/15]

bool ns3::dot11s::operator== ( const PeerLinkCloseStart a,
const PeerLinkCloseStart b 
)
Parameters
alhs
brhs
Returns
true if equal

Definition at line 205 of file peer-link-frame.cc.

References ns3::dot11s::IeMeshId::IsEqual(), and ns3::dot11s::PeerLinkCloseStart::m_meshId.

+ Here is the call graph for this function:

◆ operator==() [12/15]

◆ operator==() [13/15]

bool ns3::dot11s::operator== ( const PeerLinkConfirmStart a,
const PeerLinkConfirmStart b 
)

◆ operator==() [14/15]

◆ operator==() [15/15]

◆ operator>()

bool ns3::dot11s::operator> ( const IeLinkMetricReport a,
const IeLinkMetricReport b 
)
Parameters
alhs
blhs
Returns
true if equal

Definition at line 82 of file ie-dot11s-metric-report.cc.

References ns3::dot11s::IeLinkMetricReport::m_metric.

◆ operator>>()

std::istream& ns3::dot11s::operator>> ( std::istream &  is,
IeMeshId a 
)

Definition at line 144 of file ie-dot11s-id.cc.