A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
src
internet
model
ipv6-extension-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_EXTENSION_HEADER_H
22
#define IPV6_EXTENSION_HEADER_H
23
24
#include <vector>
25
#include <list>
26
#include <ostream>
27
28
#include "ns3/header.h"
29
#include "ns3/ipv6-address.h"
30
#include "
ipv6-option-header.h
"
31
32
namespace
ns3
33
{
34
40
class
Ipv6ExtensionHeader
:
public
Header
41
{
42
public
:
47
static
TypeId
GetTypeId
();
48
53
virtual
TypeId
GetInstanceTypeId
()
const
;
54
58
Ipv6ExtensionHeader
();
59
63
virtual
~Ipv6ExtensionHeader
();
64
69
void
SetNextHeader
(uint8_t nextHeader);
70
75
uint8_t
GetNextHeader
()
const
;
76
81
void
SetLength
(uint16_t length);
82
87
uint16_t
GetLength
()
const
;
88
94
virtual
void
Print
(std::ostream &os)
const
;
95
100
virtual
uint32_t
GetSerializedSize
()
const
;
101
106
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
107
113
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
114
115
protected
:
119
uint8_t
m_length
;
120
121
private
:
125
uint8_t
m_nextHeader
;
126
130
Buffer
m_data
;
131
};
132
145
class
OptionField
146
{
147
public
:
152
OptionField
(uint32_t optionsOffset);
153
157
~OptionField
();
158
163
uint32_t
GetSerializedSize
()
const
;
164
169
void
Serialize
(
Buffer::Iterator
start
)
const
;
170
177
uint32_t
Deserialize
(
Buffer::Iterator
start
, uint32_t length);
178
183
void
AddOption
(
Ipv6OptionHeader
const
& option);
184
190
uint32_t
GetOptionsOffset
();
191
196
Buffer
GetOptionBuffer
();
197
198
private
:
199
205
uint32_t
CalculatePad
(
Ipv6OptionHeader::Alignment
alignment)
const
;
206
210
Buffer
m_optionData
;
211
215
uint32_t
m_optionsOffset
;
216
};
217
223
class
Ipv6ExtensionHopByHopHeader
:
public
Ipv6ExtensionHeader
,
public
OptionField
224
{
225
public
:
230
static
TypeId
GetTypeId
();
231
236
virtual
TypeId
GetInstanceTypeId
()
const
;
237
241
Ipv6ExtensionHopByHopHeader
();
242
246
virtual
~Ipv6ExtensionHopByHopHeader
();
247
253
virtual
void
Print
(std::ostream &os)
const
;
254
259
virtual
uint32_t
GetSerializedSize
()
const
;
260
265
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
266
272
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
273
};
274
280
class
Ipv6ExtensionDestinationHeader
:
public
Ipv6ExtensionHeader
,
public
OptionField
281
{
282
public
:
287
static
TypeId
GetTypeId
();
288
293
virtual
TypeId
GetInstanceTypeId
()
const
;
294
298
Ipv6ExtensionDestinationHeader
();
299
303
virtual
~Ipv6ExtensionDestinationHeader
();
304
310
virtual
void
Print
(std::ostream &os)
const
;
311
316
virtual
uint32_t
GetSerializedSize
()
const
;
317
322
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
323
329
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
330
};
331
337
class
Ipv6ExtensionFragmentHeader
:
public
Ipv6ExtensionHeader
338
{
339
public
:
344
static
TypeId
GetTypeId
();
345
350
virtual
TypeId
GetInstanceTypeId
()
const
;
351
355
Ipv6ExtensionFragmentHeader
();
356
360
virtual
~Ipv6ExtensionFragmentHeader
();
361
366
void
SetOffset
(uint16_t offset);
367
372
uint16_t
GetOffset
()
const
;
373
378
void
SetMoreFragment
(
bool
moreFragment);
379
384
bool
GetMoreFragment
()
const
;
385
390
void
SetIdentification
(uint32_t identification);
391
396
uint32_t
GetIdentification
()
const
;
397
403
virtual
void
Print
(std::ostream &os)
const
;
404
409
virtual
uint32_t
GetSerializedSize
()
const
;
410
415
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
416
422
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
423
424
private
:
428
uint16_t
m_offset
;
429
433
uint32_t
m_identification
;
434
};
435
441
class
Ipv6ExtensionRoutingHeader
:
public
Ipv6ExtensionHeader
442
{
443
public
:
448
static
TypeId
GetTypeId
();
449
454
virtual
TypeId
GetInstanceTypeId
()
const
;
455
459
Ipv6ExtensionRoutingHeader
();
460
464
virtual
~Ipv6ExtensionRoutingHeader
();
465
470
void
SetTypeRouting
(uint8_t typeRouting);
471
476
uint8_t
GetTypeRouting
()
const
;
477
482
void
SetSegmentsLeft
(uint8_t segmentsLeft);
483
488
uint8_t
GetSegmentsLeft
()
const
;
489
495
virtual
void
Print
(std::ostream &os)
const
;
496
501
virtual
uint32_t
GetSerializedSize
()
const
;
502
507
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
508
514
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
515
516
private
:
520
uint8_t
m_typeRouting
;
521
525
uint8_t
m_segmentsLeft
;
526
};
527
533
class
Ipv6ExtensionLooseRoutingHeader
:
public
Ipv6ExtensionRoutingHeader
534
{
535
public
:
540
static
TypeId
GetTypeId
();
541
546
virtual
TypeId
GetInstanceTypeId
()
const
;
547
551
Ipv6ExtensionLooseRoutingHeader
();
552
556
virtual
~Ipv6ExtensionLooseRoutingHeader
();
557
562
void
SetNumberAddress
(uint8_t
n
);
563
568
void
SetRoutersAddress
(std::vector<Ipv6Address> routersAddress);
569
574
std::vector<Ipv6Address>
GetRoutersAddress
()
const
;
575
581
void
SetRouterAddress
(uint8_t index,
Ipv6Address
addr);
582
588
Ipv6Address
GetRouterAddress
(uint8_t index)
const
;
589
595
virtual
void
Print
(std::ostream &os)
const
;
596
601
virtual
uint32_t
GetSerializedSize
()
const
;
602
607
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
608
614
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
615
616
private
:
620
typedef
std::vector<Ipv6Address>
VectorIpv6Address_t
;
621
625
VectorIpv6Address_t
m_routersAddress
;
626
};
627
633
class
Ipv6ExtensionESPHeader
:
public
Ipv6ExtensionHeader
634
{
635
public
:
640
static
TypeId
GetTypeId
();
641
646
virtual
TypeId
GetInstanceTypeId
()
const
;
647
651
Ipv6ExtensionESPHeader
();
652
656
virtual
~Ipv6ExtensionESPHeader
();
657
663
virtual
void
Print
(std::ostream &os)
const
;
664
669
virtual
uint32_t
GetSerializedSize
()
const
;
670
675
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
676
682
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
683
};
684
690
class
Ipv6ExtensionAHHeader
:
public
Ipv6ExtensionHeader
691
{
692
public
:
697
static
TypeId
GetTypeId
();
698
703
virtual
TypeId
GetInstanceTypeId
()
const
;
704
708
Ipv6ExtensionAHHeader
();
709
713
virtual
~Ipv6ExtensionAHHeader
();
714
720
virtual
void
Print
(std::ostream &os)
const
;
721
726
virtual
uint32_t
GetSerializedSize
()
const
;
727
732
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
733
739
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
740
};
741
742
}
// namespace ns3
743
744
#endif
/* IPV6_EXTENSION_HEADER_H */
745
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:42
ns3::Ipv6ExtensionHeader::m_length
uint8_t m_length
The "length" field.
Definition:
ipv6-extension-header.h:119
ns3::Ipv6ExtensionFragmentHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:379
ns3::Ipv6ExtensionFragmentHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:321
ns3::Ipv6ExtensionRoutingHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:472
ns3::OptionField::Deserialize
uint32_t Deserialize(Buffer::Iterator start, uint32_t length)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:159
ns3::Ipv6ExtensionAHHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:678
ns3::Ipv6ExtensionESPHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:642
ns3::Ipv6ExtensionAHHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:689
ns3::Ipv6ExtensionAHHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:694
ns3::Ipv6ExtensionDestinationHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:308
ns3::Ipv6ExtensionESPHeader
Header of IPv6 Extension ESP.
Definition:
ipv6-extension-header.h:633
ns3::Ipv6ExtensionESPHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:636
ns3::OptionField::GetOptionBuffer
Buffer GetOptionBuffer()
Get the buffer.
Definition:
ipv6-extension-header.cc:201
ns3::Ipv6OptionHeader
Header for IPv6 Option.
Definition:
ipv6-option-header.h:36
ns3::Ipv6ExtensionRoutingHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:426
ns3::OptionField::~OptionField
~OptionField()
Destructor.
Definition:
ipv6-extension-header.cc:135
ns3::Ipv6ExtensionRoutingHeader
Header of IPv6 Extension Routing.
Definition:
ipv6-extension-header.h:441
ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting
void SetTypeRouting(uint8_t typeRouting)
Set the "Type of Routing" field.
Definition:
ipv6-extension-header.cc:441
ns3::Ipv6ExtensionFragmentHeader::m_offset
uint16_t m_offset
Offset of the fragment and More Fragment bit.
Definition:
ipv6-extension-header.h:428
ns3::Ipv6ExtensionLooseRoutingHeader::GetRouterAddress
Ipv6Address GetRouterAddress(uint8_t index) const
Get a Router IPv6 Address.
Definition:
ipv6-extension-header.cc:541
ns3::Buffer
automatically resized byte buffer
Definition:
buffer.h:92
visualizer.core.start
def start()
Definition:
core.py:1844
ns3::Ipv6ExtensionFragmentHeader::GetOffset
uint16_t GetOffset() const
Get the field "Offset".
Definition:
ipv6-extension-header.cc:354
ns3::Ipv6ExtensionRoutingHeader::~Ipv6ExtensionRoutingHeader
virtual ~Ipv6ExtensionRoutingHeader()
Destructor.
Definition:
ipv6-extension-header.cc:437
ns3::Ipv6ExtensionRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:416
ns3::Ipv6ExtensionHeader::GetNextHeader
uint8_t GetNextHeader() const
Get the next header.
Definition:
ipv6-extension-header.cc:64
ns3::Ipv6ExtensionHeader::GetLength
uint16_t GetLength() const
Get the length of the extension.
Definition:
ipv6-extension-header.cc:78
ns3::Ipv6ExtensionHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:43
ns3::OptionField::m_optionData
Buffer m_optionData
Data payload.
Definition:
ipv6-extension-header.h:210
ns3::Ipv6ExtensionFragmentHeader::GetIdentification
uint32_t GetIdentification() const
Get the field "Identification".
Definition:
ipv6-extension-header.cc:374
ns3::Ipv6ExtensionFragmentHeader::SetOffset
void SetOffset(uint16_t offset)
Set the "Offset" field.
Definition:
ipv6-extension-header.cc:347
ns3::Ipv6ExtensionESPHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:608
ns3::Ipv6ExtensionFragmentHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:331
ns3::Ipv6ExtensionHopByHopHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:209
ipv6-option-header.h
ns3::Ipv6OptionHeader::Alignment
represents the alignment requirements of an option header
Definition:
ipv6-option-header.h:47
ns3::Ipv6ExtensionAHHeader::Ipv6ExtensionAHHeader
Ipv6ExtensionAHHeader()
Constructor.
Definition:
ipv6-extension-header.cc:670
ns3::Ipv6ExtensionHopByHopHeader
Header of IPv6 Extension "Hop by Hop".
Definition:
ipv6-extension-header.h:223
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::Ipv6ExtensionAHHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:655
ns3::Ipv6ExtensionHopByHopHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:238
ns3::Ipv6ExtensionLooseRoutingHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:564
ns3::Ipv6ExtensionDestinationHeader::~Ipv6ExtensionDestinationHeader
virtual ~Ipv6ExtensionDestinationHeader()
Destructor.
Definition:
ipv6-extension-header.cc:285
ns3::Ipv6ExtensionHeader::m_nextHeader
uint8_t m_nextHeader
The "next header" field.
Definition:
ipv6-extension-header.h:125
sample-rng-plot.n
n
Definition:
sample-rng-plot.py:37
ns3::Ipv6ExtensionLooseRoutingHeader::VectorIpv6Address_t
std::vector< Ipv6Address > VectorIpv6Address_t
A vector of IPv6 Address.
Definition:
ipv6-extension-header.h:620
ns3::Ipv6ExtensionLooseRoutingHeader
Header of IPv6 Extension Routing : Type 0 (Loose Routing)
Definition:
ipv6-extension-header.h:533
ns3::OptionField
Option field for an IPv6ExtensionHeader.
Definition:
ipv6-extension-header.h:145
ns3::Ipv6ExtensionHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:33
ns3::Ipv6ExtensionRoutingHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:482
ns3::Ipv6ExtensionAHHeader
Header of IPv6 Extension AH.
Definition:
ipv6-extension-header.h:690
ns3::Ipv6ExtensionHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:88
ns3::Ipv6ExtensionHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:93
ns3::Ipv6ExtensionESPHeader::~Ipv6ExtensionESPHeader
virtual ~Ipv6ExtensionESPHeader()
Destructor.
Definition:
ipv6-extension-header.cc:627
ns3::OptionField::CalculatePad
uint32_t CalculatePad(Ipv6OptionHeader::Alignment alignment) const
Calculate padding.
Definition:
ipv6-extension-header.cc:191
ns3::Ipv6ExtensionESPHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:647
ns3::Ipv6ExtensionESPHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:631
ns3::Ipv6ExtensionDestinationHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:289
ns3::Ipv6ExtensionLooseRoutingHeader::m_routersAddress
VectorIpv6Address_t m_routersAddress
The vector of Routers' IPv6 Address.
Definition:
ipv6-extension-header.h:625
ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting
uint8_t GetTypeRouting() const
Get the field "Type of Routing".
Definition:
ipv6-extension-header.cc:446
ns3::Ipv6ExtensionFragmentHeader::SetMoreFragment
void SetMoreFragment(bool moreFragment)
Set the status of "More Fragment" bit.
Definition:
ipv6-extension-header.cc:359
ns3::Ipv6ExtensionFragmentHeader::SetIdentification
void SetIdentification(uint32_t identification)
Set the "Identification" field.
Definition:
ipv6-extension-header.cc:369
ns3::Ipv6ExtensionLooseRoutingHeader::GetRoutersAddress
std::vector< Ipv6Address > GetRoutersAddress() const
Get the vector of routers' address.
Definition:
ipv6-extension-header.cc:531
ns3::Ipv6ExtensionRoutingHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:467
ns3::Ipv6ExtensionHopByHopHeader::Ipv6ExtensionHopByHopHeader
Ipv6ExtensionHopByHopHeader()
Constructor.
Definition:
ipv6-extension-header.cc:224
ns3::OptionField::m_optionsOffset
uint32_t m_optionsOffset
Offset.
Definition:
ipv6-extension-header.h:215
ns3::Ipv6ExtensionAHHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:683
ns3::Ipv6ExtensionFragmentHeader::~Ipv6ExtensionFragmentHeader
virtual ~Ipv6ExtensionFragmentHeader()
Destructor.
Definition:
ipv6-extension-header.cc:343
ns3::Ipv6ExtensionHeader::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the "Next header" field.
Definition:
ipv6-extension-header.cc:59
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::OptionField::Serialize
void Serialize(Buffer::Iterator start) const
Serialize all added options.
Definition:
ipv6-extension-header.cc:144
ns3::Ipv6ExtensionDestinationHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:299
ns3::Ipv6ExtensionAHHeader::~Ipv6ExtensionAHHeader
virtual ~Ipv6ExtensionAHHeader()
Destructor.
Definition:
ipv6-extension-header.cc:674
ns3::Ipv6ExtensionHeader::m_data
Buffer m_data
The data of the extension.
Definition:
ipv6-extension-header.h:130
ns3::Ipv6ExtensionHopByHopHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:243
ns3::OptionField::AddOption
void AddOption(Ipv6OptionHeader const &option)
Serialize the option, prepending pad1 or padn option as necessary.
Definition:
ipv6-extension-header.cc:170
ns3::Ipv6ExtensionHeader::~Ipv6ExtensionHeader
virtual ~Ipv6ExtensionHeader()
Destructor.
Definition:
ipv6-extension-header.cc:55
ns3::Ipv6ExtensionFragmentHeader::Ipv6ExtensionFragmentHeader
Ipv6ExtensionFragmentHeader()
Constructor.
Definition:
ipv6-extension-header.cc:336
ns3::Ipv6ExtensionFragmentHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:390
ns3::Ipv6ExtensionHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:102
ns3::Ipv6ExtensionFragmentHeader::m_identification
uint32_t m_identification
Identifier of the packet.
Definition:
ipv6-extension-header.h:433
ns3::Ipv6ExtensionRoutingHeader::Ipv6ExtensionRoutingHeader
Ipv6ExtensionRoutingHeader()
Constructor.
Definition:
ipv6-extension-header.cc:431
ns3::Ipv6Address
Describes an IPv6 address.
Definition:
ipv6-address.h:49
ns3::Ipv6ExtensionLooseRoutingHeader::SetRoutersAddress
void SetRoutersAddress(std::vector< Ipv6Address > routersAddress)
Set the vector of routers' address.
Definition:
ipv6-extension-header.cc:526
ns3::Ipv6ExtensionFragmentHeader::GetMoreFragment
bool GetMoreFragment() const
Get the status of "More Fragment" bit.
Definition:
ipv6-extension-header.cc:364
ns3::Ipv6ExtensionDestinationHeader
Header of IPv6 Extension Destination.
Definition:
ipv6-extension-header.h:280
ns3::OptionField::GetOptionsOffset
uint32_t GetOptionsOffset()
Get the offset where the options begin, measured from the start of the extension header.
Definition:
ipv6-extension-header.cc:196
ns3::Ipv6ExtensionDestinationHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:294
ns3::OptionField::GetSerializedSize
uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:139
ns3::Ipv6ExtensionHeader
Header for IPv6 Extension.
Definition:
ipv6-extension-header.h:40
ns3::Ipv6ExtensionHopByHopHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:233
ns3::Ipv6ExtensionRoutingHeader::m_typeRouting
uint8_t m_typeRouting
Type of routing.
Definition:
ipv6-extension-header.h:520
ns3::Ipv6ExtensionFragmentHeader
Header of IPv6 Extension Fragment.
Definition:
ipv6-extension-header.h:337
ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader
Ipv6ExtensionLooseRoutingHeader()
Constructor.
Definition:
ipv6-extension-header.cc:511
ns3::Ipv6ExtensionESPHeader::Ipv6ExtensionESPHeader
Ipv6ExtensionESPHeader()
Constructor.
Definition:
ipv6-extension-header.cc:623
ns3::Ipv6ExtensionAHHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:665
ns3::Ipv6ExtensionHeader::SetLength
void SetLength(uint16_t length)
brief Set the length of the extension.
Definition:
ipv6-extension-header.cc:69
ns3::OptionField::OptionField
OptionField(uint32_t optionsOffset)
Constructor.
Definition:
ipv6-extension-header.cc:129
ns3::Ipv6ExtensionHopByHopHeader::~Ipv6ExtensionHopByHopHeader
virtual ~Ipv6ExtensionHopByHopHeader()
Destructor.
Definition:
ipv6-extension-header.cc:229
ns3::Ipv6ExtensionLooseRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:496
ns3::Ipv6ExtensionFragmentHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:401
ns3::Ipv6ExtensionRoutingHeader::m_segmentsLeft
uint8_t m_segmentsLeft
Number of left segments.
Definition:
ipv6-extension-header.h:525
ns3::Ipv6ExtensionHopByHopHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:252
ns3::Ipv6ExtensionRoutingHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:461
ns3::Ipv6ExtensionDestinationHeader::Ipv6ExtensionDestinationHeader
Ipv6ExtensionDestinationHeader()
Constructor.
Definition:
ipv6-extension-header.cc:280
ns3::Ipv6ExtensionFragmentHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:385
ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft
uint8_t GetSegmentsLeft() const
Get the field "Segments left".
Definition:
ipv6-extension-header.cc:456
ns3::Ipv6ExtensionHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:83
ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress
void SetRouterAddress(uint8_t index, Ipv6Address addr)
Set a Router IPv6 Address.
Definition:
ipv6-extension-header.cc:536
ns3::Ipv6ExtensionLooseRoutingHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:559
ns3::Ipv6ExtensionLooseRoutingHeader::SetNumberAddress
void SetNumberAddress(uint8_t n)
Set the number of routers' address.
Definition:
ipv6-extension-header.cc:520
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:58
ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:584
ns3::Ipv6ExtensionDestinationHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:275
ns3::Ipv6ExtensionHopByHopHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:219
ns3::Ipv6ExtensionHeader::Ipv6ExtensionHeader
Ipv6ExtensionHeader()
Constructor.
Definition:
ipv6-extension-header.cc:48
ns3::Ipv6ExtensionLooseRoutingHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:506
ns3::Ipv6ExtensionESPHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:618
ns3::Ipv6ExtensionLooseRoutingHeader::~Ipv6ExtensionLooseRoutingHeader
virtual ~Ipv6ExtensionLooseRoutingHeader()
Destructor.
Definition:
ipv6-extension-header.cc:516
ns3::Ipv6ExtensionLooseRoutingHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:546
ns3::Ipv6ExtensionDestinationHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:265
ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft
void SetSegmentsLeft(uint8_t segmentsLeft)
Set the "Segments left" field.
Definition:
ipv6-extension-header.cc:451
Generated on Wed Nov 7 2018 10:01:55 for ns-3 by
1.8.14