A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
ie-dot11s-configuration.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2008,2009 IITP RAS
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Authors: Kirill Andreev <andreev@iitp.ru>
19
* Aleksey Kovalenko <kovalenko@iitp.ru>
20
*/
21
22
23
#ifndef MESH_CONFIGURATION_H
24
#define MESH_CONFIGURATION_H
25
26
#include "ns3/mesh-information-element-vector.h"
27
28
namespace
ns3 {
29
namespace
dot11s {
34
enum
dot11sPathSelectionProtocol
35
{
36
PROTOCOL_HWMP
= 0x000fac00,
37
};
42
enum
dot11sPathSelectionMetric
43
{
44
METRIC_AIRTIME
= 0x000fac00,
45
};
50
enum
dot11sCongestionControlMode
51
{
52
CONGESTION_SIGNALING
= 0x000fac00,
53
CONGESTION_NULL
= 0x000facff,
54
};
59
enum
dot11sSynchronizationProtocolIdentifier
60
{
61
SYNC_NEIGHBOUR_OFFSET
= 0x000fac00,
62
SYNC_NULL
= 0x000facff,
63
};
68
enum
dot11sAuthenticationProtocol
69
{
70
AUTH_NULL
= 0x000fac00,
71
AUTH_SAE
= 0x000fac01,
72
};
77
class
Dot11sMeshCapability
78
{
79
public
:
80
Dot11sMeshCapability
();
81
uint8_t
GetSerializedSize
()
const
;
82
Buffer::Iterator
Serialize
(
Buffer::Iterator
i)
const
;
83
Buffer::Iterator
Deserialize
(
Buffer::Iterator
i);
84
uint16_t
GetUint16
()
const
;
85
bool
acceptPeerLinks
;
86
bool
MCCASupported
;
87
bool
MCCAEnabled
;
88
bool
forwarding
;
89
bool
beaconTimingReport
;
90
bool
TBTTAdjustment
;
91
bool
powerSaveLevel
;
92
bool
Is
(uint16_t cap,uint8_t n)
const
;
93
friend
bool
operator==
(
const
Dot11sMeshCapability
& a,
const
Dot11sMeshCapability
& b);
94
};
95
101
class
IeConfiguration
:
public
WifiInformationElement
102
{
103
public
:
104
IeConfiguration
();
105
void
SetRouting
(
dot11sPathSelectionProtocol
routingId);
106
void
SetMetric
(
dot11sPathSelectionMetric
metricId);
107
bool
IsHWMP
();
108
bool
IsAirtime
();
109
void
SetNeighborCount
(uint8_t neighbors);
110
uint8_t
GetNeighborCount
();
111
Dot11sMeshCapability
const
&
MeshCapability
();
116
virtual
WifiInformationElementId
ElementId
()
const
;
117
virtual
uint8_t
GetInformationFieldSize
()
const
;
118
virtual
void
SerializeInformationField
(
Buffer::Iterator
i)
const
;
119
virtual
uint8_t
DeserializeInformationField
(
Buffer::Iterator
i, uint8_t length);
120
virtual
void
Print
(std::ostream& os)
const
;
122
private
:
124
dot11sPathSelectionProtocol
m_APSPId
;
126
dot11sPathSelectionMetric
m_APSMId
;
128
dot11sCongestionControlMode
m_CCMId
;
130
dot11sSynchronizationProtocolIdentifier
m_SPId
;
132
dot11sAuthenticationProtocol
m_APId
;
133
Dot11sMeshCapability
m_meshCap
;
134
uint8_t
m_neighbors
;
135
friend
bool
operator==
(
const
IeConfiguration
& a,
const
IeConfiguration
& b);
136
};
137
bool
operator==
(
const
IeConfiguration
& a,
const
IeConfiguration
& b);
138
bool
operator==
(
const
Dot11sMeshCapability
& a,
const
Dot11sMeshCapability
& b);
139
std::ostream &
operator <<
(std::ostream &os,
const
IeConfiguration
&config);
140
}
// namespace dot11s
141
}
// namespace ns3
142
#endif
ns3::dot11s::IeConfiguration::operator==
friend bool operator==(const IeConfiguration &a, const IeConfiguration &b)
Definition:
ie-dot11s-configuration.cc:214
ns3::dot11s::Dot11sMeshCapability::GetSerializedSize
uint8_t GetSerializedSize() const
Definition:
ie-dot11s-configuration.cc:33
ns3::dot11s::Dot11sMeshCapability::MCCASupported
bool MCCASupported
Definition:
ie-dot11s-configuration.h:86
ns3::dot11s::IeConfiguration::m_APId
dot11sAuthenticationProtocol m_APId
Definition:
ie-dot11s-configuration.h:132
ns3::dot11s::IeConfiguration::SerializeInformationField
virtual void SerializeInformationField(Buffer::Iterator i) const
Definition:
ie-dot11s-configuration.cc:120
ns3::dot11s::SYNC_NULL
Definition:
ie-dot11s-configuration.h:62
ns3::dot11s::IeConfiguration::DeserializeInformationField
virtual uint8_t DeserializeInformationField(Buffer::Iterator i, uint8_t length)
Definition:
ie-dot11s-configuration.cc:137
ns3::dot11s::Dot11sMeshCapability::beaconTimingReport
bool beaconTimingReport
Definition:
ie-dot11s-configuration.h:89
ns3::dot11s::dot11sPathSelectionProtocol
dot11sPathSelectionProtocol
See 7.3.2.86.1 in 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:34
ns3::dot11s::IeConfiguration::ElementId
virtual WifiInformationElementId ElementId() const
Own unique Element ID.
Definition:
ie-dot11s-configuration.cc:97
ns3::dot11s::Dot11sMeshCapability::Serialize
Buffer::Iterator Serialize(Buffer::Iterator i) const
Definition:
ie-dot11s-configuration.cc:72
ns3::dot11s::IeConfiguration::m_APSMId
dot11sPathSelectionMetric m_APSMId
Definition:
ie-dot11s-configuration.h:126
ns3::dot11s::operator==
bool operator==(const MeshHeader &a, const MeshHeader &b)
Definition:
dot11s-mac-header.cc:171
ns3::dot11s::CONGESTION_SIGNALING
Definition:
ie-dot11s-configuration.h:52
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::dot11s::dot11sSynchronizationProtocolIdentifier
dot11sSynchronizationProtocolIdentifier
See 7.3.2.86.4 in 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:59
ns3::dot11s::IeConfiguration::m_APSPId
dot11sPathSelectionProtocol m_APSPId
Definition:
ie-dot11s-configuration.h:124
ns3::WifiInformationElement
Information element, as defined in 802.11-2007 standardThe IEEE 802.11 standard includes the notion o...
Definition:
wifi-information-element.h:130
ns3::dot11s::IeConfiguration::m_CCMId
dot11sCongestionControlMode m_CCMId
Definition:
ie-dot11s-configuration.h:128
ns3::dot11s::SYNC_NEIGHBOUR_OFFSET
Definition:
ie-dot11s-configuration.h:61
ns3::dot11s::dot11sPathSelectionMetric
dot11sPathSelectionMetric
See 7.3.2.86.2 in 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:42
ns3::dot11s::IeConfiguration::Print
virtual void Print(std::ostream &os) const
In addition, a subclass may optionally override the following...
Definition:
ie-dot11s-configuration.cc:159
ns3::dot11s::Dot11sMeshCapability::Dot11sMeshCapability
Dot11sMeshCapability()
Definition:
ie-dot11s-configuration.cc:27
ns3::dot11s::AUTH_SAE
Definition:
ie-dot11s-configuration.h:71
ns3::dot11s::IeConfiguration::IsHWMP
bool IsHWMP()
Definition:
ie-dot11s-configuration.cc:182
ns3::dot11s::Dot11sMeshCapability
See 7.3.2.86.7 in 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:77
ns3::dot11s::Dot11sMeshCapability::Is
bool Is(uint16_t cap, uint8_t n) const
Definition:
ie-dot11s-configuration.cc:91
ns3::dot11s::CONGESTION_NULL
Definition:
ie-dot11s-configuration.h:53
ns3::dot11s::Dot11sMeshCapability::forwarding
bool forwarding
Definition:
ie-dot11s-configuration.h:88
ns3::dot11s::METRIC_AIRTIME
Definition:
ie-dot11s-configuration.h:44
ns3::dot11s::Dot11sMeshCapability::MCCAEnabled
bool MCCAEnabled
Definition:
ie-dot11s-configuration.h:87
ns3::dot11s::Dot11sMeshCapability::acceptPeerLinks
bool acceptPeerLinks
Definition:
ie-dot11s-configuration.h:85
ns3::dot11s::IeConfiguration::m_neighbors
uint8_t m_neighbors
Definition:
ie-dot11s-configuration.h:134
ns3::dot11s::IeConfiguration::MeshCapability
Dot11sMeshCapability const & MeshCapability()
Definition:
ie-dot11s-configuration.cc:202
ns3::dot11s::IeConfiguration::SetMetric
void SetMetric(dot11sPathSelectionMetric metricId)
Definition:
ie-dot11s-configuration.cc:177
ns3::dot11s::IeConfiguration::IsAirtime
bool IsAirtime()
Definition:
ie-dot11s-configuration.cc:187
ns3::dot11s::IeConfiguration::GetNeighborCount
uint8_t GetNeighborCount()
Definition:
ie-dot11s-configuration.cc:197
ns3::dot11s::IeConfiguration::IeConfiguration
IeConfiguration()
Definition:
ie-dot11s-configuration.cc:102
ns3::dot11s::Dot11sMeshCapability::operator==
friend bool operator==(const Dot11sMeshCapability &a, const Dot11sMeshCapability &b)
Definition:
ie-dot11s-configuration.cc:207
ns3::dot11s::IeConfiguration::m_SPId
dot11sSynchronizationProtocolIdentifier m_SPId
Definition:
ie-dot11s-configuration.h:130
ns3::dot11s::IeConfiguration
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:101
ns3::dot11s::IeConfiguration::SetNeighborCount
void SetNeighborCount(uint8_t neighbors)
Definition:
ie-dot11s-configuration.cc:192
ns3::dot11s::AUTH_NULL
Definition:
ie-dot11s-configuration.h:70
ns3::dot11s::IeConfiguration::m_meshCap
Dot11sMeshCapability m_meshCap
Definition:
ie-dot11s-configuration.h:133
ns3::WifiInformationElementId
uint8_t WifiInformationElementId
Definition:
wifi-information-element.h:41
ns3::dot11s::PROTOCOL_HWMP
Definition:
ie-dot11s-configuration.h:36
ns3::dot11s::Dot11sMeshCapability::TBTTAdjustment
bool TBTTAdjustment
Definition:
ie-dot11s-configuration.h:90
ns3::dot11s::dot11sAuthenticationProtocol
dot11sAuthenticationProtocol
See 7.3.2.86.5 in 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:68
ns3::dot11s::Dot11sMeshCapability::powerSaveLevel
bool powerSaveLevel
Definition:
ie-dot11s-configuration.h:91
ns3::dot11s::Dot11sMeshCapability::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator i)
Definition:
ie-dot11s-configuration.cc:78
ns3::dot11s::operator<<
std::ostream & operator<<(std::ostream &os, const IeBeaconTiming &a)
Definition:
ie-dot11s-beacon-timing.cc:216
ns3::dot11s::IeConfiguration::SetRouting
void SetRouting(dot11sPathSelectionProtocol routingId)
Definition:
ie-dot11s-configuration.cc:172
ns3::dot11s::Dot11sMeshCapability::GetUint16
uint16_t GetUint16() const
Definition:
ie-dot11s-configuration.cc:38
ns3::dot11s::dot11sCongestionControlMode
dot11sCongestionControlMode
See 7.3.2.86.3 in 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:50
ns3::dot11s::IeConfiguration::GetInformationFieldSize
virtual uint8_t GetInformationFieldSize() const
Definition:
ie-dot11s-configuration.cc:108
src
mesh
model
dot11s
ie-dot11s-configuration.h
Generated on Sat Nov 16 2013 12:55:34 for ns-3 by
1.8.5