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
ipv6-option-header.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 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
#ifndef IPV6_OPTION_HEADER_H
22
#define IPV6_OPTION_HEADER_H
23
24
#include <ostream>
25
26
#include "ns3/header.h"
27
28
namespace
ns3
29
{
30
35
class
Ipv6OptionHeader
:
public
Header
36
{
37
public
:
38
46
struct
Alignment
47
{
48
uint8_t
factor
;
49
uint8_t
offset
;
50
};
51
56
static
TypeId
GetTypeId
();
57
62
virtual
TypeId
GetInstanceTypeId
()
const
;
63
67
Ipv6OptionHeader
();
68
72
virtual
~Ipv6OptionHeader
();
73
78
void
SetType
(uint8_t type);
79
84
uint8_t
GetType
()
const
;
85
90
void
SetLength
(uint8_t length);
91
96
uint8_t
GetLength
()
const
;
97
103
virtual
void
Print
(std::ostream &os)
const
;
104
109
virtual
uint32_t
GetSerializedSize
()
const
;
110
115
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
116
122
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
123
131
virtual
Alignment
GetAlignment
()
const
;
132
133
private
:
137
uint8_t
m_type
;
138
142
uint8_t
m_length
;
143
147
Buffer
m_data
;
148
};
149
154
class
Ipv6OptionPad1Header
:
public
Ipv6OptionHeader
155
{
156
public
:
161
static
TypeId
GetTypeId
();
162
167
virtual
TypeId
GetInstanceTypeId
()
const
;
168
172
Ipv6OptionPad1Header
();
173
177
virtual
~Ipv6OptionPad1Header
();
178
184
virtual
void
Print
(std::ostream &os)
const
;
185
190
virtual
uint32_t
GetSerializedSize
()
const
;
191
196
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
197
203
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
204
};
205
210
class
Ipv6OptionPadnHeader
:
public
Ipv6OptionHeader
211
{
212
public
:
217
static
TypeId
GetTypeId
();
218
223
virtual
TypeId
GetInstanceTypeId
()
const
;
224
229
Ipv6OptionPadnHeader
(uint32_t pad = 2);
230
234
virtual
~Ipv6OptionPadnHeader
();
235
241
virtual
void
Print
(std::ostream &os)
const
;
242
247
virtual
uint32_t
GetSerializedSize
()
const
;
248
253
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
254
260
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
261
};
262
267
class
Ipv6OptionJumbogramHeader
:
public
Ipv6OptionHeader
268
{
269
public
:
274
static
TypeId
GetTypeId
();
275
280
virtual
TypeId
GetInstanceTypeId
()
const
;
281
285
Ipv6OptionJumbogramHeader
();
286
290
virtual
~Ipv6OptionJumbogramHeader
();
291
296
void
SetDataLength
(uint32_t dataLength);
297
302
uint32_t
GetDataLength
()
const
;
303
309
virtual
void
Print
(std::ostream &os)
const
;
310
315
virtual
uint32_t
GetSerializedSize
()
const
;
316
321
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
322
328
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
329
334
virtual
Alignment
GetAlignment
()
const
;
335
336
private
:
340
uint32_t
m_dataLength
;
341
};
342
347
class
Ipv6OptionRouterAlertHeader
:
public
Ipv6OptionHeader
348
{
349
public
:
354
static
TypeId
GetTypeId
();
355
360
virtual
TypeId
GetInstanceTypeId
()
const
;
361
365
Ipv6OptionRouterAlertHeader
();
366
370
virtual
~Ipv6OptionRouterAlertHeader
();
371
375
void
SetValue
(uint16_t value);
376
381
uint16_t
GetValue
()
const
;
382
388
virtual
void
Print
(std::ostream &os)
const
;
389
394
virtual
uint32_t
GetSerializedSize
()
const
;
395
400
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
401
407
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start);
408
413
virtual
Alignment
GetAlignment
()
const
;
414
415
private
:
419
uint16_t
m_value
;
420
};
421
422
}
// namespace ns3
423
424
#endif
/* IPV6_OPTION_HEADER_H */
425
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:42
ns3::Ipv6OptionRouterAlertHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-option-header.cc:318
ns3::Ipv6OptionRouterAlertHeader::m_value
uint16_t m_value
The value.
Definition:
ipv6-option-header.h:419
ns3::Ipv6OptionRouterAlertHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-option-header.cc:354
ns3::Ipv6OptionHeader::SetType
void SetType(uint8_t type)
Set the type of the option.
Definition:
ipv6-option-header.cc:59
ns3::Ipv6OptionHeader
Doxygen introspection did not find any typical Config paths.
Definition:
ipv6-option-header.h:35
ns3::Ipv6OptionHeader::GetAlignment
virtual Alignment GetAlignment() const
Get the Alignment requirement of this option header.
Definition:
ipv6-option-header.cc:116
ns3::Ipv6OptionPad1Header::~Ipv6OptionPad1Header
virtual ~Ipv6OptionPad1Header()
Destructor.
Definition:
ipv6-option-header.cc:143
ns3::Ipv6OptionPadnHeader::Ipv6OptionPadnHeader
Ipv6OptionPadnHeader(uint32_t pad=2)
Constructor.
Definition:
ipv6-option-header.cc:190
ns3::Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader
Ipv6OptionJumbogramHeader()
Constructor.
Definition:
ipv6-option-header.cc:251
ns3::Buffer
automatically resized byte buffer
Definition:
buffer.h:92
ns3::Ipv6OptionPad1Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-option-header.cc:164
ns3::Ipv6OptionHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-option-header.cc:44
ns3::Ipv6OptionPadnHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-option-header.cc:211
ns3::Ipv6OptionJumbogramHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:237
ns3::Ipv6OptionRouterAlertHeader::Print
virtual void Print(std::ostream &os) const
Print some informations about the packet.
Definition:
ipv6-option-header.cc:344
ns3::Ipv6OptionHeader::m_type
uint8_t m_type
The type of the option.
Definition:
ipv6-option-header.h:137
ns3::Ipv6OptionPad1Header::Ipv6OptionPad1Header
Ipv6OptionPad1Header()
Constructor.
Definition:
ipv6-option-header.cc:138
ns3::Ipv6OptionPadnHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-option-header.cc:185
ns3::Ipv6OptionPad1Header
Doxygen introspection did not find any typical Config paths.
Definition:
ipv6-option-header.h:154
visualizer.core.start
def start
Definition:
core.py:1482
ns3::Ipv6OptionJumbogramHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-option-header.cc:290
ns3::Ipv6OptionHeader::GetType
uint8_t GetType() const
Get the type of the option.
Definition:
ipv6-option-header.cc:64
ns3::Ipv6OptionRouterAlertHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:309
ns3::Ipv6OptionPad1Header::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-option-header.cc:133
ns3::Ipv6OptionHeader::Alignment
represents the alignment requirements of an option header
Definition:
ipv6-option-header.h:46
ns3::Ipv6OptionPadnHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:206
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::Ipv6OptionRouterAlertHeader::Ipv6OptionRouterAlertHeader
Ipv6OptionRouterAlertHeader()
Constructor.
Definition:
ipv6-option-header.cc:323
ns3::Ipv6OptionRouterAlertHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:349
ns3::Ipv6OptionPadnHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-option-header.cc:224
ns3::Ipv6OptionJumbogramHeader::Print
virtual void Print(std::ostream &os) const
Print some informations 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:246
ns3::Ipv6OptionHeader::~Ipv6OptionHeader
virtual ~Ipv6OptionHeader()
Destructor.
Definition:
ipv6-option-header.cc:55
ns3::Ipv6OptionJumbogramHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:276
ns3::Ipv6OptionPadnHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:176
ns3::Ipv6OptionPadnHeader::Print
virtual void Print(std::ostream &os) const
Print some informations about the packet.
Definition:
ipv6-option-header.cc:201
ns3::Ipv6OptionJumbogramHeader::~Ipv6OptionJumbogramHeader
virtual ~Ipv6OptionJumbogramHeader()
Destructor.
Definition:
ipv6-option-header.cc:257
ns3::Ipv6OptionHeader::m_data
Buffer m_data
The anonymous data of this option.
Definition:
ipv6-option-header.h:147
ns3::Ipv6OptionJumbogramHeader
Doxygen introspection did not find any typical Config paths.
Definition:
ipv6-option-header.h:267
ns3::Ipv6OptionRouterAlertHeader::~Ipv6OptionRouterAlertHeader
virtual ~Ipv6OptionRouterAlertHeader()
Destructor.
Definition:
ipv6-option-header.cc:330
ns3::Ipv6OptionHeader::Alignment::factor
uint8_t factor
Factor.
Definition:
ipv6-option-header.h:48
ns3::Ipv6OptionHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-option-header.cc:89
ns3::Ipv6OptionJumbogramHeader::SetDataLength
void SetDataLength(uint32_t dataLength)
Set the data length.
Definition:
ipv6-option-header.cc:261
ns3::Ipv6OptionJumbogramHeader::GetAlignment
virtual Alignment GetAlignment() const
Get the Alignment requirement of this option header.
Definition:
ipv6-option-header.cc:301
ns3::Ipv6OptionHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-option-header.cc:99
ns3::Ipv6OptionPadnHeader::~Ipv6OptionPadnHeader
virtual ~Ipv6OptionPadnHeader()
Destructor.
Definition:
ipv6-option-header.cc:197
ns3::Ipv6OptionRouterAlertHeader::GetAlignment
virtual Alignment GetAlignment() const
Get the Alignment requirement of this option header.
Definition:
ipv6-option-header.cc:374
ns3::Ipv6OptionPad1Header::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-option-header.cc:157
ns3::Ipv6OptionPad1Header::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:152
ns3::Ipv6OptionRouterAlertHeader::SetValue
void SetValue(uint16_t value)
Set the field "value".
Definition:
ipv6-option-header.cc:334
ns3::Ipv6OptionJumbogramHeader::GetDataLength
uint32_t GetDataLength() const
Get the data length.
Definition:
ipv6-option-header.cc:266
ns3::Ipv6OptionHeader::Alignment::offset
uint8_t offset
Offset.
Definition:
ipv6-option-header.h:49
ns3::Ipv6OptionRouterAlertHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-option-header.cc:363
ns3::Ipv6OptionPad1Header::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:124
ns3::Ipv6OptionJumbogramHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-option-header.cc:281
ns3::Ipv6OptionHeader::GetLength
uint8_t GetLength() const
Get the option length.
Definition:
ipv6-option-header.cc:74
ns3::Ipv6OptionRouterAlertHeader
Doxygen introspection did not find any typical Config paths.
Definition:
ipv6-option-header.h:347
ns3::Ipv6OptionRouterAlertHeader::GetValue
uint16_t GetValue() const
Get the field "value".
Definition:
ipv6-option-header.cc:339
ns3::Ipv6OptionHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-option-header.cc:84
ns3::Ipv6OptionHeader::m_length
uint8_t m_length
The option length.
Definition:
ipv6-option-header.h:142
ns3::Ipv6OptionHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-option-header.cc:35
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::Ipv6OptionHeader::SetLength
void SetLength(uint8_t length)
Set the option length.
Definition:
ipv6-option-header.cc:69
ns3::Ipv6OptionPadnHeader
Doxygen introspection did not find any typical Config paths.
Definition:
ipv6-option-header.h:210
ns3::Ipv6OptionHeader::Print
virtual void Print(std::ostream &os) const
Print some informations about the packet.
Definition:
ipv6-option-header.cc:79
ns3::Ipv6OptionPad1Header::Print
virtual void Print(std::ostream &os) const
Print some informations about the packet.
Definition:
ipv6-option-header.cc:147
ns3::Ipv6OptionJumbogramHeader::m_dataLength
uint32_t m_dataLength
The data length.
Definition:
ipv6-option-header.h:340
ns3::Ipv6OptionHeader::Ipv6OptionHeader
Ipv6OptionHeader()
Constructor.
Definition:
ipv6-option-header.cc:49
src
internet
model
ipv6-option-header.h
Generated on Sat Apr 19 2014 14:06:57 for ns-3 by
1.8.6