A Discrete-Event Network Simulator
API
icmpv6-header.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2007-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: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
19  * Mehdi Benamor <benamor.mehdi@ensi.rnu.tn>
20  * David Gross <gdavid.devel@gmail.com>
21  */
22 
23 #ifndef ICMPV6_HEADER_H
24 #define ICMPV6_HEADER_H
25 
26 #include "ns3/header.h"
27 #include "ns3/ipv6-address.h"
28 #include "ns3/packet.h"
29 
30 namespace ns3
31 {
32 
38 class Icmpv6Header : public Header
39 {
40 public:
44  enum Type_e
45  {
72  };
73 
78  {
84  };
85 
90  {
96  };
97 
102  {
105  };
106 
111  {
115  };
116 
121  static TypeId GetTypeId ();
122 
127  virtual TypeId GetInstanceTypeId () const;
128 
132  Icmpv6Header ();
133 
137  virtual ~Icmpv6Header ();
138 
143  uint8_t GetType () const;
144 
149  void SetType (uint8_t type);
150 
155  uint8_t GetCode () const;
156 
161  void SetCode (uint8_t code);
162 
167  uint16_t GetChecksum () const;
168 
173  void SetChecksum (uint16_t checksum);
174 
179  virtual void Print (std::ostream& os) const;
180 
185  virtual uint32_t GetSerializedSize () const;
186 
191  virtual void Serialize (Buffer::Iterator start) const;
192 
198  virtual uint32_t Deserialize (Buffer::Iterator start);
199 
208  void CalculatePseudoHeaderChecksum (Ipv6Address src, Ipv6Address dst, uint16_t length, uint8_t protocol);
209 
210 protected:
215 
219  uint16_t m_checksum;
220 
221 private:
225  uint8_t m_type;
226 
230  uint8_t m_code;
231 };
232 
239 {
240 public:
245  static TypeId GetTypeId ();
246 
251  virtual TypeId GetInstanceTypeId () const;
252 
257 
261  virtual ~Icmpv6OptionHeader ();
262 
267  uint8_t GetType () const;
268 
273  void SetType (uint8_t type);
274 
279  uint8_t GetLength () const;
280 
285  void SetLength (uint8_t len);
286 
291  virtual void Print (std::ostream& os) const;
292 
297  virtual uint32_t GetSerializedSize () const;
298 
303  virtual void Serialize (Buffer::Iterator start) const;
304 
310  virtual uint32_t Deserialize (Buffer::Iterator start);
311 
312 private:
316  uint8_t m_type;
317 
321  uint8_t m_len;
322 };
323 
329 class Icmpv6NS : public Icmpv6Header
330 {
331 public:
336  Icmpv6NS (Ipv6Address target);
337 
341  Icmpv6NS ();
342 
346  virtual ~Icmpv6NS ();
347 
352  static TypeId GetTypeId ();
353 
358  virtual TypeId GetInstanceTypeId () const;
359 
364  uint32_t GetReserved () const;
365 
370  void SetReserved (uint32_t reserved);
371 
376  Ipv6Address GetIpv6Target () const;
377 
382  void SetIpv6Target (Ipv6Address target);
383 
388  virtual void Print (std::ostream& os) const;
389 
394  virtual uint32_t GetSerializedSize () const;
395 
400  virtual void Serialize (Buffer::Iterator start) const;
401 
407  virtual uint32_t Deserialize (Buffer::Iterator start);
408 
409 private:
410 
414  uint32_t m_reserved;
415 
420 };
421 
427 class Icmpv6NA : public Icmpv6Header
428 {
429 public:
433  Icmpv6NA ();
434 
438  virtual ~Icmpv6NA ();
439 
444  static TypeId GetTypeId ();
445 
450  virtual TypeId GetInstanceTypeId () const;
451 
456  uint32_t GetReserved () const;
457 
462  void SetReserved (uint32_t reserved);
463 
468  Ipv6Address GetIpv6Target () const;
469 
474  void SetIpv6Target (Ipv6Address target);
475 
480  bool GetFlagR () const;
481 
486  void SetFlagR (bool r);
487 
492  bool GetFlagS () const;
493 
498  void SetFlagS (bool s);
499 
504  bool GetFlagO () const;
505 
510  void SetFlagO (bool o);
511 
516  virtual void Print (std::ostream& os) const;
517 
522  virtual uint32_t GetSerializedSize () const;
523 
528  virtual void Serialize (Buffer::Iterator start) const;
529 
535  virtual uint32_t Deserialize (Buffer::Iterator start);
536 
537 private:
541  bool m_flagR;
542 
546  bool m_flagS;
547 
551  bool m_flagO;
552 
556  uint32_t m_reserved;
557 
562 };
563 
569 class Icmpv6RA : public Icmpv6Header
570 {
571 public:
575  Icmpv6RA ();
576 
580  virtual ~Icmpv6RA ();
581 
586  static TypeId GetTypeId ();
587 
592  virtual TypeId GetInstanceTypeId () const;
593 
598  void SetCurHopLimit (uint8_t m);
599 
604  uint8_t GetCurHopLimit () const;
605 
610  void SetLifeTime (uint16_t l);
611 
616  uint16_t GetLifeTime () const;
617 
622  void SetReachableTime (uint32_t r);
623 
628  uint32_t GetReachableTime () const;
629 
634  void SetRetransmissionTime (uint32_t r);
635 
640  uint32_t GetRetransmissionTime () const;
641 
646  bool GetFlagM () const;
647 
652  void SetFlagM (bool m);
653 
658  bool GetFlagO () const;
659 
664  void SetFlagO (bool o);
665 
670  bool GetFlagH () const;
671 
676  void SetFlagH (bool h);
677 
682  virtual void Print (std::ostream& os) const;
683 
689  uint8_t GetFlags () const;
690 
696  void SetFlags (uint8_t f);
697 
702  virtual uint32_t GetSerializedSize () const;
703 
708  virtual void Serialize (Buffer::Iterator start) const;
709 
715  virtual uint32_t Deserialize (Buffer::Iterator start);
716 
717 private:
721  bool m_flagM;
722 
726  bool m_flagO;
727 
731  bool m_flagH;
732 
736  uint16_t m_LifeTime;
737 
741  uint32_t m_ReachableTime;
742 
747 
751  uint8_t m_curHopLimit;
752 };
753 
759 class Icmpv6RS : public Icmpv6Header
760 {
761 public:
765  Icmpv6RS ();
766 
770  virtual ~Icmpv6RS ();
771 
776  static TypeId GetTypeId ();
777 
782  virtual TypeId GetInstanceTypeId () const;
783 
788  uint32_t GetReserved () const;
789 
794  void SetReserved (uint32_t reserved);
795 
800  virtual void Print (std::ostream& os) const;
801 
806  virtual uint32_t GetSerializedSize () const;
807 
812  virtual void Serialize (Buffer::Iterator start) const;
813 
819  virtual uint32_t Deserialize (Buffer::Iterator start);
820 
821 private:
825  uint32_t m_reserved;
826 };
827 
834 {
835 public:
840 
844  virtual ~Icmpv6Redirection ();
845 
850  static TypeId GetTypeId ();
851 
856  virtual TypeId GetInstanceTypeId () const;
857 
862  Ipv6Address GetTarget () const;
863 
868  void SetTarget (Ipv6Address target);
869 
874  Ipv6Address GetDestination () const;
875 
880  void SetDestination (Ipv6Address destination);
881 
886  virtual void Print (std::ostream& os) const;
887 
892  virtual uint32_t GetSerializedSize () const;
893 
898  virtual void Serialize (Buffer::Iterator start) const;
899 
905  virtual uint32_t Deserialize (Buffer::Iterator start);
906 
911  uint32_t GetReserved () const;
912 
917  void SetReserved (uint32_t reserved);
918 
919 private:
924 
929 
933  uint32_t m_reserved;
934 };
935 
941 class Icmpv6Echo : public Icmpv6Header
942 {
943 public:
948  static TypeId GetTypeId ();
949 
954  virtual TypeId GetInstanceTypeId () const;
955 
959  Icmpv6Echo ();
960 
965  Icmpv6Echo (bool request);
966 
970  virtual ~Icmpv6Echo ();
971 
976  uint16_t GetId () const;
977 
982  void SetId (uint16_t id);
983 
988  uint16_t GetSeq () const;
989 
994  void SetSeq (uint16_t seq);
995 
1000  virtual void Print (std::ostream& os) const;
1001 
1006  virtual uint32_t GetSerializedSize () const;
1007 
1012  virtual void Serialize (Buffer::Iterator start) const;
1013 
1019  virtual uint32_t Deserialize (Buffer::Iterator start);
1020 
1021 private:
1025  uint16_t m_id;
1026 
1030  uint16_t m_seq;
1031 };
1032 
1039 {
1040 public:
1045 
1049  virtual ~Icmpv6DestinationUnreachable ();
1050 
1055  static TypeId GetTypeId ();
1056 
1061  virtual TypeId GetInstanceTypeId () const;
1062 
1067  void SetPacket (Ptr<Packet> p);
1068 
1073  virtual void Print (std::ostream& os) const;
1074 
1079  virtual uint32_t GetSerializedSize () const;
1080 
1085  virtual void Serialize (Buffer::Iterator start) const;
1086 
1092  virtual uint32_t Deserialize (Buffer::Iterator start);
1093 
1094 private:
1099 };
1100 
1107 {
1108 public:
1112  Icmpv6TooBig ();
1113 
1117  virtual ~Icmpv6TooBig ();
1118 
1123  static TypeId GetTypeId ();
1124 
1129  virtual TypeId GetInstanceTypeId () const;
1130 
1135  void SetPacket (Ptr<Packet> p);
1136 
1141  uint32_t GetMtu () const;
1142 
1147  void SetMtu (uint32_t mtu);
1148 
1153  virtual void Print (std::ostream& os) const;
1154 
1159  virtual uint32_t GetSerializedSize () const;
1160 
1165  virtual void Serialize (Buffer::Iterator start) const;
1166 
1172  virtual uint32_t Deserialize (Buffer::Iterator start);
1173 
1174 private:
1175 
1180 
1184  uint32_t m_mtu;
1185 };
1186 
1193 {
1194 public:
1198  Icmpv6TimeExceeded ();
1199 
1203  virtual ~Icmpv6TimeExceeded ();
1204 
1209  static TypeId GetTypeId ();
1210 
1215  virtual TypeId GetInstanceTypeId () const;
1216 
1221  void SetPacket (Ptr<Packet> p);
1222 
1227  virtual void Print (std::ostream& os) const;
1228 
1233  virtual uint32_t GetSerializedSize () const;
1234 
1239  virtual void Serialize (Buffer::Iterator start) const;
1240 
1246  virtual uint32_t Deserialize (Buffer::Iterator start);
1247 
1248 private:
1249 
1254 };
1255 
1262 {
1263 public:
1268 
1272  virtual ~Icmpv6ParameterError ();
1273 
1278  static TypeId GetTypeId ();
1279 
1284  virtual TypeId GetInstanceTypeId () const;
1285 
1290  void SetPacket (Ptr<Packet> p);
1291 
1296  uint32_t GetPtr () const;
1297 
1302  void SetPtr (uint32_t ptr);
1303 
1308  virtual void Print (std::ostream& os) const;
1309 
1314  virtual uint32_t GetSerializedSize () const;
1315 
1320  virtual void Serialize (Buffer::Iterator start) const;
1321 
1327  virtual uint32_t Deserialize (Buffer::Iterator start);
1328 
1329 private:
1330 
1335 
1339  uint32_t m_ptr;
1340 };
1341 
1348 {
1349 public:
1353  Icmpv6OptionMtu ();
1354 
1359  Icmpv6OptionMtu (uint32_t mtu);
1360 
1364  virtual ~Icmpv6OptionMtu ();
1365 
1370  static TypeId GetTypeId ();
1371 
1376  virtual TypeId GetInstanceTypeId () const;
1377 
1382  uint16_t GetReserved () const;
1383 
1388  void SetReserved (uint16_t reserved);
1389 
1394  uint32_t GetMtu () const;
1395 
1400  void SetMtu (uint32_t mtu);
1401 
1406  virtual void Print (std::ostream& os) const;
1407 
1412  virtual uint32_t GetSerializedSize () const;
1413 
1418  virtual void Serialize (Buffer::Iterator start) const;
1419 
1425  virtual uint32_t Deserialize (Buffer::Iterator start);
1426 
1427 private:
1431  uint16_t m_reserved;
1432 
1436  uint32_t m_mtu;
1437 };
1438 
1445 {
1446 public:
1451 
1457  Icmpv6OptionPrefixInformation (Ipv6Address network, uint8_t prefixlen);
1458 
1462  virtual ~Icmpv6OptionPrefixInformation ();
1463 
1468  static TypeId GetTypeId ();
1469 
1474  virtual TypeId GetInstanceTypeId () const;
1475 
1479  typedef enum
1480  {
1481  NONE = 0,
1482  ROUTERADDR = 32,
1484  ONLINK = 128
1486 
1491  uint8_t GetPrefixLength () const;
1492 
1497  void SetPrefixLength (uint8_t prefixLength);
1498 
1503  uint8_t GetFlags () const;
1504 
1509  void SetFlags (uint8_t flags);
1510 
1515  uint32_t GetValidTime () const;
1516 
1521  void SetValidTime (uint32_t validTime);
1522 
1527  uint32_t GetPreferredTime () const;
1528 
1533  void SetPreferredTime (uint32_t preferredTime);
1534 
1539  uint32_t GetReserved () const;
1540 
1545  void SetReserved (uint32_t reserved);
1546 
1551  Ipv6Address GetPrefix () const;
1552 
1557  void SetPrefix (Ipv6Address prefix);
1558 
1563  virtual void Print (std::ostream& os) const;
1564 
1569  virtual uint32_t GetSerializedSize () const;
1570 
1575  virtual void Serialize (Buffer::Iterator start) const;
1576 
1582  virtual uint32_t Deserialize (Buffer::Iterator start);
1583 
1584 private:
1589 
1594 
1598  uint8_t m_flags;
1599 
1603  uint32_t m_validTime;
1604 
1609 
1613  uint32_t m_reserved;
1614 };
1615 
1622 {
1623 public:
1628  Icmpv6OptionLinkLayerAddress (bool source);
1629 
1634  static TypeId GetTypeId ();
1635 
1640  virtual TypeId GetInstanceTypeId (void) const;
1641 
1647  Icmpv6OptionLinkLayerAddress (bool source, Address addr);
1648 
1653 
1657  virtual ~Icmpv6OptionLinkLayerAddress ();
1658 
1663  Address GetAddress () const;
1664 
1669  void SetAddress (Address addr);
1670 
1675  virtual void Print (std::ostream& os) const;
1676 
1681  virtual uint32_t GetSerializedSize () const;
1682 
1687  virtual void Serialize (Buffer::Iterator start) const;
1688 
1694  virtual uint32_t Deserialize (Buffer::Iterator start);
1695 
1696 private:
1701 };
1702 
1709 {
1710 public:
1715  static TypeId GetTypeId ();
1716 
1721  virtual TypeId GetInstanceTypeId () const;
1722 
1727 
1731  virtual ~Icmpv6OptionRedirected ();
1732 
1737  void SetPacket (Ptr<Packet> packet);
1738 
1743  virtual void Print (std::ostream& os) const;
1744 
1749  virtual uint32_t GetSerializedSize () const;
1750 
1755  virtual void Serialize (Buffer::Iterator start) const;
1756 
1762  virtual uint32_t Deserialize (Buffer::Iterator start);
1763 
1764 private:
1769 };
1770 
1771 } /* namespace ns3 */
1772 
1773 #endif /* ICMPV6_HEADER_H */
1774 
ns3::Icmpv6NS::SetReserved
void SetReserved(uint32_t reserved)
Set the reserved field.
Definition: icmpv6-header.cc:229
ns3::Icmpv6OptionPrefixInformation::m_prefixLength
uint8_t m_prefixLength
The length of the prefix.
Definition: icmpv6-header.h:1593
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::Icmpv6OptionMtu::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1600
ns3::Icmpv6OptionPrefixInformation::m_reserved
uint32_t m_reserved
The reserved field.
Definition: icmpv6-header.h:1613
ns3::Icmpv6OptionMtu::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1526
ns3::Icmpv6OptionPrefixInformation::SetFlags
void SetFlags(uint8_t flags)
Set the flags.
Definition: icmpv6-header.cc:1689
ns3::Icmpv6NS::m_reserved
uint32_t m_reserved
The reserved value.
Definition: icmpv6-header.h:414
ns3::Icmpv6DestinationUnreachable::Icmpv6DestinationUnreachable
Icmpv6DestinationUnreachable()
Constructor.
Definition: icmpv6-header.cc:1060
ns3::Icmpv6RA::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:615
ns3::Icmpv6OptionPrefixInformation::GetPrefixLength
uint8_t GetPrefixLength() const
Get the prefix length.
Definition: icmpv6-header.cc:1670
ns3::Icmpv6Redirection::~Icmpv6Redirection
virtual ~Icmpv6Redirection()
Destructor.
Definition: icmpv6-header.cc:821
ns3::Icmpv6Redirection::GetReserved
uint32_t GetReserved() const
Get the reserved field.
Definition: icmpv6-header.cc:832
ns3::Icmpv6OptionMtu::~Icmpv6OptionMtu
virtual ~Icmpv6OptionMtu()
Destructor.
Definition: icmpv6-header.cc:1559
ns3::Icmpv6NA::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:301
ns3::Icmpv6Header::ICMPV6_PORT_UNREACHABLE
@ ICMPV6_PORT_UNREACHABLE
Definition: icmpv6-header.h:95
ns3::Icmpv6Header::~Icmpv6Header
virtual ~Icmpv6Header()
Destructor.
Definition: icmpv6-header.cc:61
ns3::Icmpv6OptionPrefixInformation::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1749
ns3::Icmpv6Echo::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:990
ns3::Icmpv6NA::GetIpv6Target
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
Definition: icmpv6-header.cc:346
ns3::Icmpv6Header::ICMPV6_OPT_PREFIX
@ ICMPV6_OPT_PREFIX
Definition: icmpv6-header.h:81
ns3::Icmpv6Header::ICMPV6_SECURE_ND_CERTIFICATE_PATH_SOLICITATION
@ ICMPV6_SECURE_ND_CERTIFICATE_PATH_SOLICITATION
Definition: icmpv6-header.h:69
ns3::Icmpv6TooBig::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1200
ns3::Icmpv6TimeExceeded
ICMPv6 Error Time Exceeded header.
Definition: icmpv6-header.h:1193
ns3::Icmpv6RA::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:627
ns3::Icmpv6Redirection::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:804
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Icmpv6NS::m_target
Ipv6Address m_target
The IPv6 target address.
Definition: icmpv6-header.h:419
ns3::Icmpv6Header::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:128
ns3::Icmpv6OptionRedirected::Icmpv6OptionRedirected
Icmpv6OptionRedirected()
Constructor.
Definition: icmpv6-header.cc:1922
ns3::Icmpv6Header::ICMPV6_MOBILITY_MOBILE_PREFIX_SOLICITATION
@ ICMPV6_MOBILITY_MOBILE_PREFIX_SOLICITATION
Definition: icmpv6-header.h:68
ns3::Icmpv6Header::ICMPV6_ND_ROUTER_ADVERTISEMENT
@ ICMPV6_ND_ROUTER_ADVERTISEMENT
Definition: icmpv6-header.h:56
ns3::Icmpv6TooBig::m_packet
Ptr< Packet > m_packet
the incorrect packet.
Definition: icmpv6-header.h:1179
ns3::Icmpv6Redirection::SetDestination
void SetDestination(Ipv6Address destination)
Set the IPv6 destination address.
Definition: icmpv6-header.cc:856
ns3::Icmpv6Header::ErrorDestinationUnreachable_e
ErrorDestinationUnreachable_e
ICMPv6 error code : Destination Unreachable.
Definition: icmpv6-header.h:90
ns3::Icmpv6Header::ICMPV6_ND_NEIGHBOR_ADVERTISEMENT
@ ICMPV6_ND_NEIGHBOR_ADVERTISEMENT
Definition: icmpv6-header.h:58
ns3::Icmpv6NA::SetReserved
void SetReserved(uint32_t reserved)
Set the reserved field.
Definition: icmpv6-header.cc:340
ns3::Icmpv6RS::~Icmpv6RS
virtual ~Icmpv6RS()
Destructor.
Definition: icmpv6-header.cc:727
ns3::Icmpv6Echo::GetId
uint16_t GetId() const
Get the ID of the packet.
Definition: icmpv6-header.cc:966
ns3::Icmpv6OptionRedirected::~Icmpv6OptionRedirected
virtual ~Icmpv6OptionRedirected()
Destructor.
Definition: icmpv6-header.cc:1929
ns3::Icmpv6Header::ICMPV6_SUBSCRIBE_REPORT
@ ICMPV6_SUBSCRIBE_REPORT
Definition: icmpv6-header.h:53
ns3::Icmpv6OptionHeader::Icmpv6OptionHeader
Icmpv6OptionHeader()
Constructor.
Definition: icmpv6-header.cc:1464
ns3::Icmpv6ParameterError::SetPacket
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Definition: icmpv6-header.cc:1369
ns3::Icmpv6NA::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:406
ns3::Icmpv6NS::Icmpv6NS
Icmpv6NS()
Constructor.
Definition: icmpv6-header.cc:178
ns3::Icmpv6OptionHeader::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1501
ns3::Icmpv6TooBig::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1148
ns3::Icmpv6RA::Icmpv6RA
Icmpv6RA()
Constructor.
Definition: icmpv6-header.cc:501
ns3::Icmpv6Header::ICMPV6_INVERSE_ND_ADVERSTISEMENT
@ ICMPV6_INVERSE_ND_ADVERSTISEMENT
Definition: icmpv6-header.h:64
ns3::Icmpv6Header::ICMPV6_INVERSE_ND_SOLICITATION
@ ICMPV6_INVERSE_ND_SOLICITATION
Definition: icmpv6-header.h:63
ns3::Icmpv6NA::GetFlagR
bool GetFlagR() const
Get the R flag.
Definition: icmpv6-header.cc:352
ns3::Icmpv6Header::GetCode
uint8_t GetCode() const
Get the code field.
Definition: icmpv6-header.cc:78
ns3::Icmpv6NA::m_reserved
uint32_t m_reserved
The reserved value.
Definition: icmpv6-header.h:556
ns3::Icmpv6NA::SetFlagS
void SetFlagS(bool s)
Set the S flag.
Definition: icmpv6-header.cc:370
ns3::Icmpv6OptionPrefixInformation::GetReserved
uint32_t GetReserved() const
Get the reserved field.
Definition: icmpv6-header.cc:1719
ns3::Icmpv6DestinationUnreachable::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1085
ns3::Ipv6Address
Describes an IPv6 address.
Definition: ipv6-address.h:50
ns3::Icmpv6Header::ErrorTimeExceeded_e
ErrorTimeExceeded_e
ICMPv6 error code : Time Exceeded.
Definition: icmpv6-header.h:102
ns3::Icmpv6RA::SetFlagM
void SetFlagM(bool m)
Set the M flag.
Definition: icmpv6-header.cc:574
ns3::Icmpv6OptionPrefixInformation::ONLINK
@ ONLINK
On-link.
Definition: icmpv6-header.h:1484
ns3::Icmpv6Header::ICMPV6_ADDR_UNREACHABLE
@ ICMPV6_ADDR_UNREACHABLE
Definition: icmpv6-header.h:94
ns3::Icmpv6OptionHeader::GetLength
uint8_t GetLength() const
Get the length of the option in 8 bytes unit.
Definition: icmpv6-header.cc:1489
ns3::Icmpv6Header::m_type
uint8_t m_type
The type.
Definition: icmpv6-header.h:225
ns3::Icmpv6ParameterError::SetPtr
void SetPtr(uint32_t ptr)
Set the pointer field.
Definition: icmpv6-header.cc:1382
ns3::Icmpv6Redirection::GetDestination
Ipv6Address GetDestination() const
Get the IPv6 destination address.
Definition: icmpv6-header.cc:850
ns3::Icmpv6Header::ErrorParameterError_e
ErrorParameterError_e
ICMPv6 error code : Parameter Error.
Definition: icmpv6-header.h:111
ns3::Icmpv6Header::ICMPV6_OPT_LINK_LAYER_SOURCE
@ ICMPV6_OPT_LINK_LAYER_SOURCE
Definition: icmpv6-header.h:79
ns3::Icmpv6NS::GetReserved
uint32_t GetReserved() const
Get the reserved field.
Definition: icmpv6-header.cc:223
ns3::Icmpv6TooBig::~Icmpv6TooBig
virtual ~Icmpv6TooBig()
Destructor.
Definition: icmpv6-header.cc:1162
ns3::Icmpv6Header::ICMPV6_ADM_PROHIBITED
@ ICMPV6_ADM_PROHIBITED
Definition: icmpv6-header.h:92
ns3::Icmpv6ParameterError::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1340
ns3::Icmpv6RA::SetRetransmissionTime
void SetRetransmissionTime(uint32_t r)
Set the node Retransmission time (Neighbor Discovery).
Definition: icmpv6-header.cc:562
ns3::Icmpv6RS::m_reserved
uint32_t m_reserved
The reserved value.
Definition: icmpv6-header.h:825
ns3::Icmpv6Redirection::m_destination
Ipv6Address m_destination
IPv6 destination address.
Definition: icmpv6-header.h:928
ns3::Icmpv6Header::SetType
void SetType(uint8_t type)
Set the type.
Definition: icmpv6-header.cc:72
ns3::Icmpv6Redirection::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:874
ns3::Icmpv6Header::ICMPV6_ECHO_REQUEST
@ ICMPV6_ECHO_REQUEST
Definition: icmpv6-header.h:50
ns3::Icmpv6Echo::SetSeq
void SetSeq(uint16_t seq)
Set the sequence number.
Definition: icmpv6-header.cc:984
ns3::Icmpv6Header::CalculatePseudoHeaderChecksum
void CalculatePseudoHeaderChecksum(Ipv6Address src, Ipv6Address dst, uint16_t length, uint8_t protocol)
Calculate pseudo header checksum for IPv6.
Definition: icmpv6-header.cc:150
ns3::Icmpv6Header::ICMPV6_OPT_LINK_LAYER_TARGET
@ ICMPV6_OPT_LINK_LAYER_TARGET
Definition: icmpv6-header.h:80
ns3::Icmpv6RS::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:703
ns3::Icmpv6TimeExceeded::m_packet
Ptr< Packet > m_packet
The incorrect packet.
Definition: icmpv6-header.h:1253
ns3::Icmpv6RA::SetReachableTime
void SetReachableTime(uint32_t r)
Set the node Reachable time (Neighbor Discovery).
Definition: icmpv6-header.cc:556
ns3::Icmpv6OptionHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1519
ns3::Icmpv6Redirection::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:862
ns3::Icmpv6ParameterError::m_ptr
uint32_t m_ptr
The pointer field.
Definition: icmpv6-header.h:1339
ns3::Icmpv6Header::ICMPV6_ROUTER_RENUMBER
@ ICMPV6_ROUTER_RENUMBER
Definition: icmpv6-header.h:60
ns3::Icmpv6Header::ICMPV6_OPT_REDIRECTED
@ ICMPV6_OPT_REDIRECTED
Definition: icmpv6-header.h:82
ns3::Icmpv6OptionPrefixInformation::AUTADDRCONF
@ AUTADDRCONF
Autonomous Address Configuration.
Definition: icmpv6-header.h:1483
ns3::Icmpv6Header::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:46
ns3::Icmpv6NS::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:259
ns3::Icmpv6Echo::m_id
uint16_t m_id
ID of the packet (to distinguish response between many ping program).
Definition: icmpv6-header.h:1025
ns3::Icmpv6RS::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:713
ns3::Icmpv6OptionMtu::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1588
ns3::Icmpv6Header::ICMPV6_ERROR_PACKET_TOO_BIG
@ ICMPV6_ERROR_PACKET_TOO_BIG
Definition: icmpv6-header.h:47
ns3::Icmpv6OptionPrefixInformation::GetPrefix
Ipv6Address GetPrefix() const
Get the IPv6 prefix.
Definition: icmpv6-header.cc:1731
ns3::Icmpv6OptionRedirected
ICMPv6 redirected option.
Definition: icmpv6-header.h:1709
ns3::Icmpv6RS::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:756
ns3::Icmpv6ParameterError::GetPtr
uint32_t GetPtr() const
Get the pointer field.
Definition: icmpv6-header.cc:1376
ns3::Icmpv6Header::ICMPV6_NO_ROUTE
@ ICMPV6_NO_ROUTE
Definition: icmpv6-header.h:91
ns3::Icmpv6TimeExceeded::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1245
ns3::Ptr< Packet >
ns3::Icmpv6TooBig::GetMtu
uint32_t GetMtu() const
Get the MTU field.
Definition: icmpv6-header.cc:1174
ns3::Icmpv6NA::GetFlagS
bool GetFlagS() const
Get the S flag.
Definition: icmpv6-header.cc:364
ns3::Icmpv6Header::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:36
ns3::Icmpv6TimeExceeded::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1287
ns3::Icmpv6OptionMtu::SetReserved
void SetReserved(uint16_t reserved)
Set the reserved field.
Definition: icmpv6-header.cc:1570
ns3::Icmpv6ParameterError::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1350
visualizer.core.start
def start()
Definition: core.py:1855
ns3::Icmpv6NA::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:311
ns3::Icmpv6RA::SetLifeTime
void SetLifeTime(uint16_t l)
Set the node Life time (Neighbor Discovery).
Definition: icmpv6-header.cc:550
ns3::Icmpv6Echo::m_seq
uint16_t m_seq
Sequence number (to distinguish response).
Definition: icmpv6-header.h:1030
ns3::Icmpv6OptionHeader::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1507
ns3::Icmpv6Header::ICMPV6_ND_NEIGHBOR_SOLICITATION
@ ICMPV6_ND_NEIGHBOR_SOLICITATION
Definition: icmpv6-header.h:57
ns3::Icmpv6RA::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:621
ns3::Icmpv6OptionPrefixInformation::GetFlags
uint8_t GetFlags() const
Get the flags.
Definition: icmpv6-header.cc:1683
ns3::Icmpv6DestinationUnreachable::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1093
ns3::Icmpv6RA::m_ReachableTime
uint32_t m_ReachableTime
The reachable time value.
Definition: icmpv6-header.h:741
ns3::Icmpv6OptionMtu::Icmpv6OptionMtu
Icmpv6OptionMtu()
Constructor.
Definition: icmpv6-header.cc:1542
ns3::Icmpv6OptionMtu::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1594
ns3::Icmpv6NA::SetFlagR
void SetFlagR(bool r)
Set the R flag.
Definition: icmpv6-header.cc:358
ns3::Icmpv6Header::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:108
ns3::Icmpv6TimeExceeded::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1295
ns3::Icmpv6OptionMtu::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1536
ns3::Icmpv6OptionHeader::m_type
uint8_t m_type
The type.
Definition: icmpv6-header.h:316
ns3::Icmpv6OptionMtu::GetReserved
uint16_t GetReserved() const
Get the reserved field.
Definition: icmpv6-header.cc:1564
ns3::Icmpv6Redirection::m_reserved
uint32_t m_reserved
Reserved value.
Definition: icmpv6-header.h:933
ns3::Address
a polymophic address class
Definition: address.h:91
ns3::Icmpv6Header::ICMPV6_MLDV2_SUBSCRIBE_REPORT
@ ICMPV6_MLDV2_SUBSCRIBE_REPORT
Definition: icmpv6-header.h:65
ns3::Icmpv6RA
ICMPv6 Router Advertisement header.
Definition: icmpv6-header.h:570
ns3::Icmpv6ParameterError::Icmpv6ParameterError
Icmpv6ParameterError()
Constructor.
Definition: icmpv6-header.cc:1356
ns3::Icmpv6NA
ICMPv6 Neighbor Advertisement header.
Definition: icmpv6-header.h:428
ns3::Icmpv6NA::SetFlagO
void SetFlagO(bool o)
Set the O flag.
Definition: icmpv6-header.cc:382
ns3::Icmpv6OptionMtu
ICMPv6 MTU option.
Definition: icmpv6-header.h:1348
ns3::Icmpv6NA::GetReserved
uint32_t GetReserved() const
Get the reserved field.
Definition: icmpv6-header.cc:334
ns3::Icmpv6TooBig::SetPacket
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Definition: icmpv6-header.cc:1167
ns3::Icmpv6NA::~Icmpv6NA
virtual ~Icmpv6NA()
Destructor.
Definition: icmpv6-header.cc:329
ns3::Icmpv6TooBig::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1186
ns3::Icmpv6OptionPrefixInformation::ROUTERADDR
@ ROUTERADDR
Router Address.
Definition: icmpv6-header.h:1482
ns3::Icmpv6OptionRedirected::m_packet
Ptr< Packet > m_packet
The redirected packet.
Definition: icmpv6-header.h:1768
ns3::Icmpv6RA::GetFlagH
bool GetFlagH() const
Get the H flag.
Definition: icmpv6-header.cc:592
ns3::Icmpv6NA::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:394
ns3::Icmpv6OptionPrefixInformation::SetReserved
void SetReserved(uint32_t reserved)
Set the reserved field (normally it will be 0x00000000).
Definition: icmpv6-header.cc:1725
ns3::Icmpv6RA::SetFlagH
void SetFlagH(bool h)
Set the H flag.
Definition: icmpv6-header.cc:598
ns3::Icmpv6Echo::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1005
ns3::Icmpv6RA::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:485
ns3::Icmpv6OptionHeader::m_len
uint8_t m_len
The length.
Definition: icmpv6-header.h:321
ns3::Icmpv6Redirection::GetTarget
Ipv6Address GetTarget() const
Get the IPv6 target address.
Definition: icmpv6-header.cc:838
ns3::Icmpv6OptionRedirected::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1955
ns3::Icmpv6DestinationUnreachable::m_packet
Ptr< Packet > m_packet
The incorrect Packet.
Definition: icmpv6-header.h:1098
ns3::Icmpv6DestinationUnreachable::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1079
ns3::Icmpv6RA::SetFlags
NS_DEPRECATED_3_34 void SetFlags(uint8_t f)
Setflags.
Definition: icmpv6-header.cc:610
ns3::Icmpv6Redirection::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:868
ns3::Icmpv6RA::GetFlags
NS_DEPRECATED_3_34 uint8_t GetFlags() const
Getflags.
Definition: icmpv6-header.cc:604
ns3::Icmpv6RA::SetFlagO
void SetFlagO(bool o)
Set the O flag.
Definition: icmpv6-header.cc:586
ns3::Icmpv6Header::SetCode
void SetCode(uint8_t code)
Set the code field.
Definition: icmpv6-header.cc:84
ns3::Icmpv6Header::GetChecksum
uint16_t GetChecksum() const
Get the checksum.
Definition: icmpv6-header.cc:90
ns3::Icmpv6Redirection::m_target
Ipv6Address m_target
IPv6 target address.
Definition: icmpv6-header.h:923
ns3::Icmpv6OptionHeader
ICMPv6 option header.
Definition: icmpv6-header.h:239
ns3::Icmpv6TimeExceeded::Icmpv6TimeExceeded
Icmpv6TimeExceeded()
Constructor.
Definition: icmpv6-header.cc:1261
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::Icmpv6RA::GetLifeTime
uint16_t GetLifeTime() const
Get the node Life time (Neighbor Discovery).
Definition: icmpv6-header.cc:532
ns3::Icmpv6RS::GetReserved
uint32_t GetReserved() const
Get the reserved field.
Definition: icmpv6-header.cc:732
ns3::Icmpv6NA::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:400
ns3::Icmpv6Header::ICMPV6_ND_REDIRECTION
@ ICMPV6_ND_REDIRECTION
Definition: icmpv6-header.h:59
ns3::Icmpv6NA::m_flagO
bool m_flagO
The M flag.
Definition: icmpv6-header.h:551
ns3::Icmpv6NS::~Icmpv6NS
virtual ~Icmpv6NS()
Destructor.
Definition: icmpv6-header.cc:218
ns3::Icmpv6TooBig::m_mtu
uint32_t m_mtu
The MTU value.
Definition: icmpv6-header.h:1184
ns3::Icmpv6RS::SetReserved
void SetReserved(uint32_t reserved)
Set the reserved field.
Definition: icmpv6-header.cc:738
ns3::Icmpv6Header::GetType
uint8_t GetType() const
Get the type field.
Definition: icmpv6-header.cc:66
ns3::Icmpv6OptionPrefixInformation::m_validTime
uint32_t m_validTime
The valid time.
Definition: icmpv6-header.h:1603
ns3::Icmpv6OptionPrefixInformation::SetPrefix
void SetPrefix(Ipv6Address prefix)
Set the IPv6 prefix.
Definition: icmpv6-header.cc:1737
ns3::Icmpv6RA::m_RetransmissionTimer
uint32_t m_RetransmissionTimer
The retransmission timer.
Definition: icmpv6-header.h:746
ns3::Icmpv6RA::SetCurHopLimit
void SetCurHopLimit(uint8_t m)
Set the IPv6 maximum number of jumps.
Definition: icmpv6-header.cc:520
ns3::Icmpv6Header::ICMPV6_ERROR_PARAMETER_ERROR
@ ICMPV6_ERROR_PARAMETER_ERROR
Definition: icmpv6-header.h:49
ns3::Icmpv6OptionPrefixInformation::m_flags
uint8_t m_flags
The flags.
Definition: icmpv6-header.h:1598
ns3::Icmpv6Header::ICMPV6_ECHO_REPLY
@ ICMPV6_ECHO_REPLY
Definition: icmpv6-header.h:51
ns3::Icmpv6OptionPrefixInformation::m_prefix
Ipv6Address m_prefix
The prefix value.
Definition: icmpv6-header.h:1588
ns3::Icmpv6NS::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:253
ns3::Icmpv6OptionRedirected::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1943
ns3::Icmpv6OptionRedirected::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1906
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::Icmpv6Header::ICMPV6_OPT_MTU
@ ICMPV6_OPT_MTU
Definition: icmpv6-header.h:83
ns3::Icmpv6NS::SetIpv6Target
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
Definition: icmpv6-header.cc:241
ns3::Icmpv6NA::m_flagR
bool m_flagR
The R flag.
Definition: icmpv6-header.h:541
ns3::Icmpv6Header::ICMPV6_MOBILITY_HA_DISCOVER_RESPONSE
@ ICMPV6_MOBILITY_HA_DISCOVER_RESPONSE
Definition: icmpv6-header.h:67
ns3::Icmpv6OptionRedirected::SetPacket
void SetPacket(Ptr< Packet > packet)
Set the redirected packet.
Definition: icmpv6-header.cc:1935
ns3::Icmpv6TimeExceeded::~Icmpv6TimeExceeded
virtual ~Icmpv6TimeExceeded()
Destructor.
Definition: icmpv6-header.cc:1268
ns3::Icmpv6RS::Icmpv6RS
Icmpv6RS()
Constructor.
Definition: icmpv6-header.cc:719
ns3::Icmpv6TimeExceeded::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1255
ns3::Icmpv6NS::GetIpv6Target
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
Definition: icmpv6-header.cc:235
ns3::Icmpv6RS
ICMPv6 Router Solicitation header.
Definition: icmpv6-header.h:760
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::Icmpv6Redirection::Icmpv6Redirection
Icmpv6Redirection()
Constructor.
Definition: icmpv6-header.cc:810
ns3::Icmpv6ParameterError::m_packet
Ptr< Packet > m_packet
The incorrect packet.
Definition: icmpv6-header.h:1334
ns3::Icmpv6Header::ICMPV6_MALFORMED_HEADER
@ ICMPV6_MALFORMED_HEADER
Definition: icmpv6-header.h:112
ns3::Icmpv6NS
ICMPv6 Neighbor Solicitation header.
Definition: icmpv6-header.h:330
ns3::Icmpv6Header::ICMPV6_ERROR_DESTINATION_UNREACHABLE
@ ICMPV6_ERROR_DESTINATION_UNREACHABLE
Definition: icmpv6-header.h:46
ns3::Icmpv6Header::ICMPV6_HOPLIMIT
@ ICMPV6_HOPLIMIT
Definition: icmpv6-header.h:103
ns3::Icmpv6TooBig::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1138
ns3::Icmpv6OptionMtu::SetMtu
void SetMtu(uint32_t mtu)
Set the MTU.
Definition: icmpv6-header.cc:1582
ns3::Icmpv6DestinationUnreachable::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1044
ns3::Icmpv6Header::ICMPV6_INFORMATION_REQUEST
@ ICMPV6_INFORMATION_REQUEST
Definition: icmpv6-header.h:61
ns3::Icmpv6NA::GetFlagO
bool GetFlagO() const
Get the O flag.
Definition: icmpv6-header.cc:376
ns3::Icmpv6OptionHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1457
ns3::Icmpv6RA::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:495
ns3::Icmpv6OptionPrefixInformation::m_preferredTime
uint32_t m_preferredTime
The preferred time.
Definition: icmpv6-header.h:1608
ns3::Icmpv6RS::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:744
ns3::Icmpv6Header::ICMPV6_NOT_NEIGHBOUR
@ ICMPV6_NOT_NEIGHBOUR
Definition: icmpv6-header.h:93
ns3::Icmpv6RA::m_flagH
bool m_flagH
The H flag.
Definition: icmpv6-header.h:731
ns3::Icmpv6Redirection::SetTarget
void SetTarget(Ipv6Address target)
Set the IPv6 target address.
Definition: icmpv6-header.cc:844
ns3::Icmpv6RA::GetRetransmissionTime
uint32_t GetRetransmissionTime() const
Get the node Retransmission time (Neighbor Discovery).
Definition: icmpv6-header.cc:544
ns3::Icmpv6RA::m_curHopLimit
uint8_t m_curHopLimit
The max jumps.
Definition: icmpv6-header.h:751
ns3::Icmpv6Header::ICMPV6_INFORMATION_RESPONSE
@ ICMPV6_INFORMATION_RESPONSE
Definition: icmpv6-header.h:62
ns3::Icmpv6OptionHeader::SetLength
void SetLength(uint8_t len)
Set the length of the option.
Definition: icmpv6-header.cc:1495
ns3::Icmpv6OptionPrefixInformation::Icmpv6OptionPrefixInformation
Icmpv6OptionPrefixInformation()
Constructor.
Definition: icmpv6-header.cc:1639
ns3::Icmpv6Redirection::SetReserved
void SetReserved(uint32_t reserved)
Set the reserved field.
Definition: icmpv6-header.cc:826
f
double f(double x, void *params)
Definition: 80211b.c:70
ns3::Icmpv6Header::m_code
uint8_t m_code
The code.
Definition: icmpv6-header.h:230
ns3::Icmpv6ParameterError
ICMPv6 Error Parameter Error header.
Definition: icmpv6-header.h:1262
ns3::Icmpv6OptionPrefixInformation::Flags_t
Flags_t
Icmpv6 Option Prefix Information flag field values.
Definition: icmpv6-header.h:1480
ns3::Icmpv6TooBig::SetMtu
void SetMtu(uint32_t mtu)
Set the MTU.
Definition: icmpv6-header.cc:1180
ns3::Icmpv6Header::ICMPV6_SECURE_ND_CERTIFICATE_PATH_ADVERTISEMENT
@ ICMPV6_SECURE_ND_CERTIFICATE_PATH_ADVERTISEMENT
Definition: icmpv6-header.h:70
ns3::Icmpv6RS::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:750
ns3::Icmpv6ParameterError::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1394
ns3::Icmpv6OptionPrefixInformation::SetValidTime
void SetValidTime(uint32_t validTime)
Set the valid time of the information.
Definition: icmpv6-header.cc:1701
ns3::Icmpv6OptionMtu::m_mtu
uint32_t m_mtu
The MTU value.
Definition: icmpv6-header.h:1436
ns3::Icmpv6Header::ICMPV6_UNKNOWN_NEXT_HEADER
@ ICMPV6_UNKNOWN_NEXT_HEADER
Definition: icmpv6-header.h:113
ns3::Icmpv6RA::GetReachableTime
uint32_t GetReachableTime() const
Get the node Reachable time (Neighbor Discovery).
Definition: icmpv6-header.cc:538
ns3::Icmpv6TooBig::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1192
ns3::Icmpv6OptionPrefixInformation::GetPreferredTime
uint32_t GetPreferredTime() const
Get the preferred time of the information.
Definition: icmpv6-header.cc:1707
ns3::Icmpv6Echo::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:935
ns3::Icmpv6Header::ICMPV6_EXPERIMENTAL_MOBILITY
@ ICMPV6_EXPERIMENTAL_MOBILITY
Definition: icmpv6-header.h:71
ns3::Icmpv6Header::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:102
ns3::Icmpv6OptionRedirected::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1916
ns3::Icmpv6OptionPrefixInformation::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1743
ns3::Icmpv6Echo::GetSeq
uint16_t GetSeq() const
Get the sequence number.
Definition: icmpv6-header.cc:978
ns3::Icmpv6Echo::SetId
void SetId(uint16_t id)
Set the ID of the packet.
Definition: icmpv6-header.cc:972
ns3::Icmpv6OptionPrefixInformation::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1633
ns3::Icmpv6Header::ICMPV6_UNKNOWN_OPTION
@ ICMPV6_UNKNOWN_OPTION
Definition: icmpv6-header.h:114
ns3::Icmpv6Echo::Icmpv6Echo
Icmpv6Echo()
Default constructor.
Definition: icmpv6-header.cc:941
ns3::Icmpv6Echo
ICMPv6 Echo message.
Definition: icmpv6-header.h:942
ns3::Icmpv6RA::m_flagO
bool m_flagO
The O flag.
Definition: icmpv6-header.h:726
ns3::Icmpv6Header::ICMPV6_SUBSCRIBE_REQUEST
@ ICMPV6_SUBSCRIBE_REQUEST
Definition: icmpv6-header.h:52
ns3::Icmpv6NA::m_target
Ipv6Address m_target
The IPv6 target address.
Definition: icmpv6-header.h:561
ns3::Icmpv6OptionPrefixInformation::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1623
ns3::Icmpv6Header::ICMPV6_FRAGTIME
@ ICMPV6_FRAGTIME
Definition: icmpv6-header.h:104
ns3::Icmpv6NA::SetIpv6Target
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
Definition: icmpv6-header.cc:388
ns3::Icmpv6OptionPrefixInformation::NONE
@ NONE
No flags.
Definition: icmpv6-header.h:1481
ns3::Icmpv6ParameterError::~Icmpv6ParameterError
virtual ~Icmpv6ParameterError()
Destructor.
Definition: icmpv6-header.cc:1364
ns3::Icmpv6DestinationUnreachable::SetPacket
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Definition: icmpv6-header.cc:1072
ns3::Icmpv6ParameterError::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1388
ns3::Icmpv6Header::SetChecksum
void SetChecksum(uint16_t checksum)
Set the checksum.
Definition: icmpv6-header.cc:96
ns3::Icmpv6Echo::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:925
ns3::Icmpv6OptionMtu::m_reserved
uint16_t m_reserved
The reserved value.
Definition: icmpv6-header.h:1431
ns3::Icmpv6NS::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:197
ns3::Icmpv6Header::OptionType_e
OptionType_e
ICMPv6 Option type code.
Definition: icmpv6-header.h:78
ns3::Icmpv6ParameterError::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1402
ns3::Icmpv6OptionPrefixInformation::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1755
ns3::Icmpv6Header::Type_e
Type_e
ICMPv6 type code.
Definition: icmpv6-header.h:45
ns3::Icmpv6OptionHeader::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1447
ns3::Icmpv6OptionPrefixInformation::~Icmpv6OptionPrefixInformation
virtual ~Icmpv6OptionPrefixInformation()
Destructor.
Definition: icmpv6-header.cc:1665
ns3::Icmpv6Header::m_checksum
uint16_t m_checksum
The checksum.
Definition: icmpv6-header.h:219
ns3::Icmpv6DestinationUnreachable::~Icmpv6DestinationUnreachable
virtual ~Icmpv6DestinationUnreachable()
Destructor.
Definition: icmpv6-header.cc:1067
ns3::Icmpv6Echo::~Icmpv6Echo
virtual ~Icmpv6Echo()
Destructor.
Definition: icmpv6-header.cc:961
ns3::Icmpv6NS::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:187
ns3::Icmpv6OptionPrefixInformation
ICMPv6 Option Prefix Information.
Definition: icmpv6-header.h:1445
ns3::Icmpv6RA::GetFlagM
bool GetFlagM() const
Get the M flag.
Definition: icmpv6-header.cc:568
ns3::Icmpv6RA::m_LifeTime
uint16_t m_LifeTime
The lifetime value.
Definition: icmpv6-header.h:736
ns3::Icmpv6RA::GetFlagO
bool GetFlagO() const
Get the O flag.
Definition: icmpv6-header.cc:580
ns3::Icmpv6NA::m_flagS
bool m_flagS
The O flag.
Definition: icmpv6-header.h:546
ns3::Icmpv6RA::~Icmpv6RA
virtual ~Icmpv6RA()
Destructor.
Definition: icmpv6-header.cc:515
ns3::Icmpv6OptionPrefixInformation::SetPreferredTime
void SetPreferredTime(uint32_t preferredTime)
Set the preferred time of the information.
Definition: icmpv6-header.cc:1713
ns3::Icmpv6Header::Icmpv6Header
Icmpv6Header()
Constructor.
Definition: icmpv6-header.cc:52
ns3::Icmpv6NA::Icmpv6NA
Icmpv6NA()
Constructor.
Definition: icmpv6-header.cc:317
ns3::Icmpv6TimeExceeded::SetPacket
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Definition: icmpv6-header.cc:1274
ns3::Icmpv6Header
ICMPv6 header.
Definition: icmpv6-header.h:39
ns3::Icmpv6Redirection
ICMPv6 Redirection header.
Definition: icmpv6-header.h:834
ns3::Icmpv6NS::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:247
ns3::Icmpv6RA::GetCurHopLimit
uint8_t GetCurHopLimit() const
Get the IPv6 maximum number of jumps.
Definition: icmpv6-header.cc:526
NS_DEPRECATED_3_34
#define NS_DEPRECATED_3_34
Tag for things deprecated in version ns-3.34.
Definition: deprecated.h:80
ns3::Icmpv6OptionMtu::GetMtu
uint32_t GetMtu() const
Get the MTU.
Definition: icmpv6-header.cc:1576
ns3::Icmpv6TimeExceeded::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1281
ns3::Icmpv6OptionPrefixInformation::GetValidTime
uint32_t GetValidTime() const
Get the valid time of the information.
Definition: icmpv6-header.cc:1695
ns3::Icmpv6OptionRedirected::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1949
ns3::Icmpv6Header::ICMPV6_SUBSCRIVE_END
@ ICMPV6_SUBSCRIVE_END
Definition: icmpv6-header.h:54
ns3::Icmpv6OptionPrefixInformation::SetPrefixLength
void SetPrefixLength(uint8_t prefixLength)
Set the prefix length.
Definition: icmpv6-header.cc:1676
ns3::Icmpv6Header::ICMPV6_ND_ROUTER_SOLICITATION
@ ICMPV6_ND_ROUTER_SOLICITATION
Definition: icmpv6-header.h:55
ns3::Icmpv6TooBig::Icmpv6TooBig
Icmpv6TooBig()
Constructor.
Definition: icmpv6-header.cc:1154
ns3::Icmpv6Redirection::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:794
ns3::Icmpv6TooBig
ICMPv6 Error Too Big header.
Definition: icmpv6-header.h:1107
ns3::Icmpv6RA::m_flagM
bool m_flagM
The M flag.
Definition: icmpv6-header.h:721
ns3::Icmpv6OptionHeader::SetType
void SetType(uint8_t type)
Set the type of the option.
Definition: icmpv6-header.cc:1483
ns3::Icmpv6OptionHeader::GetType
uint8_t GetType() const
Get the type of the option.
Definition: icmpv6-header.cc:1477
ns3::Icmpv6Header::ICMPV6_MOBILITY_HA_DISCOVER_REQUEST
@ ICMPV6_MOBILITY_HA_DISCOVER_REQUEST
Definition: icmpv6-header.h:66
ns3::Icmpv6Header::ICMPV6_ERROR_TIME_EXCEEDED
@ ICMPV6_ERROR_TIME_EXCEEDED
Definition: icmpv6-header.h:48
ns3::Icmpv6DestinationUnreachable
ICMPv6 Error Destination Unreachable header.
Definition: icmpv6-header.h:1039
ns3::Icmpv6Header::m_calcChecksum
bool m_calcChecksum
Checksum enable or not.
Definition: icmpv6-header.h:214
ns3::Icmpv6Echo::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:999
ns3::Icmpv6OptionHeader::~Icmpv6OptionHeader
virtual ~Icmpv6OptionHeader()
Destructor.
Definition: icmpv6-header.cc:1472
ns3::Icmpv6DestinationUnreachable::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1054