A Discrete-Event Network Simulator
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 
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 
130 };
131 
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 
196 
197 private:
198 
204  uint32_t CalculatePad (Ipv6OptionHeader::Alignment alignment) const;
205 
210 
214  uint32_t m_optionsOffset;
215 };
216 
223 {
224 public:
229  static TypeId GetTypeId ();
230 
235  virtual TypeId GetInstanceTypeId () const;
236 
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 
279 {
280 public:
285  static TypeId GetTypeId ();
286 
291  virtual TypeId GetInstanceTypeId () const;
292 
297 
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 
335 {
336 public:
341  static TypeId GetTypeId ();
342 
347  virtual TypeId GetInstanceTypeId () const;
348 
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 
430 };
431 
438 {
439 public:
444  static TypeId GetTypeId ();
445 
450  virtual TypeId GetInstanceTypeId () const;
451 
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 
529 {
530 public:
535  static TypeId GetTypeId ();
536 
541  virtual TypeId GetInstanceTypeId () const;
542 
547 
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 
620 };
621 
628 {
629 public:
634  static TypeId GetTypeId ();
635 
640  virtual TypeId GetInstanceTypeId () const;
641 
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 
684 {
685 public:
690  static TypeId GetTypeId ();
691 
696  virtual TypeId GetInstanceTypeId () const;
697 
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::Ipv6ExtensionFragmentHeader::SetOffset
void SetOffset(uint16_t offset)
Set the "Offset" field.
Definition: ipv6-extension-header.cc:347
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::Ipv6ExtensionLooseRoutingHeader::m_routersAddress
VectorIpv6Address_t m_routersAddress
The vector of Routers' IPv6 Address.
Definition: ipv6-extension-header.h:619
ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress
void SetRouterAddress(uint8_t index, Ipv6Address addr)
Set a Router IPv6 Address.
Definition: ipv6-extension-header.cc:536
ns3::Ipv6ExtensionHeader::m_nextHeader
uint8_t m_nextHeader
The "next header" field.
Definition: ipv6-extension-header.h:124
ns3::Ipv6ExtensionFragmentHeader::GetOffset
uint16_t GetOffset() const
Get the field "Offset".
Definition: ipv6-extension-header.cc:354
ns3::Ipv6ExtensionFragmentHeader::SetMoreFragment
void SetMoreFragment(bool moreFragment)
Set the status of "More Fragment" bit.
Definition: ipv6-extension-header.cc:359
ns3::Ipv6ExtensionLooseRoutingHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:559
ns3::Ipv6ExtensionFragmentHeader::m_offset
uint16_t m_offset
Offset of the fragment and More Fragment bit.
Definition: ipv6-extension-header.h:424
ns3::Ipv6ExtensionFragmentHeader::SetIdentification
void SetIdentification(uint32_t identification)
Set the "Identification" field.
Definition: ipv6-extension-header.cc:369
ns3::Ipv6ExtensionFragmentHeader
Header of IPv6 Extension Fragment.
Definition: ipv6-extension-header.h:335
ns3::Ipv6ExtensionHeader::~Ipv6ExtensionHeader
virtual ~Ipv6ExtensionHeader()
Destructor.
Definition: ipv6-extension-header.cc:55
ns3::OptionField::m_optionData
Buffer m_optionData
Data payload.
Definition: ipv6-extension-header.h:209
ns3::OptionField::CalculatePad
uint32_t CalculatePad(Ipv6OptionHeader::Alignment alignment) const
Calculate padding.
Definition: ipv6-extension-header.cc:191
ns3::Ipv6ExtensionDestinationHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:294
ns3::Ipv6ExtensionHopByHopHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:219
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
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Ipv6ExtensionAHHeader::Ipv6ExtensionAHHeader
Ipv6ExtensionAHHeader()
Constructor.
Definition: ipv6-extension-header.cc:670
ns3::Ipv6ExtensionLooseRoutingHeader::SetRoutersAddress
void SetRoutersAddress(std::vector< Ipv6Address > routersAddress)
Set the vector of routers' address.
Definition: ipv6-extension-header.cc:526
ns3::Ipv6ExtensionHopByHopHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:243
ns3::Ipv6ExtensionRoutingHeader
Header of IPv6 Extension Routing.
Definition: ipv6-extension-header.h:438
ns3::Ipv6ExtensionFragmentHeader::GetMoreFragment
bool GetMoreFragment() const
Get the status of "More Fragment" bit.
Definition: ipv6-extension-header.cc:364
ns3::Ipv6ExtensionRoutingHeader::m_segmentsLeft
uint8_t m_segmentsLeft
Number of left segments.
Definition: ipv6-extension-header.h:520
ipv6-option-header.h
ns3::Ipv6ExtensionLooseRoutingHeader::~Ipv6ExtensionLooseRoutingHeader
virtual ~Ipv6ExtensionLooseRoutingHeader()
Destructor.
Definition: ipv6-extension-header.cc:516
ns3::Ipv6ExtensionRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:416
ns3::Ipv6ExtensionFragmentHeader::GetIdentification
uint32_t GetIdentification() const
Get the field "Identification".
Definition: ipv6-extension-header.cc:374
ns3::OptionField::GetOptionBuffer
Buffer GetOptionBuffer()
Get the buffer.
Definition: ipv6-extension-header.cc:201
ns3::Ipv6ExtensionHeader::GetNextHeader
uint8_t GetNextHeader() const
Get the next header.
Definition: ipv6-extension-header.cc:64
ns3::Ipv6ExtensionHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:33
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
Header for IPv6 Extension.
Definition: ipv6-extension-header.h:41
ns3::Ipv6Address
Describes an IPv6 address.
Definition: ipv6-address.h:50
ns3::Ipv6ExtensionAHHeader::~Ipv6ExtensionAHHeader
virtual ~Ipv6ExtensionAHHeader()
Destructor.
Definition: ipv6-extension-header.cc:674
ns3::OptionField::Serialize
void Serialize(Buffer::Iterator start) const
Serialize all added options.
Definition: ipv6-extension-header.cc:144
ns3::Ipv6ExtensionDestinationHeader
Header of IPv6 Extension Destination.
Definition: ipv6-extension-header.h:279
ns3::Ipv6OptionHeader
Header for IPv6 Option.
Definition: ipv6-option-header.h:37
ns3::Ipv6ExtensionHopByHopHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:238
ns3::Ipv6ExtensionLooseRoutingHeader::VectorIpv6Address_t
std::vector< Ipv6Address > VectorIpv6Address_t
A vector of IPv6 Address.
Definition: ipv6-extension-header.h:614
ns3::Ipv6ExtensionLooseRoutingHeader::SetNumberAddress
void SetNumberAddress(uint8_t n)
Set the number of routers' address.
Definition: ipv6-extension-header.cc:520
ns3::Ipv6ExtensionRoutingHeader::~Ipv6ExtensionRoutingHeader
virtual ~Ipv6ExtensionRoutingHeader()
Destructor.
Definition: ipv6-extension-header.cc:437
ns3::Ipv6ExtensionESPHeader::~Ipv6ExtensionESPHeader
virtual ~Ipv6ExtensionESPHeader()
Destructor.
Definition: ipv6-extension-header.cc:627
ns3::Ipv6ExtensionHeader::Ipv6ExtensionHeader
Ipv6ExtensionHeader()
Constructor.
Definition: ipv6-extension-header.cc:48
ns3::Ipv6ExtensionHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:83
ns3::Ipv6ExtensionHeader::m_length
uint8_t m_length
The "length" field.
Definition: ipv6-extension-header.h:118
ns3::OptionField::GetSerializedSize
uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:139
ns3::Ipv6ExtensionHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:93
visualizer.core.start
def start()
Definition: core.py:1855
ns3::OptionField::m_optionsOffset
uint32_t m_optionsOffset
Offset.
Definition: ipv6-extension-header.h:214
ns3::Ipv6ExtensionFragmentHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:321
ns3::Ipv6ExtensionESPHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:631
ns3::Ipv6ExtensionFragmentHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:390
ns3::Ipv6ExtensionESPHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:618
ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader
Ipv6ExtensionLooseRoutingHeader()
Constructor.
Definition: ipv6-extension-header.cc:511
ns3::Ipv6ExtensionRoutingHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:467
ns3::Ipv6ExtensionLooseRoutingHeader
Header of IPv6 Extension Routing : Type 0 (Loose Routing)
Definition: ipv6-extension-header.h:529
ns3::Ipv6ExtensionLooseRoutingHeader::GetRoutersAddress
std::vector< Ipv6Address > GetRoutersAddress() const
Get the vector of routers' address.
Definition: ipv6-extension-header.cc:531
ns3::Ipv6ExtensionHopByHopHeader
Header of IPv6 Extension "Hop by Hop".
Definition: ipv6-extension-header.h:223
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:93
ns3::Ipv6ExtensionDestinationHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:265
ns3::Ipv6ExtensionRoutingHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:426
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::Ipv6ExtensionHopByHopHeader::~Ipv6ExtensionHopByHopHeader
virtual ~Ipv6ExtensionHopByHopHeader()
Destructor.
Definition: ipv6-extension-header.cc:229
ns3::OptionField::Deserialize
uint32_t Deserialize(Buffer::Iterator start, uint32_t length)
Deserialize the packet.
Definition: ipv6-extension-header.cc:159
ns3::Ipv6ExtensionHeader::SetLength
void SetLength(uint16_t length)
brief Set the length of the extension.
Definition: ipv6-extension-header.cc:69
ns3::Ipv6ExtensionAHHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:683
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::Ipv6ExtensionHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:43
ns3::Ipv6ExtensionHeader::GetLength
uint16_t GetLength() const
Get the length of the extension.
Definition: ipv6-extension-header.cc:78
ns3::Ipv6OptionHeader::Alignment
represents the alignment requirements of an option header
Definition: ipv6-option-header.h:48
ns3::Ipv6ExtensionHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:88
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::Ipv6ExtensionHeader::m_data
Buffer m_data
The data of the extension.
Definition: ipv6-extension-header.h:129
ns3::Ipv6ExtensionDestinationHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:289
ns3::Ipv6ExtensionFragmentHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:379
ns3::Ipv6ExtensionESPHeader::Ipv6ExtensionESPHeader
Ipv6ExtensionESPHeader()
Constructor.
Definition: ipv6-extension-header.cc:623
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::Ipv6ExtensionESPHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:642
ns3::Ipv6ExtensionFragmentHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:385
ns3::Ipv6ExtensionAHHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:678
ns3::Ipv6ExtensionRoutingHeader::Ipv6ExtensionRoutingHeader
Ipv6ExtensionRoutingHeader()
Constructor.
Definition: ipv6-extension-header.cc:431
ns3::OptionField
Option field for an IPv6ExtensionHeader.
Definition: ipv6-extension-header.h:145
ns3::Ipv6ExtensionAHHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:689
ns3::Ipv6ExtensionESPHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:608
ns3::OptionField::~OptionField
~OptionField()
Destructor.
Definition: ipv6-extension-header.cc:135
ns3::Ipv6ExtensionDestinationHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:275
ns3::Ipv6ExtensionDestinationHeader::Ipv6ExtensionDestinationHeader
Ipv6ExtensionDestinationHeader()
Constructor.
Definition: ipv6-extension-header.cc:280
ns3::Ipv6ExtensionAHHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:655
ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting
void SetTypeRouting(uint8_t typeRouting)
Set the "Type of Routing" field.
Definition: ipv6-extension-header.cc:441
ns3::Ipv6ExtensionFragmentHeader::~Ipv6ExtensionFragmentHeader
virtual ~Ipv6ExtensionFragmentHeader()
Destructor.
Definition: ipv6-extension-header.cc:343
ns3::Ipv6ExtensionRoutingHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:472
ns3::Ipv6ExtensionAHHeader
Header of IPv6 Extension AH.
Definition: ipv6-extension-header.h:684
ns3::Ipv6ExtensionLooseRoutingHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:496
ns3::Ipv6ExtensionESPHeader
Header of IPv6 Extension ESP.
Definition: ipv6-extension-header.h:628
ns3::Ipv6ExtensionRoutingHeader::m_typeRouting
uint8_t m_typeRouting
Type of routing.
Definition: ipv6-extension-header.h:515
ns3::Ipv6ExtensionHopByHopHeader::GetTypeId
static TypeId GetTypeId()
Get the type identificator.
Definition: ipv6-extension-header.cc:209
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::Ipv6ExtensionHopByHopHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:233
ns3::Ipv6ExtensionDestinationHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: ipv6-extension-header.cc:299
ns3::Ipv6ExtensionLooseRoutingHeader::Print
virtual void Print(std::ostream &os) const
Print some information about the packet.
Definition: ipv6-extension-header.cc:546
ns3::Ipv6ExtensionHeader::SetNextHeader
void SetNextHeader(uint8_t nextHeader)
Set the "Next header" field.
Definition: ipv6-extension-header.cc:59
ns3::Ipv6ExtensionAHHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:665
sample-rng-plot.n
n
Definition: sample-rng-plot.py:37
ns3::Ipv6ExtensionESPHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size of the packet.
Definition: ipv6-extension-header.cc:636
ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft
uint8_t GetSegmentsLeft() const
Get the field "Segments left".
Definition: ipv6-extension-header.cc:456
ns3::Ipv6ExtensionFragmentHeader::Ipv6ExtensionFragmentHeader
Ipv6ExtensionFragmentHeader()
Constructor.
Definition: ipv6-extension-header.cc:336
ns3::Ipv6ExtensionFragmentHeader::m_identification
uint32_t m_identification
Identifier of the packet.
Definition: ipv6-extension-header.h:429
ns3::OptionField::OptionField
OptionField(uint32_t optionsOffset)
Constructor.
Definition: ipv6-extension-header.cc:129
ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting
uint8_t GetTypeRouting() const
Get the field "Type of Routing".
Definition: ipv6-extension-header.cc:446
ns3::Ipv6ExtensionFragmentHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:331
ns3::Ipv6ExtensionHopByHopHeader::Ipv6ExtensionHopByHopHeader
Ipv6ExtensionHopByHopHeader()
Constructor.
Definition: ipv6-extension-header.cc:224
ns3::Ipv6ExtensionLooseRoutingHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: ipv6-extension-header.cc:506