A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
ipv6-extension-header.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-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
#ifndef IPV6_EXTENSION_HEADER_H
21
#define IPV6_EXTENSION_HEADER_H
22
23
#include "
ipv6-option-header.h
"
24
25
#include "ns3/header.h"
26
#include "ns3/ipv6-address.h"
27
28
#include <list>
29
#include <ostream>
30
#include <vector>
31
32
namespace
ns3
33
{
34
40
class
Ipv6ExtensionHeader
:
public
Header
41
{
42
public
:
47
static
TypeId
GetTypeId
();
48
53
TypeId
GetInstanceTypeId
()
const override
;
54
58
Ipv6ExtensionHeader
();
59
63
~Ipv6ExtensionHeader
()
override
;
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
93
void
Print
(std::ostream& os)
const override
;
94
99
uint32_t
GetSerializedSize
()
const override
;
100
105
void
Serialize
(
Buffer::Iterator
start
)
const override
;
106
112
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
113
114
protected
:
118
uint8_t
m_length
;
119
120
private
:
124
uint8_t
m_nextHeader
;
125
129
Buffer
m_data
;
130
};
131
144
class
OptionField
145
{
146
public
:
151
OptionField
(uint32_t optionsOffset);
152
156
~OptionField
();
157
162
uint32_t
GetSerializedSize
()
const
;
163
168
void
Serialize
(
Buffer::Iterator
start
)
const
;
169
176
uint32_t
Deserialize
(
Buffer::Iterator
start
, uint32_t length);
177
182
void
AddOption
(
const
Ipv6OptionHeader
& option);
183
189
uint32_t
GetOptionsOffset
()
const
;
190
195
Buffer
GetOptionBuffer
();
196
197
private
:
203
uint32_t
CalculatePad
(
Ipv6OptionHeader::Alignment
alignment)
const
;
204
208
Buffer
m_optionData
;
209
213
uint32_t
m_optionsOffset
;
214
};
215
221
class
Ipv6ExtensionHopByHopHeader
:
public
Ipv6ExtensionHeader
,
public
OptionField
222
{
223
public
:
228
static
TypeId
GetTypeId
();
229
234
TypeId
GetInstanceTypeId
()
const override
;
235
239
Ipv6ExtensionHopByHopHeader
();
240
244
~Ipv6ExtensionHopByHopHeader
()
override
;
245
250
void
Print
(std::ostream& os)
const override
;
251
256
uint32_t
GetSerializedSize
()
const override
;
257
262
void
Serialize
(
Buffer::Iterator
start
)
const override
;
263
269
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
270
};
271
277
class
Ipv6ExtensionDestinationHeader
:
public
Ipv6ExtensionHeader
,
public
OptionField
278
{
279
public
:
284
static
TypeId
GetTypeId
();
285
290
TypeId
GetInstanceTypeId
()
const override
;
291
295
Ipv6ExtensionDestinationHeader
();
296
300
~Ipv6ExtensionDestinationHeader
()
override
;
301
306
void
Print
(std::ostream& os)
const override
;
307
312
uint32_t
GetSerializedSize
()
const override
;
313
318
void
Serialize
(
Buffer::Iterator
start
)
const override
;
319
325
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
326
};
327
333
class
Ipv6ExtensionFragmentHeader
:
public
Ipv6ExtensionHeader
334
{
335
public
:
340
static
TypeId
GetTypeId
();
341
346
TypeId
GetInstanceTypeId
()
const override
;
347
351
Ipv6ExtensionFragmentHeader
();
352
356
~Ipv6ExtensionFragmentHeader
()
override
;
357
362
void
SetOffset
(uint16_t offset);
363
368
uint16_t
GetOffset
()
const
;
369
374
void
SetMoreFragment
(
bool
moreFragment);
375
380
bool
GetMoreFragment
()
const
;
381
386
void
SetIdentification
(uint32_t identification);
387
392
uint32_t
GetIdentification
()
const
;
393
398
void
Print
(std::ostream& os)
const override
;
399
404
uint32_t
GetSerializedSize
()
const override
;
405
410
void
Serialize
(
Buffer::Iterator
start
)
const override
;
411
417
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
418
419
private
:
423
uint16_t
m_offset
;
424
428
uint32_t
m_identification
;
429
};
430
436
class
Ipv6ExtensionRoutingHeader
:
public
Ipv6ExtensionHeader
437
{
438
public
:
443
static
TypeId
GetTypeId
();
444
449
TypeId
GetInstanceTypeId
()
const override
;
450
454
Ipv6ExtensionRoutingHeader
();
455
459
~Ipv6ExtensionRoutingHeader
()
override
;
460
465
void
SetTypeRouting
(uint8_t typeRouting);
466
471
uint8_t
GetTypeRouting
()
const
;
472
477
void
SetSegmentsLeft
(uint8_t segmentsLeft);
478
483
uint8_t
GetSegmentsLeft
()
const
;
484
489
void
Print
(std::ostream& os)
const override
;
490
495
uint32_t
GetSerializedSize
()
const override
;
496
501
void
Serialize
(
Buffer::Iterator
start
)
const override
;
502
508
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
509
510
private
:
514
uint8_t
m_typeRouting
;
515
519
uint8_t
m_segmentsLeft
;
520
};
521
527
class
Ipv6ExtensionLooseRoutingHeader
:
public
Ipv6ExtensionRoutingHeader
528
{
529
public
:
534
static
TypeId
GetTypeId
();
535
540
TypeId
GetInstanceTypeId
()
const override
;
541
545
Ipv6ExtensionLooseRoutingHeader
();
546
550
~Ipv6ExtensionLooseRoutingHeader
()
override
;
551
556
void
SetNumberAddress
(uint8_t n);
557
562
void
SetRoutersAddress
(std::vector<Ipv6Address> routersAddress);
563
568
std::vector<Ipv6Address>
GetRoutersAddress
()
const
;
569
575
void
SetRouterAddress
(uint8_t index,
Ipv6Address
addr);
576
582
Ipv6Address
GetRouterAddress
(uint8_t index)
const
;
583
588
void
Print
(std::ostream& os)
const override
;
589
594
uint32_t
GetSerializedSize
()
const override
;
595
600
void
Serialize
(
Buffer::Iterator
start
)
const override
;
601
607
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
608
609
private
:
613
typedef
std::vector<Ipv6Address>
VectorIpv6Address_t
;
614
618
VectorIpv6Address_t
m_routersAddress
;
619
};
620
626
class
Ipv6ExtensionESPHeader
:
public
Ipv6ExtensionHeader
627
{
628
public
:
633
static
TypeId
GetTypeId
();
634
639
TypeId
GetInstanceTypeId
()
const override
;
640
644
Ipv6ExtensionESPHeader
();
645
649
~Ipv6ExtensionESPHeader
()
override
;
650
655
void
Print
(std::ostream& os)
const override
;
656
661
uint32_t
GetSerializedSize
()
const override
;
662
667
void
Serialize
(
Buffer::Iterator
start
)
const override
;
668
674
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
675
};
676
682
class
Ipv6ExtensionAHHeader
:
public
Ipv6ExtensionHeader
683
{
684
public
:
689
static
TypeId
GetTypeId
();
690
695
TypeId
GetInstanceTypeId
()
const override
;
696
700
Ipv6ExtensionAHHeader
();
701
705
~Ipv6ExtensionAHHeader
()
override
;
706
711
void
Print
(std::ostream& os)
const override
;
712
717
uint32_t
GetSerializedSize
()
const override
;
718
723
void
Serialize
(
Buffer::Iterator
start
)
const override
;
724
730
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
731
};
732
733
}
// namespace ns3
734
735
#endif
/* IPV6_EXTENSION_HEADER_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::Buffer
automatically resized byte buffer
Definition:
buffer.h:94
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:44
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::Ipv6Address
Describes an IPv6 address.
Definition:
ipv6-address.h:49
ns3::Ipv6ExtensionAHHeader
Header of IPv6 Extension AH.
Definition:
ipv6-extension-header.h:683
ns3::Ipv6ExtensionAHHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:739
ns3::Ipv6ExtensionAHHeader::~Ipv6ExtensionAHHeader
~Ipv6ExtensionAHHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:748
ns3::Ipv6ExtensionAHHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:729
ns3::Ipv6ExtensionAHHeader::Ipv6ExtensionAHHeader
Ipv6ExtensionAHHeader()
Constructor.
Definition:
ipv6-extension-header.cc:744
ns3::Ipv6ExtensionAHHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:759
ns3::Ipv6ExtensionAHHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:753
ns3::Ipv6ExtensionAHHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:766
ns3::Ipv6ExtensionDestinationHeader
Header of IPv6 Extension Destination.
Definition:
ipv6-extension-header.h:278
ns3::Ipv6ExtensionDestinationHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:327
ns3::Ipv6ExtensionDestinationHeader::~Ipv6ExtensionDestinationHeader
~Ipv6ExtensionDestinationHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:315
ns3::Ipv6ExtensionDestinationHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:320
ns3::Ipv6ExtensionDestinationHeader::Ipv6ExtensionDestinationHeader
Ipv6ExtensionDestinationHeader()
Constructor.
Definition:
ipv6-extension-header.cc:310
ns3::Ipv6ExtensionDestinationHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:295
ns3::Ipv6ExtensionDestinationHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:333
ns3::Ipv6ExtensionDestinationHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:305
ns3::Ipv6ExtensionESPHeader
Header of IPv6 Extension ESP.
Definition:
ipv6-extension-header.h:627
ns3::Ipv6ExtensionESPHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:677
ns3::Ipv6ExtensionESPHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:687
ns3::Ipv6ExtensionESPHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:707
ns3::Ipv6ExtensionESPHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:701
ns3::Ipv6ExtensionESPHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:714
ns3::Ipv6ExtensionESPHeader::~Ipv6ExtensionESPHeader
~Ipv6ExtensionESPHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:696
ns3::Ipv6ExtensionESPHeader::Ipv6ExtensionESPHeader
Ipv6ExtensionESPHeader()
Constructor.
Definition:
ipv6-extension-header.cc:692
ns3::Ipv6ExtensionFragmentHeader
Header of IPv6 Extension Fragment.
Definition:
ipv6-extension-header.h:334
ns3::Ipv6ExtensionFragmentHeader::Ipv6ExtensionFragmentHeader
Ipv6ExtensionFragmentHeader()
Constructor.
Definition:
ipv6-extension-header.cc:372
ns3::Ipv6ExtensionFragmentHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:357
ns3::Ipv6ExtensionFragmentHeader::SetIdentification
void SetIdentification(uint32_t identification)
Set the "Identification" field.
Definition:
ipv6-extension-header.cc:410
ns3::Ipv6ExtensionFragmentHeader::SetOffset
void SetOffset(uint16_t offset)
Set the "Offset" field.
Definition:
ipv6-extension-header.cc:384
ns3::Ipv6ExtensionFragmentHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:430
ns3::Ipv6ExtensionFragmentHeader::m_identification
uint32_t m_identification
Identifier of the packet.
Definition:
ipv6-extension-header.h:428
ns3::Ipv6ExtensionFragmentHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:367
ns3::Ipv6ExtensionFragmentHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:422
ns3::Ipv6ExtensionFragmentHeader::m_offset
uint16_t m_offset
Offset of the fragment and More Fragment bit.
Definition:
ipv6-extension-header.h:423
ns3::Ipv6ExtensionFragmentHeader::GetOffset
uint16_t GetOffset() const
Get the field "Offset".
Definition:
ipv6-extension-header.cc:392
ns3::Ipv6ExtensionFragmentHeader::GetMoreFragment
bool GetMoreFragment() const
Get the status of "More Fragment" bit.
Definition:
ipv6-extension-header.cc:404
ns3::Ipv6ExtensionFragmentHeader::GetIdentification
uint32_t GetIdentification() const
Get the field "Identification".
Definition:
ipv6-extension-header.cc:416
ns3::Ipv6ExtensionFragmentHeader::~Ipv6ExtensionFragmentHeader
~Ipv6ExtensionFragmentHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:379
ns3::Ipv6ExtensionFragmentHeader::SetMoreFragment
void SetMoreFragment(bool moreFragment)
Set the status of "More Fragment" bit.
Definition:
ipv6-extension-header.cc:398
ns3::Ipv6ExtensionFragmentHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:436
ns3::Ipv6ExtensionHeader
Header for IPv6 Extension.
Definition:
ipv6-extension-header.h:41
ns3::Ipv6ExtensionHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:90
ns3::Ipv6ExtensionHeader::m_nextHeader
uint8_t m_nextHeader
The "next header" field.
Definition:
ipv6-extension-header.h:124
ns3::Ipv6ExtensionHeader::GetLength
uint16_t GetLength() const
Get the length of the extension.
Definition:
ipv6-extension-header.cc:84
ns3::Ipv6ExtensionHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:97
ns3::Ipv6ExtensionHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:34
ns3::Ipv6ExtensionHeader::SetLength
void SetLength(uint16_t length)
brief Set the length of the extension.
Definition:
ipv6-extension-header.cc:73
ns3::Ipv6ExtensionHeader::m_data
Buffer m_data
The data of the extension.
Definition:
ipv6-extension-header.h:129
ns3::Ipv6ExtensionHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:44
ns3::Ipv6ExtensionHeader::Ipv6ExtensionHeader
Ipv6ExtensionHeader()
Constructor.
Definition:
ipv6-extension-header.cc:49
ns3::Ipv6ExtensionHeader::~Ipv6ExtensionHeader
~Ipv6ExtensionHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:56
ns3::Ipv6ExtensionHeader::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the "Next header" field.
Definition:
ipv6-extension-header.cc:61
ns3::Ipv6ExtensionHeader::GetNextHeader
uint8_t GetNextHeader() const
Get the next header.
Definition:
ipv6-extension-header.cc:67
ns3::Ipv6ExtensionHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:103
ns3::Ipv6ExtensionHeader::m_length
uint8_t m_length
The "length" field.
Definition:
ipv6-extension-header.h:118
ns3::Ipv6ExtensionHopByHopHeader
Header of IPv6 Extension "Hop by Hop".
Definition:
ipv6-extension-header.h:222
ns3::Ipv6ExtensionHopByHopHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:233
ns3::Ipv6ExtensionHopByHopHeader::Ipv6ExtensionHopByHopHeader
Ipv6ExtensionHopByHopHeader()
Constructor.
Definition:
ipv6-extension-header.cc:248
ns3::Ipv6ExtensionHopByHopHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:271
ns3::Ipv6ExtensionHopByHopHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:243
ns3::Ipv6ExtensionHopByHopHeader::~Ipv6ExtensionHopByHopHeader
~Ipv6ExtensionHopByHopHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:253
ns3::Ipv6ExtensionHopByHopHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:265
ns3::Ipv6ExtensionHopByHopHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:258
ns3::Ipv6ExtensionLooseRoutingHeader
Header of IPv6 Extension Routing : Type 0 (Loose Routing)
Definition:
ipv6-extension-header.h:528
ns3::Ipv6ExtensionLooseRoutingHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:610
ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader
Ipv6ExtensionLooseRoutingHeader()
Constructor.
Definition:
ipv6-extension-header.cc:569
ns3::Ipv6ExtensionLooseRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:554
ns3::Ipv6ExtensionLooseRoutingHeader::GetRoutersAddress
std::vector< Ipv6Address > GetRoutersAddress() const
Get the vector of routers' address.
Definition:
ipv6-extension-header.cc:592
ns3::Ipv6ExtensionLooseRoutingHeader::SetRoutersAddress
void SetRoutersAddress(std::vector< Ipv6Address > routersAddress)
Set the vector of routers' address.
Definition:
ipv6-extension-header.cc:586
ns3::Ipv6ExtensionLooseRoutingHeader::VectorIpv6Address_t
std::vector< Ipv6Address > VectorIpv6Address_t
A vector of IPv6 Address.
Definition:
ipv6-extension-header.h:613
ns3::Ipv6ExtensionLooseRoutingHeader::m_routersAddress
VectorIpv6Address_t m_routersAddress
The vector of Routers' IPv6 Address.
Definition:
ipv6-extension-header.h:618
ns3::Ipv6ExtensionLooseRoutingHeader::GetRouterAddress
Ipv6Address GetRouterAddress(uint8_t index) const
Get a Router IPv6 Address.
Definition:
ipv6-extension-header.cc:604
ns3::Ipv6ExtensionLooseRoutingHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:564
ns3::Ipv6ExtensionLooseRoutingHeader::~Ipv6ExtensionLooseRoutingHeader
~Ipv6ExtensionLooseRoutingHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:574
ns3::Ipv6ExtensionLooseRoutingHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:625
ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress
void SetRouterAddress(uint8_t index, Ipv6Address addr)
Set a Router IPv6 Address.
Definition:
ipv6-extension-header.cc:598
ns3::Ipv6ExtensionLooseRoutingHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:631
ns3::Ipv6ExtensionLooseRoutingHeader::SetNumberAddress
void SetNumberAddress(uint8_t n)
Set the number of routers' address.
Definition:
ipv6-extension-header.cc:579
ns3::Ipv6ExtensionRoutingHeader
Header of IPv6 Extension Routing.
Definition:
ipv6-extension-header.h:437
ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting
void SetTypeRouting(uint8_t typeRouting)
Set the "Type of Routing" field.
Definition:
ipv6-extension-header.cc:490
ns3::Ipv6ExtensionRoutingHeader::m_typeRouting
uint8_t m_typeRouting
Type of routing.
Definition:
ipv6-extension-header.h:514
ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting
uint8_t GetTypeRouting() const
Get the field "Type of Routing".
Definition:
ipv6-extension-header.cc:496
ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft
uint8_t GetSegmentsLeft() const
Get the field "Segments left".
Definition:
ipv6-extension-header.cc:508
ns3::Ipv6ExtensionRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:464
ns3::Ipv6ExtensionRoutingHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
Definition:
ipv6-extension-header.cc:528
ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft
void SetSegmentsLeft(uint8_t segmentsLeft)
Set the "Segments left" field.
Definition:
ipv6-extension-header.cc:502
ns3::Ipv6ExtensionRoutingHeader::m_segmentsLeft
uint8_t m_segmentsLeft
Number of left segments.
Definition:
ipv6-extension-header.h:519
ns3::Ipv6ExtensionRoutingHeader::Print
void Print(std::ostream &os) const override
Print some information about the packet.
Definition:
ipv6-extension-header.cc:514
ns3::Ipv6ExtensionRoutingHeader::Ipv6ExtensionRoutingHeader
Ipv6ExtensionRoutingHeader()
Constructor.
Definition:
ipv6-extension-header.cc:479
ns3::Ipv6ExtensionRoutingHeader::~Ipv6ExtensionRoutingHeader
~Ipv6ExtensionRoutingHeader() override
Destructor.
Definition:
ipv6-extension-header.cc:485
ns3::Ipv6ExtensionRoutingHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the instance type ID.
Definition:
ipv6-extension-header.cc:474
ns3::Ipv6ExtensionRoutingHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:522
ns3::Ipv6OptionHeader
Header for IPv6 Option.
Definition:
ipv6-option-header.h:36
ns3::OptionField
Option field for an IPv6ExtensionHeader.
Definition:
ipv6-extension-header.h:145
ns3::OptionField::GetSerializedSize
uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:151
ns3::OptionField::CalculatePad
uint32_t CalculatePad(Ipv6OptionHeader::Alignment alignment) const
Calculate padding.
Definition:
ipv6-extension-header.cc:213
ns3::OptionField::Serialize
void Serialize(Buffer::Iterator start) const
Serialize all added options.
Definition:
ipv6-extension-header.cc:157
ns3::OptionField::GetOptionsOffset
uint32_t GetOptionsOffset() const
Get the offset where the options begin, measured from the start of the extension header.
Definition:
ipv6-extension-header.cc:219
ns3::OptionField::Deserialize
uint32_t Deserialize(Buffer::Iterator start, uint32_t length)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:176
ns3::OptionField::GetOptionBuffer
Buffer GetOptionBuffer()
Get the buffer.
Definition:
ipv6-extension-header.cc:225
ns3::OptionField::m_optionData
Buffer m_optionData
Data payload.
Definition:
ipv6-extension-header.h:208
ns3::OptionField::OptionField
OptionField(uint32_t optionsOffset)
Constructor.
Definition:
ipv6-extension-header.cc:140
ns3::OptionField::~OptionField
~OptionField()
Destructor.
Definition:
ipv6-extension-header.cc:146
ns3::OptionField::m_optionsOffset
uint32_t m_optionsOffset
Offset.
Definition:
ipv6-extension-header.h:213
ns3::OptionField::AddOption
void AddOption(const Ipv6OptionHeader &option)
Serialize the option, prepending pad1 or padn option as necessary.
Definition:
ipv6-extension-header.cc:188
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ipv6-option-header.h
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-extension-header.h
Generated on Sun Mar 3 2024 17:10:58 for ns-3 by
1.9.1