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