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