A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
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
93
virtual
void
Print
(std::ostream &os)
const
;
94
99
virtual
uint32_t
GetSerializedSize
()
const
;
100
105
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
106
112
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
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
(
Ipv6OptionHeader
const
& option);
183
189
uint32_t
GetOptionsOffset
();
190
195
Buffer
GetOptionBuffer
();
196
197
private
:
198
204
uint32_t
CalculatePad
(
Ipv6OptionHeader::Alignment
alignment)
const
;
205
209
Buffer
m_optionData
;
210
214
uint32_t
m_optionsOffset
;
215
};
216
222
class
Ipv6ExtensionHopByHopHeader
:
public
Ipv6ExtensionHeader
,
public
OptionField
223
{
224
public
:
229
static
TypeId
GetTypeId
();
230
235
virtual
TypeId
GetInstanceTypeId
()
const
;
236
240
Ipv6ExtensionHopByHopHeader
();
241
245
virtual
~Ipv6ExtensionHopByHopHeader
();
246
251
virtual
void
Print
(std::ostream &os)
const
;
252
257
virtual
uint32_t
GetSerializedSize
()
const
;
258
263
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
264
270
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
271
};
272
278
class
Ipv6ExtensionDestinationHeader
:
public
Ipv6ExtensionHeader
,
public
OptionField
279
{
280
public
:
285
static
TypeId
GetTypeId
();
286
291
virtual
TypeId
GetInstanceTypeId
()
const
;
292
296
Ipv6ExtensionDestinationHeader
();
297
301
virtual
~Ipv6ExtensionDestinationHeader
();
302
307
virtual
void
Print
(std::ostream &os)
const
;
308
313
virtual
uint32_t
GetSerializedSize
()
const
;
314
319
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
320
326
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
327
};
328
334
class
Ipv6ExtensionFragmentHeader
:
public
Ipv6ExtensionHeader
335
{
336
public
:
341
static
TypeId
GetTypeId
();
342
347
virtual
TypeId
GetInstanceTypeId
()
const
;
348
352
Ipv6ExtensionFragmentHeader
();
353
357
virtual
~Ipv6ExtensionFragmentHeader
();
358
363
void
SetOffset
(uint16_t offset);
364
369
uint16_t
GetOffset
()
const
;
370
375
void
SetMoreFragment
(
bool
moreFragment);
376
381
bool
GetMoreFragment
()
const
;
382
387
void
SetIdentification
(uint32_t identification);
388
393
uint32_t
GetIdentification
()
const
;
394
399
virtual
void
Print
(std::ostream &os)
const
;
400
405
virtual
uint32_t
GetSerializedSize
()
const
;
406
411
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
412
418
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
419
420
private
:
424
uint16_t
m_offset
;
425
429
uint32_t
m_identification
;
430
};
431
437
class
Ipv6ExtensionRoutingHeader
:
public
Ipv6ExtensionHeader
438
{
439
public
:
444
static
TypeId
GetTypeId
();
445
450
virtual
TypeId
GetInstanceTypeId
()
const
;
451
455
Ipv6ExtensionRoutingHeader
();
456
460
virtual
~Ipv6ExtensionRoutingHeader
();
461
466
void
SetTypeRouting
(uint8_t typeRouting);
467
472
uint8_t
GetTypeRouting
()
const
;
473
478
void
SetSegmentsLeft
(uint8_t segmentsLeft);
479
484
uint8_t
GetSegmentsLeft
()
const
;
485
490
virtual
void
Print
(std::ostream &os)
const
;
491
496
virtual
uint32_t
GetSerializedSize
()
const
;
497
502
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
503
509
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
510
511
private
:
515
uint8_t
m_typeRouting
;
516
520
uint8_t
m_segmentsLeft
;
521
};
522
528
class
Ipv6ExtensionLooseRoutingHeader
:
public
Ipv6ExtensionRoutingHeader
529
{
530
public
:
535
static
TypeId
GetTypeId
();
536
541
virtual
TypeId
GetInstanceTypeId
()
const
;
542
546
Ipv6ExtensionLooseRoutingHeader
();
547
551
virtual
~Ipv6ExtensionLooseRoutingHeader
();
552
557
void
SetNumberAddress
(uint8_t n);
558
563
void
SetRoutersAddress
(std::vector<Ipv6Address> routersAddress);
564
569
std::vector<Ipv6Address>
GetRoutersAddress
()
const
;
570
576
void
SetRouterAddress
(uint8_t index,
Ipv6Address
addr);
577
583
Ipv6Address
GetRouterAddress
(uint8_t index)
const
;
584
589
virtual
void
Print
(std::ostream &os)
const
;
590
595
virtual
uint32_t
GetSerializedSize
()
const
;
596
601
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
602
608
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
609
610
private
:
614
typedef
std::vector<Ipv6Address>
VectorIpv6Address_t
;
615
619
VectorIpv6Address_t
m_routersAddress
;
620
};
621
627
class
Ipv6ExtensionESPHeader
:
public
Ipv6ExtensionHeader
628
{
629
public
:
634
static
TypeId
GetTypeId
();
635
640
virtual
TypeId
GetInstanceTypeId
()
const
;
641
645
Ipv6ExtensionESPHeader
();
646
650
virtual
~Ipv6ExtensionESPHeader
();
651
656
virtual
void
Print
(std::ostream &os)
const
;
657
662
virtual
uint32_t
GetSerializedSize
()
const
;
663
668
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
669
675
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
676
};
677
683
class
Ipv6ExtensionAHHeader
:
public
Ipv6ExtensionHeader
684
{
685
public
:
690
static
TypeId
GetTypeId
();
691
696
virtual
TypeId
GetInstanceTypeId
()
const
;
697
701
Ipv6ExtensionAHHeader
();
702
706
virtual
~Ipv6ExtensionAHHeader
();
707
712
virtual
void
Print
(std::ostream &os)
const
;
713
718
virtual
uint32_t
GetSerializedSize
()
const
;
719
724
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
725
731
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
732
};
733
734
}
// namespace ns3
735
736
#endif
/* IPV6_EXTENSION_HEADER_H */
737
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:99
ns3::Buffer
automatically resized byte buffer
Definition:
buffer.h:93
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:43
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:50
ns3::Ipv6ExtensionAHHeader
Header of IPv6 Extension AH.
Definition:
ipv6-extension-header.h:684
ns3::Ipv6ExtensionAHHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:665
ns3::Ipv6ExtensionAHHeader::~Ipv6ExtensionAHHeader
virtual ~Ipv6ExtensionAHHeader()
Destructor.
Definition:
ipv6-extension-header.cc:674
ns3::Ipv6ExtensionAHHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:678
ns3::Ipv6ExtensionAHHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:689
ns3::Ipv6ExtensionAHHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:683
ns3::Ipv6ExtensionAHHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:655
ns3::Ipv6ExtensionAHHeader::Ipv6ExtensionAHHeader
Ipv6ExtensionAHHeader()
Constructor.
Definition:
ipv6-extension-header.cc:670
ns3::Ipv6ExtensionDestinationHeader
Header of IPv6 Extension Destination.
Definition:
ipv6-extension-header.h:279
ns3::Ipv6ExtensionDestinationHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:294
ns3::Ipv6ExtensionDestinationHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:275
ns3::Ipv6ExtensionDestinationHeader::~Ipv6ExtensionDestinationHeader
virtual ~Ipv6ExtensionDestinationHeader()
Destructor.
Definition:
ipv6-extension-header.cc:285
ns3::Ipv6ExtensionDestinationHeader::Ipv6ExtensionDestinationHeader
Ipv6ExtensionDestinationHeader()
Constructor.
Definition:
ipv6-extension-header.cc:280
ns3::Ipv6ExtensionDestinationHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:265
ns3::Ipv6ExtensionDestinationHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:289
ns3::Ipv6ExtensionDestinationHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:299
ns3::Ipv6ExtensionESPHeader
Header of IPv6 Extension ESP.
Definition:
ipv6-extension-header.h:628
ns3::Ipv6ExtensionESPHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:608
ns3::Ipv6ExtensionESPHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:636
ns3::Ipv6ExtensionESPHeader::~Ipv6ExtensionESPHeader
virtual ~Ipv6ExtensionESPHeader()
Destructor.
Definition:
ipv6-extension-header.cc:627
ns3::Ipv6ExtensionESPHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:618
ns3::Ipv6ExtensionESPHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:642
ns3::Ipv6ExtensionESPHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:631
ns3::Ipv6ExtensionESPHeader::Ipv6ExtensionESPHeader
Ipv6ExtensionESPHeader()
Constructor.
Definition:
ipv6-extension-header.cc:623
ns3::Ipv6ExtensionFragmentHeader
Header of IPv6 Extension Fragment.
Definition:
ipv6-extension-header.h:335
ns3::Ipv6ExtensionFragmentHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:379
ns3::Ipv6ExtensionFragmentHeader::Ipv6ExtensionFragmentHeader
Ipv6ExtensionFragmentHeader()
Constructor.
Definition:
ipv6-extension-header.cc:336
ns3::Ipv6ExtensionFragmentHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:321
ns3::Ipv6ExtensionFragmentHeader::SetIdentification
void SetIdentification(uint32_t identification)
Set the "Identification" field.
Definition:
ipv6-extension-header.cc:369
ns3::Ipv6ExtensionFragmentHeader::SetOffset
void SetOffset(uint16_t offset)
Set the "Offset" field.
Definition:
ipv6-extension-header.cc:347
ns3::Ipv6ExtensionFragmentHeader::m_identification
uint32_t m_identification
Identifier of the packet.
Definition:
ipv6-extension-header.h:429
ns3::Ipv6ExtensionFragmentHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:331
ns3::Ipv6ExtensionFragmentHeader::~Ipv6ExtensionFragmentHeader
virtual ~Ipv6ExtensionFragmentHeader()
Destructor.
Definition:
ipv6-extension-header.cc:343
ns3::Ipv6ExtensionFragmentHeader::m_offset
uint16_t m_offset
Offset of the fragment and More Fragment bit.
Definition:
ipv6-extension-header.h:424
ns3::Ipv6ExtensionFragmentHeader::GetOffset
uint16_t GetOffset() const
Get the field "Offset".
Definition:
ipv6-extension-header.cc:354
ns3::Ipv6ExtensionFragmentHeader::GetMoreFragment
bool GetMoreFragment() const
Get the status of "More Fragment" bit.
Definition:
ipv6-extension-header.cc:364
ns3::Ipv6ExtensionFragmentHeader::GetIdentification
uint32_t GetIdentification() const
Get the field "Identification".
Definition:
ipv6-extension-header.cc:374
ns3::Ipv6ExtensionFragmentHeader::SetMoreFragment
void SetMoreFragment(bool moreFragment)
Set the status of "More Fragment" bit.
Definition:
ipv6-extension-header.cc:359
ns3::Ipv6ExtensionFragmentHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:390
ns3::Ipv6ExtensionFragmentHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:385
ns3::Ipv6ExtensionHeader
Header for IPv6 Extension.
Definition:
ipv6-extension-header.h:41
ns3::Ipv6ExtensionHeader::m_nextHeader
uint8_t m_nextHeader
The "next header" field.
Definition:
ipv6-extension-header.h:124
ns3::Ipv6ExtensionHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:93
ns3::Ipv6ExtensionHeader::GetLength
uint16_t GetLength() const
Get the length of the extension.
Definition:
ipv6-extension-header.cc:78
ns3::Ipv6ExtensionHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:88
ns3::Ipv6ExtensionHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:33
ns3::Ipv6ExtensionHeader::SetLength
void SetLength(uint16_t length)
brief Set the length of the extension.
Definition:
ipv6-extension-header.cc:69
ns3::Ipv6ExtensionHeader::m_data
Buffer m_data
The data of the extension.
Definition:
ipv6-extension-header.h:129
ns3::Ipv6ExtensionHeader::Ipv6ExtensionHeader
Ipv6ExtensionHeader()
Constructor.
Definition:
ipv6-extension-header.cc:48
ns3::Ipv6ExtensionHeader::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the "Next header" field.
Definition:
ipv6-extension-header.cc:59
ns3::Ipv6ExtensionHeader::~Ipv6ExtensionHeader
virtual ~Ipv6ExtensionHeader()
Destructor.
Definition:
ipv6-extension-header.cc:55
ns3::Ipv6ExtensionHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:83
ns3::Ipv6ExtensionHeader::GetNextHeader
uint8_t GetNextHeader() const
Get the next header.
Definition:
ipv6-extension-header.cc:64
ns3::Ipv6ExtensionHeader::m_length
uint8_t m_length
The "length" field.
Definition:
ipv6-extension-header.h:118
ns3::Ipv6ExtensionHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:43
ns3::Ipv6ExtensionHopByHopHeader
Header of IPv6 Extension "Hop by Hop".
Definition:
ipv6-extension-header.h:223
ns3::Ipv6ExtensionHopByHopHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:233
ns3::Ipv6ExtensionHopByHopHeader::~Ipv6ExtensionHopByHopHeader
virtual ~Ipv6ExtensionHopByHopHeader()
Destructor.
Definition:
ipv6-extension-header.cc:229
ns3::Ipv6ExtensionHopByHopHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:209
ns3::Ipv6ExtensionHopByHopHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:238
ns3::Ipv6ExtensionHopByHopHeader::Ipv6ExtensionHopByHopHeader
Ipv6ExtensionHopByHopHeader()
Constructor.
Definition:
ipv6-extension-header.cc:224
ns3::Ipv6ExtensionHopByHopHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:243
ns3::Ipv6ExtensionHopByHopHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:219
ns3::Ipv6ExtensionLooseRoutingHeader
Header of IPv6 Extension Routing : Type 0 (Loose Routing)
Definition:
ipv6-extension-header.h:529
ns3::Ipv6ExtensionLooseRoutingHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:506
ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader
Ipv6ExtensionLooseRoutingHeader()
Constructor.
Definition:
ipv6-extension-header.cc:511
ns3::Ipv6ExtensionLooseRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:496
ns3::Ipv6ExtensionLooseRoutingHeader::GetRoutersAddress
std::vector< Ipv6Address > GetRoutersAddress() const
Get the vector of routers' address.
Definition:
ipv6-extension-header.cc:531
ns3::Ipv6ExtensionLooseRoutingHeader::SetRoutersAddress
void SetRoutersAddress(std::vector< Ipv6Address > routersAddress)
Set the vector of routers' address.
Definition:
ipv6-extension-header.cc:526
ns3::Ipv6ExtensionLooseRoutingHeader::VectorIpv6Address_t
std::vector< Ipv6Address > VectorIpv6Address_t
A vector of IPv6 Address.
Definition:
ipv6-extension-header.h:614
ns3::Ipv6ExtensionLooseRoutingHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:559
ns3::Ipv6ExtensionLooseRoutingHeader::m_routersAddress
VectorIpv6Address_t m_routersAddress
The vector of Routers' IPv6 Address.
Definition:
ipv6-extension-header.h:619
ns3::Ipv6ExtensionLooseRoutingHeader::GetRouterAddress
Ipv6Address GetRouterAddress(uint8_t index) const
Get a Router IPv6 Address.
Definition:
ipv6-extension-header.cc:541
ns3::Ipv6ExtensionLooseRoutingHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:564
ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress
void SetRouterAddress(uint8_t index, Ipv6Address addr)
Set a Router IPv6 Address.
Definition:
ipv6-extension-header.cc:536
ns3::Ipv6ExtensionLooseRoutingHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:546
ns3::Ipv6ExtensionLooseRoutingHeader::SetNumberAddress
void SetNumberAddress(uint8_t n)
Set the number of routers' address.
Definition:
ipv6-extension-header.cc:520
ns3::Ipv6ExtensionLooseRoutingHeader::~Ipv6ExtensionLooseRoutingHeader
virtual ~Ipv6ExtensionLooseRoutingHeader()
Destructor.
Definition:
ipv6-extension-header.cc:516
ns3::Ipv6ExtensionRoutingHeader
Header of IPv6 Extension Routing.
Definition:
ipv6-extension-header.h:438
ns3::Ipv6ExtensionRoutingHeader::~Ipv6ExtensionRoutingHeader
virtual ~Ipv6ExtensionRoutingHeader()
Destructor.
Definition:
ipv6-extension-header.cc:437
ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting
void SetTypeRouting(uint8_t typeRouting)
Set the "Type of Routing" field.
Definition:
ipv6-extension-header.cc:441
ns3::Ipv6ExtensionRoutingHeader::m_typeRouting
uint8_t m_typeRouting
Type of routing.
Definition:
ipv6-extension-header.h:515
ns3::Ipv6ExtensionRoutingHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition:
ipv6-extension-header.cc:472
ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting
uint8_t GetTypeRouting() const
Get the field "Type of Routing".
Definition:
ipv6-extension-header.cc:446
ns3::Ipv6ExtensionRoutingHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition:
ipv6-extension-header.cc:467
ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft
uint8_t GetSegmentsLeft() const
Get the field "Segments left".
Definition:
ipv6-extension-header.cc:456
ns3::Ipv6ExtensionRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition:
ipv6-extension-header.cc:416
ns3::Ipv6ExtensionRoutingHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition:
ipv6-extension-header.cc:461
ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft
void SetSegmentsLeft(uint8_t segmentsLeft)
Set the "Segments left" field.
Definition:
ipv6-extension-header.cc:451
ns3::Ipv6ExtensionRoutingHeader::m_segmentsLeft
uint8_t m_segmentsLeft
Number of left segments.
Definition:
ipv6-extension-header.h:520
ns3::Ipv6ExtensionRoutingHeader::Ipv6ExtensionRoutingHeader
Ipv6ExtensionRoutingHeader()
Constructor.
Definition:
ipv6-extension-header.cc:431
ns3::Ipv6ExtensionRoutingHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition:
ipv6-extension-header.cc:426
ns3::Ipv6OptionHeader
Header for IPv6 Option.
Definition:
ipv6-option-header.h:37
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:139
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::OptionField::CalculatePad
uint32_t CalculatePad(Ipv6OptionHeader::Alignment alignment) const
Calculate padding.
Definition:
ipv6-extension-header.cc:191
ns3::OptionField::Serialize
void Serialize(Buffer::Iterator start) const
Serialize all added options.
Definition:
ipv6-extension-header.cc:144
ns3::OptionField::Deserialize
uint32_t Deserialize(Buffer::Iterator start, uint32_t length)
Deserialize the packet.
Definition:
ipv6-extension-header.cc:159
ns3::OptionField::GetOptionBuffer
Buffer GetOptionBuffer()
Get the buffer.
Definition:
ipv6-extension-header.cc:201
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::OptionField::m_optionData
Buffer m_optionData
Data payload.
Definition:
ipv6-extension-header.h:209
ns3::OptionField::OptionField
OptionField(uint32_t optionsOffset)
Constructor.
Definition:
ipv6-extension-header.cc:129
ns3::OptionField::~OptionField
~OptionField()
Destructor.
Definition:
ipv6-extension-header.cc:135
ns3::OptionField::m_optionsOffset
uint32_t m_optionsOffset
Offset.
Definition:
ipv6-extension-header.h:214
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.
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-extension-header.h
Generated on Tue Feb 6 2024 19:21:19 for ns-3 by
1.9.1