A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
ipv6-option-header.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007-2009 Strasbourg University
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: David Gross <gdavid.devel@gmail.com>
18
*/
19
20
#include "
ipv6-option-header.h
"
21
22
#include "ns3/assert.h"
23
#include "ns3/header.h"
24
#include "ns3/log.h"
25
26
namespace
ns3
27
{
28
29
NS_LOG_COMPONENT_DEFINE
(
"Ipv6OptionHeader"
);
30
31
NS_OBJECT_ENSURE_REGISTERED
(Ipv6OptionHeader);
32
33
TypeId
34
Ipv6OptionHeader::GetTypeId
()
35
{
36
static
TypeId
tid =
TypeId
(
"ns3::Ipv6OptionHeader"
)
37
.
AddConstructor
<
Ipv6OptionHeader
>()
38
.SetParent<Header>()
39
.SetGroupName(
"Internet"
);
40
return
tid;
41
}
42
43
TypeId
44
Ipv6OptionHeader::GetInstanceTypeId
()
const
45
{
46
return
GetTypeId
();
47
}
48
49
Ipv6OptionHeader::Ipv6OptionHeader
()
50
: m_type(0),
51
m_length(0)
52
{
53
}
54
55
Ipv6OptionHeader::~Ipv6OptionHeader
()
56
{
57
}
58
59
void
60
Ipv6OptionHeader::SetType
(uint8_t
type
)
61
{
62
m_type
=
type
;
63
}
64
65
uint8_t
66
Ipv6OptionHeader::GetType
()
const
67
{
68
return
m_type
;
69
}
70
71
void
72
Ipv6OptionHeader::SetLength
(uint8_t length)
73
{
74
m_length
= length;
75
}
76
77
uint8_t
78
Ipv6OptionHeader::GetLength
()
const
79
{
80
return
m_length
;
81
}
82
83
void
84
Ipv6OptionHeader::Print
(std::ostream& os)
const
85
{
86
os <<
"( type = "
<< (uint32_t)
m_type
<<
" )"
;
87
}
88
89
uint32_t
90
Ipv6OptionHeader::GetSerializedSize
()
const
91
{
92
return
m_length
+ 2;
93
}
94
95
void
96
Ipv6OptionHeader::Serialize
(
Buffer::Iterator
start
)
const
97
{
98
Buffer::Iterator
i =
start
;
99
100
i.
WriteU8
(
m_type
);
101
i.
WriteU8
(
m_length
);
102
103
i.
Write
(
m_data
.
Begin
(),
m_data
.
End
());
104
}
105
106
uint32_t
107
Ipv6OptionHeader::Deserialize
(
Buffer::Iterator
start
)
108
{
109
Buffer::Iterator
i =
start
;
110
111
m_type
= i.
ReadU8
();
112
m_length
= i.
ReadU8
();
113
114
m_data
=
Buffer
();
115
m_data
.
AddAtEnd
(
m_length
);
116
Buffer::Iterator
dataStart = i;
117
i.
Next
(
m_length
);
118
Buffer::Iterator
dataEnd = i;
119
m_data
.
Begin
().
Write
(dataStart, dataEnd);
120
121
return
GetSerializedSize
();
122
}
123
124
Ipv6OptionHeader::Alignment
125
Ipv6OptionHeader::GetAlignment
()
const
126
{
127
return
(
Alignment
){1, 0};
128
}
129
130
NS_OBJECT_ENSURE_REGISTERED
(
Ipv6OptionPad1Header
);
131
132
TypeId
133
Ipv6OptionPad1Header::GetTypeId
()
134
{
135
static
TypeId
tid =
TypeId
(
"ns3::Ipv6OptionPad1Header"
)
136
.
AddConstructor
<
Ipv6OptionPad1Header
>()
137
.SetParent<Ipv6OptionHeader>()
138
.SetGroupName(
"Internet"
);
139
return
tid;
140
}
141
142
TypeId
143
Ipv6OptionPad1Header::GetInstanceTypeId
()
const
144
{
145
return
GetTypeId
();
146
}
147
148
Ipv6OptionPad1Header::Ipv6OptionPad1Header
()
149
{
150
SetType
(0);
151
}
152
153
Ipv6OptionPad1Header::~Ipv6OptionPad1Header
()
154
{
155
}
156
157
void
158
Ipv6OptionPad1Header::Print
(std::ostream& os)
const
159
{
160
os <<
"( type = "
<< (uint32_t)
GetType
() <<
" )"
;
161
}
162
163
uint32_t
164
Ipv6OptionPad1Header::GetSerializedSize
()
const
165
{
166
return
1;
167
}
168
169
void
170
Ipv6OptionPad1Header::Serialize
(
Buffer::Iterator
start
)
const
171
{
172
Buffer::Iterator
i =
start
;
173
174
i.
WriteU8
(
GetType
());
175
}
176
177
uint32_t
178
Ipv6OptionPad1Header::Deserialize
(
Buffer::Iterator
start
)
179
{
180
Buffer::Iterator
i =
start
;
181
182
SetType
(i.
ReadU8
());
183
184
return
GetSerializedSize
();
185
}
186
187
NS_OBJECT_ENSURE_REGISTERED
(
Ipv6OptionPadnHeader
);
188
189
TypeId
190
Ipv6OptionPadnHeader::GetTypeId
()
191
{
192
static
TypeId
tid =
TypeId
(
"ns3::Ipv6OptionPadnHeader"
)
193
.
AddConstructor
<
Ipv6OptionPadnHeader
>()
194
.SetParent<Ipv6OptionHeader>()
195
.SetGroupName(
"Internet"
);
196
return
tid;
197
}
198
199
TypeId
200
Ipv6OptionPadnHeader::GetInstanceTypeId
()
const
201
{
202
return
GetTypeId
();
203
}
204
205
Ipv6OptionPadnHeader::Ipv6OptionPadnHeader
(uint32_t pad)
206
{
207
SetType
(1);
208
NS_ASSERT_MSG
(pad >= 2,
"PadN must be at least 2 bytes long"
);
209
SetLength
(pad - 2);
210
}
211
212
Ipv6OptionPadnHeader::~Ipv6OptionPadnHeader
()
213
{
214
}
215
216
void
217
Ipv6OptionPadnHeader::Print
(std::ostream& os)
const
218
{
219
os <<
"( type = "
<< (uint32_t)
GetType
() <<
" length = "
<< (uint32_t)
GetLength
() <<
" )"
;
220
}
221
222
uint32_t
223
Ipv6OptionPadnHeader::GetSerializedSize
()
const
224
{
225
return
GetLength
() + 2;
226
}
227
228
void
229
Ipv6OptionPadnHeader::Serialize
(
Buffer::Iterator
start
)
const
230
{
231
Buffer::Iterator
i =
start
;
232
233
i.
WriteU8
(
GetType
());
234
i.
WriteU8
(
GetLength
());
235
236
for
(
int
padding = 0; padding <
GetLength
(); padding++)
237
{
238
i.
WriteU8
(0);
239
}
240
}
241
242
uint32_t
243
Ipv6OptionPadnHeader::Deserialize
(
Buffer::Iterator
start
)
244
{
245
Buffer::Iterator
i =
start
;
246
247
SetType
(i.
ReadU8
());
248
SetLength
(i.
ReadU8
());
249
250
return
GetSerializedSize
();
251
}
252
253
NS_OBJECT_ENSURE_REGISTERED
(
Ipv6OptionJumbogramHeader
);
254
255
TypeId
256
Ipv6OptionJumbogramHeader::GetTypeId
()
257
{
258
static
TypeId
tid =
TypeId
(
"ns3::Ipv6OptionJumbogramHeader"
)
259
.
AddConstructor
<
Ipv6OptionJumbogramHeader
>()
260
.SetParent<Ipv6OptionHeader>()
261
.SetGroupName(
"Internet"
);
262
return
tid;
263
}
264
265
TypeId
266
Ipv6OptionJumbogramHeader::GetInstanceTypeId
()
const
267
{
268
return
GetTypeId
();
269
}
270
271
Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader
()
272
{
273
SetType
(0xC2);
274
SetLength
(4);
275
m_dataLength
= 0;
276
}
277
278
Ipv6OptionJumbogramHeader::~Ipv6OptionJumbogramHeader
()
279
{
280
}
281
282
void
283
Ipv6OptionJumbogramHeader::SetDataLength
(uint32_t dataLength)
284
{
285
m_dataLength
= dataLength;
286
}
287
288
uint32_t
289
Ipv6OptionJumbogramHeader::GetDataLength
()
const
290
{
291
return
m_dataLength
;
292
}
293
294
void
295
Ipv6OptionJumbogramHeader::Print
(std::ostream& os)
const
296
{
297
os <<
"( type = "
<< (uint32_t)
GetType
() <<
" length = "
<< (uint32_t)
GetLength
()
298
<<
" data length = "
<< (uint32_t)
m_dataLength
<<
" )"
;
299
}
300
301
uint32_t
302
Ipv6OptionJumbogramHeader::GetSerializedSize
()
const
303
{
304
return
GetLength
() + 2;
305
}
306
307
void
308
Ipv6OptionJumbogramHeader::Serialize
(
Buffer::Iterator
start
)
const
309
{
310
Buffer::Iterator
i =
start
;
311
312
i.
WriteU8
(
GetType
());
313
i.
WriteU8
(
GetLength
());
314
i.
WriteHtonU32
(
m_dataLength
);
315
}
316
317
uint32_t
318
Ipv6OptionJumbogramHeader::Deserialize
(
Buffer::Iterator
start
)
319
{
320
Buffer::Iterator
i =
start
;
321
322
SetType
(i.
ReadU8
());
323
SetLength
(i.
ReadU8
());
324
m_dataLength
= i.
ReadNtohU16
();
325
326
return
GetSerializedSize
();
327
}
328
329
Ipv6OptionHeader::Alignment
330
Ipv6OptionJumbogramHeader::GetAlignment
()
const
331
{
332
return
(
Alignment
){4, 2};
// 4n+2
333
}
334
335
NS_OBJECT_ENSURE_REGISTERED
(
Ipv6OptionRouterAlertHeader
);
336
337
TypeId
338
Ipv6OptionRouterAlertHeader::GetTypeId
()
339
{
340
static
TypeId
tid =
TypeId
(
"ns3::Ipv6OptionRouterAlertHeader"
)
341
.
AddConstructor
<
Ipv6OptionRouterAlertHeader
>()
342
.SetParent<Ipv6OptionHeader>()
343
.SetGroupName(
"Internet"
);
344
return
tid;
345
}
346
347
TypeId
348
Ipv6OptionRouterAlertHeader::GetInstanceTypeId
()
const
349
{
350
return
GetTypeId
();
351
}
352
353
Ipv6OptionRouterAlertHeader::Ipv6OptionRouterAlertHeader
()
354
: m_value(0)
355
{
356
SetType
(5);
357
SetLength
(2);
358
}
359
360
Ipv6OptionRouterAlertHeader::~Ipv6OptionRouterAlertHeader
()
361
{
362
}
363
364
void
365
Ipv6OptionRouterAlertHeader::SetValue
(uint16_t value)
366
{
367
m_value
= value;
368
}
369
370
uint16_t
371
Ipv6OptionRouterAlertHeader::GetValue
()
const
372
{
373
return
m_value
;
374
}
375
376
void
377
Ipv6OptionRouterAlertHeader::Print
(std::ostream& os)
const
378
{
379
os <<
"( type = "
<< (uint32_t)
GetType
() <<
" length = "
<< (uint32_t)
GetLength
()
380
<<
" value = "
<< (uint32_t)
m_value
<<
" )"
;
381
}
382
383
uint32_t
384
Ipv6OptionRouterAlertHeader::GetSerializedSize
()
const
385
{
386
return
GetLength
() + 2;
387
}
388
389
void
390
Ipv6OptionRouterAlertHeader::Serialize
(
Buffer::Iterator
start
)
const
391
{
392
Buffer::Iterator
i =
start
;
393
394
i.
WriteU8
(
GetType
());
395
i.
WriteU8
(
GetLength
());
396
i.
WriteHtonU16
(
m_value
);
397
}
398
399
uint32_t
400
Ipv6OptionRouterAlertHeader::Deserialize
(
Buffer::Iterator
start
)
401
{
402
Buffer::Iterator
i =
start
;
403
404
SetType
(i.
ReadU8
());
405
SetLength
(i.
ReadU8
());
406
m_value
= i.
ReadNtohU16
();
407
408
return
GetSerializedSize
();
409
}
410
411
Ipv6OptionHeader::Alignment
412
Ipv6OptionRouterAlertHeader::GetAlignment
()
const
413
{
414
return
(
Alignment
){2, 0};
// 2n+0
415
}
416
417
}
/* namespace ns3 */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::Buffer::Iterator::ReadU8
uint8_t ReadU8()
Definition:
buffer.h:1027
ns3::Buffer::Iterator::WriteU8
void WriteU8(uint8_t data)
Definition:
buffer.h:881
ns3::Buffer::Iterator::Write
void Write(const uint8_t *buffer, uint32_t size)
Definition:
buffer.cc:948
ns3::Buffer::Iterator::WriteHtonU16
void WriteHtonU16(uint16_t data)
Definition:
buffer.h:915
ns3::Buffer::Iterator::WriteHtonU32
void WriteHtonU32(uint32_t data)
Definition:
buffer.h:933
ns3::Buffer::Iterator::ReadNtohU16
uint16_t ReadNtohU16()
Definition:
buffer.h:954
ns3::Buffer::Iterator::Next
void Next()
go forward by one byte
Definition:
buffer.h:853
ns3::Buffer
automatically resized byte buffer
Definition:
buffer.h:94
ns3::Buffer::Begin
Buffer::Iterator Begin() const
Definition:
buffer.h:1074
ns3::Buffer::AddAtEnd
void AddAtEnd(uint32_t end)
Definition:
buffer.cc:360
ns3::Buffer::End
Buffer::Iterator End() const
Definition:
buffer.h:1081
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::Ipv6OptionHeader
Header for IPv6 Option.
Definition:
ipv6-option-header.h:36
ns3::Ipv6OptionHeader::Ipv6OptionHeader
Ipv6OptionHeader()
Constructor.
Definition:
ipv6-option-header.cc:49
ns3::Ipv6OptionHeader::GetLength
uint8_t GetLength() const
Get the option length.
Definition:
ipv6-option-header.cc:78
ns3::Ipv6OptionHeader::m_type
uint8_t m_type
The type of the option.
Definition:
ipv6-option-header.h:135
ns3::Ipv6OptionHeader::SetLength
void SetLength(uint8_t length)
Set the option length.
Definition:
ipv6-option-header.cc:72
ns3::Ipv6OptionHeader::SetType
void SetType(uint8_t type)
Set the type of the option.
Definition:
ipv6-option-header.cc:60
ns3::Ipv6OptionHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-option-header.cc:96
ns3::Ipv6OptionHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-option-header.cc:84
ns3::Ipv6OptionHeader::GetType
uint8_t GetType() const
Get the type of the option.
Definition:
ipv6-option-header.cc:66
ns3::Ipv6OptionHeader::GetAlignment
virtual Alignment GetAlignment() const
Get the Alignment requirement of this option header.
Definition:
ipv6-option-header.cc:125
ns3::Ipv6OptionHeader::m_length
uint8_t m_length
The option length.
Definition:
ipv6-option-header.h:140
ns3::Ipv6OptionHeader::~Ipv6OptionHeader
~Ipv6OptionHeader() override
Destructor.
Definition:
ipv6-option-header.cc:55
ns3::Ipv6OptionHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:34
ns3::Ipv6OptionHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-option-header.cc:44
ns3::Ipv6OptionHeader::m_data
Buffer m_data
The anonymous data of this option.
Definition:
ipv6-option-header.h:145
ns3::Ipv6OptionHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:90
ns3::Ipv6OptionJumbogramHeader
Header of IPv6 Option Jumbogram.
Definition:
ipv6-option-header.h:267
ns3::Ipv6OptionJumbogramHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:256
ns3::Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader
Ipv6OptionJumbogramHeader()
Constructor.
Definition:
ipv6-option-header.cc:271
ns3::Ipv6OptionJumbogramHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-option-header.cc:308
ns3::Ipv6OptionJumbogramHeader::GetAlignment
Alignment GetAlignment() const override
Get the Alignment requirement of this option header.
Definition:
ipv6-option-header.cc:330
ns3::Ipv6OptionJumbogramHeader::~Ipv6OptionJumbogramHeader
~Ipv6OptionJumbogramHeader() override
Destructor.
Definition:
ipv6-option-header.cc:278
ns3::Ipv6OptionJumbogramHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-option-header.cc:266
ns3::Ipv6OptionJumbogramHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:302
ns3::Ipv6OptionJumbogramHeader::SetDataLength
void SetDataLength(uint32_t dataLength)
Set the data length.
Definition:
ipv6-option-header.cc:283
ns3::Ipv6OptionJumbogramHeader::m_dataLength
uint32_t m_dataLength
The data length.
Definition:
ipv6-option-header.h:338
ns3::Ipv6OptionJumbogramHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-option-header.cc:295
ns3::Ipv6OptionJumbogramHeader::GetDataLength
uint32_t GetDataLength() const
Get the data length.
Definition:
ipv6-option-header.cc:289
ns3::Ipv6OptionPad1Header
Header of IPv6 Option Pad1.
Definition:
ipv6-option-header.h:154
ns3::Ipv6OptionPad1Header::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-option-header.cc:143
ns3::Ipv6OptionPad1Header::Ipv6OptionPad1Header
Ipv6OptionPad1Header()
Constructor.
Definition:
ipv6-option-header.cc:148
ns3::Ipv6OptionPad1Header::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-option-header.cc:158
ns3::Ipv6OptionPad1Header::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:133
ns3::Ipv6OptionPad1Header::~Ipv6OptionPad1Header
~Ipv6OptionPad1Header() override
Destructor.
Definition:
ipv6-option-header.cc:153
ns3::Ipv6OptionPad1Header::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:164
ns3::Ipv6OptionPad1Header::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-option-header.cc:170
ns3::Ipv6OptionPadnHeader
Header of IPv6 Option Padn.
Definition:
ipv6-option-header.h:210
ns3::Ipv6OptionPadnHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:190
ns3::Ipv6OptionPadnHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:223
ns3::Ipv6OptionPadnHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-option-header.cc:200
ns3::Ipv6OptionPadnHeader::Ipv6OptionPadnHeader
Ipv6OptionPadnHeader(uint32_t pad=2)
Constructor.
Definition:
ipv6-option-header.cc:205
ns3::Ipv6OptionPadnHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-option-header.cc:217
ns3::Ipv6OptionPadnHeader::~Ipv6OptionPadnHeader
~Ipv6OptionPadnHeader() override
Destructor.
Definition:
ipv6-option-header.cc:212
ns3::Ipv6OptionPadnHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-option-header.cc:229
ns3::Ipv6OptionRouterAlertHeader
Header of IPv6 Option Router Alert.
Definition:
ipv6-option-header.h:347
ns3::Ipv6OptionRouterAlertHeader::Ipv6OptionRouterAlertHeader
Ipv6OptionRouterAlertHeader()
Constructor.
Definition:
ipv6-option-header.cc:353
ns3::Ipv6OptionRouterAlertHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-option-header.cc:390
ns3::Ipv6OptionRouterAlertHeader::SetValue
void SetValue(uint16_t value)
Set the field "value".
Definition:
ipv6-option-header.cc:365
ns3::Ipv6OptionRouterAlertHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-option-header.cc:348
ns3::Ipv6OptionRouterAlertHeader::m_value
uint16_t m_value
The value.
Definition:
ipv6-option-header.h:418
ns3::Ipv6OptionRouterAlertHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:338
ns3::Ipv6OptionRouterAlertHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:384
ns3::Ipv6OptionRouterAlertHeader::GetAlignment
Alignment GetAlignment() const override
Get the Alignment requirement of this option header.
Definition:
ipv6-option-header.cc:412
ns3::Ipv6OptionRouterAlertHeader::GetValue
uint16_t GetValue() const
Get the field "value".
Definition:
ipv6-option-header.cc:371
ns3::Ipv6OptionRouterAlertHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-option-header.cc:377
ns3::Ipv6OptionRouterAlertHeader::~Ipv6OptionRouterAlertHeader
~Ipv6OptionRouterAlertHeader() override
Destructor.
Definition:
ipv6-option-header.cc:360
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::TypeId::AddConstructor
TypeId AddConstructor()
Record in this TypeId the fact that the default constructor is accessible.
Definition:
type-id.h:651
NS_ASSERT_MSG
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
Definition:
assert.h:86
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition:
log.h:202
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition:
object-base.h:46
ipv6-option-header.h
check-style-clang-format.type
type
Definition:
check-style-clang-format.py:704
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
two-ray-to-three-gpp-ch-calibration.start
start
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
ns3::Ipv6OptionHeader::Alignment
represents the alignment requirements of an option header
Definition:
ipv6-option-header.h:46
src
internet
model
ipv6-option-header.cc
Generated on Sun Mar 3 2024 17:10:58 for ns-3 by
1.9.1