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  Ptr<Packet> GetPacket () const;
1068 
1073  void SetPacket (Ptr<Packet> p);
1074 
1079  virtual void Print (std::ostream& os) const;
1080 
1085  virtual uint32_t GetSerializedSize () const;
1086 
1091  virtual void Serialize (Buffer::Iterator start) const;
1092 
1098  virtual uint32_t Deserialize (Buffer::Iterator start);
1099 
1100 private:
1105 };
1106 
1113 {
1114 public:
1118  Icmpv6TooBig ();
1119 
1123  virtual ~Icmpv6TooBig ();
1124 
1129  static TypeId GetTypeId ();
1130 
1135  virtual TypeId GetInstanceTypeId () const;
1136 
1141  Ptr<Packet> GetPacket () const;
1142 
1147  void SetPacket (Ptr<Packet> p);
1148 
1153  uint32_t GetMtu () const;
1154 
1159  void SetMtu (uint32_t mtu);
1160 
1165  virtual void Print (std::ostream& os) const;
1166 
1171  virtual uint32_t GetSerializedSize () const;
1172 
1177  virtual void Serialize (Buffer::Iterator start) const;
1178 
1184  virtual uint32_t Deserialize (Buffer::Iterator start);
1185 
1186 private:
1187 
1192 
1196  uint32_t m_mtu;
1197 };
1198 
1205 {
1206 public:
1210  Icmpv6TimeExceeded ();
1211 
1215  virtual ~Icmpv6TimeExceeded ();
1216 
1221  static TypeId GetTypeId ();
1222 
1227  virtual TypeId GetInstanceTypeId () const;
1228 
1233  Ptr<Packet> GetPacket () const;
1234 
1239  void SetPacket (Ptr<Packet> p);
1240 
1245  virtual void Print (std::ostream& os) const;
1246 
1251  virtual uint32_t GetSerializedSize () const;
1252 
1257  virtual void Serialize (Buffer::Iterator start) const;
1258 
1264  virtual uint32_t Deserialize (Buffer::Iterator start);
1265 
1266 private:
1267 
1272 };
1273 
1280 {
1281 public:
1286 
1290  virtual ~Icmpv6ParameterError ();
1291 
1296  static TypeId GetTypeId ();
1297 
1302  virtual TypeId GetInstanceTypeId () const;
1303 
1308  Ptr<Packet> GetPacket () const;
1309 
1314  void SetPacket (Ptr<Packet> p);
1315 
1320  uint32_t GetPtr () const;
1321 
1326  void SetPtr (uint32_t ptr);
1327 
1332  virtual void Print (std::ostream& os) const;
1333 
1338  virtual uint32_t GetSerializedSize () const;
1339 
1344  virtual void Serialize (Buffer::Iterator start) const;
1345 
1351  virtual uint32_t Deserialize (Buffer::Iterator start);
1352 
1353 private:
1354 
1359 
1363  uint32_t m_ptr;
1364 };
1365 
1372 {
1373 public:
1377  Icmpv6OptionMtu ();
1378 
1383  Icmpv6OptionMtu (uint32_t mtu);
1384 
1388  virtual ~Icmpv6OptionMtu ();
1389 
1394  static TypeId GetTypeId ();
1395 
1400  virtual TypeId GetInstanceTypeId () const;
1401 
1406  uint16_t GetReserved () const;
1407 
1412  void SetReserved (uint16_t reserved);
1413 
1418  uint32_t GetMtu () const;
1419 
1424  void SetMtu (uint32_t mtu);
1425 
1430  virtual void Print (std::ostream& os) const;
1431 
1436  virtual uint32_t GetSerializedSize () const;
1437 
1442  virtual void Serialize (Buffer::Iterator start) const;
1443 
1449  virtual uint32_t Deserialize (Buffer::Iterator start);
1450 
1451 private:
1455  uint16_t m_reserved;
1456 
1460  uint32_t m_mtu;
1461 };
1462 
1469 {
1470 public:
1475 
1481  Icmpv6OptionPrefixInformation (Ipv6Address network, uint8_t prefixlen);
1482 
1486  virtual ~Icmpv6OptionPrefixInformation ();
1487 
1492  static TypeId GetTypeId ();
1493 
1498  virtual TypeId GetInstanceTypeId () const;
1499 
1503  typedef enum
1504  {
1505  NONE = 0,
1506  ROUTERADDR = 32,
1508  ONLINK = 128
1510 
1515  uint8_t GetPrefixLength () const;
1516 
1521  void SetPrefixLength (uint8_t prefixLength);
1522 
1527  uint8_t GetFlags () const;
1528 
1533  void SetFlags (uint8_t flags);
1534 
1539  uint32_t GetValidTime () const;
1540 
1545  void SetValidTime (uint32_t validTime);
1546 
1551  uint32_t GetPreferredTime () const;
1552 
1557  void SetPreferredTime (uint32_t preferredTime);
1558 
1563  uint32_t GetReserved () const;
1564 
1569  void SetReserved (uint32_t reserved);
1570 
1575  Ipv6Address GetPrefix () const;
1576 
1581  void SetPrefix (Ipv6Address prefix);
1582 
1587  virtual void Print (std::ostream& os) const;
1588 
1593  virtual uint32_t GetSerializedSize () const;
1594 
1599  virtual void Serialize (Buffer::Iterator start) const;
1600 
1606  virtual uint32_t Deserialize (Buffer::Iterator start);
1607 
1608 private:
1613 
1618 
1622  uint8_t m_flags;
1623 
1627  uint32_t m_validTime;
1628 
1633 
1637  uint32_t m_reserved;
1638 };
1639 
1646 {
1647 public:
1652  Icmpv6OptionLinkLayerAddress (bool source);
1653 
1658  static TypeId GetTypeId ();
1659 
1664  virtual TypeId GetInstanceTypeId (void) const;
1665 
1671  Icmpv6OptionLinkLayerAddress (bool source, Address addr);
1672 
1677 
1681  virtual ~Icmpv6OptionLinkLayerAddress ();
1682 
1687  Address GetAddress () const;
1688 
1693  void SetAddress (Address addr);
1694 
1699  virtual void Print (std::ostream& os) const;
1700 
1705  virtual uint32_t GetSerializedSize () const;
1706 
1711  virtual void Serialize (Buffer::Iterator start) const;
1712 
1718  virtual uint32_t Deserialize (Buffer::Iterator start);
1719 
1720 private:
1725 };
1726 
1733 {
1734 public:
1739  static TypeId GetTypeId ();
1740 
1745  virtual TypeId GetInstanceTypeId () const;
1746 
1751 
1755  virtual ~Icmpv6OptionRedirected ();
1756 
1761  Ptr<Packet> GetPacket () const;
1762 
1767  void SetPacket (Ptr<Packet> packet);
1768 
1773  virtual void Print (std::ostream& os) const;
1774 
1779  virtual uint32_t GetSerializedSize () const;
1780 
1785  virtual void Serialize (Buffer::Iterator start) const;
1786 
1792  virtual uint32_t Deserialize (Buffer::Iterator start);
1793 
1794 private:
1799 };
1800 
1801 } /* namespace ns3 */
1802 
1803 #endif /* ICMPV6_HEADER_H */
1804 
ns3::Icmpv6ParameterError::GetPacket
Ptr< Packet > GetPacket() const
Get the incorrect packet.
Definition: icmpv6-header.cc:1382
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:1617
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:1617
ns3::Icmpv6OptionPrefixInformation::m_reserved
uint32_t m_reserved
The reserved field.
Definition: icmpv6-header.h:1637
ns3::Icmpv6OptionMtu::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1543
ns3::Icmpv6OptionPrefixInformation::SetFlags
void SetFlags(uint8_t flags)
Set the flags.
Definition: icmpv6-header.cc:1706
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:1687
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:1576
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::Icmpv6TimeExceeded::GetPacket
Ptr< Packet > GetPacket() const
Get the incorrect packet.
Definition: icmpv6-header.cc:1281
ns3::Icmpv6OptionPrefixInformation::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1766
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:1208
ns3::Icmpv6TimeExceeded
ICMPv6 Error Time Exceeded header.
Definition: icmpv6-header.h:1205
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:1939
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:1191
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:1946
ns3::Icmpv6Header::ICMPV6_SUBSCRIBE_REPORT
@ ICMPV6_SUBSCRIBE_REPORT
Definition: icmpv6-header.h:53
ns3::Icmpv6OptionHeader::Icmpv6OptionHeader
Icmpv6OptionHeader()
Constructor.
Definition: icmpv6-header.cc:1481
ns3::Icmpv6ParameterError::SetPacket
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Definition: icmpv6-header.cc:1388
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:1518
ns3::Icmpv6TooBig::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1152
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:1736
ns3::Icmpv6DestinationUnreachable::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1091
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:1508
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:1506
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:1401
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:1166
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:1353
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:1271
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:1536
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:1363
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:1507
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:1605
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:1748
ns3::Icmpv6OptionRedirected
ICMPv6 redirected option.
Definition: icmpv6-header.h:1733
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:1395
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:1253
ns3::Ptr< Packet >
ns3::Icmpv6TooBig::GetMtu
uint32_t GetMtu() const
Get the MTU field.
Definition: icmpv6-header.cc:1184
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:1300
ns3::Icmpv6OptionMtu::SetReserved
void SetReserved(uint16_t reserved)
Set the reserved field.
Definition: icmpv6-header.cc:1587
ns3::Icmpv6ParameterError::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1363
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:1524
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:1700
ns3::Icmpv6DestinationUnreachable::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1097
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:1559
ns3::Icmpv6OptionMtu::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1611
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:1306
ns3::Icmpv6OptionMtu::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1553
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:1581
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:1369
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:1372
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:1177
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:1196
ns3::Icmpv6OptionPrefixInformation::ROUTERADDR
@ ROUTERADDR
Router Address.
Definition: icmpv6-header.h:1506
ns3::Icmpv6OptionRedirected::m_packet
Ptr< Packet > m_packet
The redirected packet.
Definition: icmpv6-header.h:1798
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:1742
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::Icmpv6DestinationUnreachable::GetPacket
Ptr< Packet > GetPacket() const
Get the incorrect packet.
Definition: icmpv6-header.cc:1072
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:1978
ns3::Icmpv6DestinationUnreachable::m_packet
Ptr< Packet > m_packet
The incorrect Packet.
Definition: icmpv6-header.h:1104
ns3::Icmpv6DestinationUnreachable::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1085
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:1269
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:1196
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:1627
ns3::Icmpv6OptionPrefixInformation::SetPrefix
void SetPrefix(Ipv6Address prefix)
Set the IPv6 prefix.
Definition: icmpv6-header.cc:1754
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:1622
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:1612
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:1966
ns3::Icmpv6OptionRedirected::GetTypeId
static TypeId GetTypeId()
Get the UID of this class.
Definition: icmpv6-header.cc:1923
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:1958
ns3::Icmpv6TimeExceeded::~Icmpv6TimeExceeded
virtual ~Icmpv6TimeExceeded()
Destructor.
Definition: icmpv6-header.cc:1276
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:1263
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:1358
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:1142
ns3::Icmpv6OptionMtu::SetMtu
void SetMtu(uint32_t mtu)
Set the MTU.
Definition: icmpv6-header.cc:1599
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:1474
ns3::Icmpv6TooBig::GetPacket
Ptr< Packet > GetPacket() const
Get the incorrect packet.
Definition: icmpv6-header.cc:1171
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:1632
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:1512
ns3::Icmpv6OptionPrefixInformation::Icmpv6OptionPrefixInformation
Icmpv6OptionPrefixInformation()
Constructor.
Definition: icmpv6-header.cc:1656
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:1280
ns3::Icmpv6OptionPrefixInformation::Flags_t
Flags_t
Icmpv6 Option Prefix Information flag field values.
Definition: icmpv6-header.h:1504
ns3::Icmpv6TooBig::SetMtu
void SetMtu(uint32_t mtu)
Set the MTU.
Definition: icmpv6-header.cc:1190
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:1413
ns3::Icmpv6OptionPrefixInformation::SetValidTime
void SetValidTime(uint32_t validTime)
Set the valid time of the information.
Definition: icmpv6-header.cc:1718
ns3::Icmpv6OptionMtu::m_mtu
uint32_t m_mtu
The MTU value.
Definition: icmpv6-header.h:1460
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:1202
ns3::Icmpv6OptionPrefixInformation::GetPreferredTime
uint32_t GetPreferredTime() const
Get the preferred time of the information.
Definition: icmpv6-header.cc:1724
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:1933
ns3::Icmpv6OptionPrefixInformation::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1760
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:1650
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:1640
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:1505
ns3::Icmpv6ParameterError::~Icmpv6ParameterError
virtual ~Icmpv6ParameterError()
Destructor.
Definition: icmpv6-header.cc:1377
ns3::Icmpv6DestinationUnreachable::SetPacket
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Definition: icmpv6-header.cc:1078
ns3::Icmpv6ParameterError::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1407
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:1455
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:1419
ns3::Icmpv6OptionPrefixInformation::Serialize
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Definition: icmpv6-header.cc:1772
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:1464
ns3::Icmpv6OptionPrefixInformation::~Icmpv6OptionPrefixInformation
virtual ~Icmpv6OptionPrefixInformation()
Destructor.
Definition: icmpv6-header.cc:1682
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:1469
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:1730
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:1287
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:1593
ns3::Icmpv6TimeExceeded::Print
virtual void Print(std::ostream &os) const
Print information.
Definition: icmpv6-header.cc:1294
ns3::Icmpv6OptionPrefixInformation::GetValidTime
uint32_t GetValidTime() const
Get the valid time of the information.
Definition: icmpv6-header.cc:1712
ns3::Icmpv6OptionRedirected::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Definition: icmpv6-header.cc:1972
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:1693
ns3::Icmpv6Header::ICMPV6_ND_ROUTER_SOLICITATION
@ ICMPV6_ND_ROUTER_SOLICITATION
Definition: icmpv6-header.h:55
ns3::Icmpv6TooBig::Icmpv6TooBig
Icmpv6TooBig()
Constructor.
Definition: icmpv6-header.cc:1158
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:1113
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:1500
ns3::Icmpv6OptionHeader::GetType
uint8_t GetType() const
Get the type of the option.
Definition: icmpv6-header.cc:1494
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::Icmpv6OptionRedirected::GetPacket
Ptr< Packet > GetPacket() const
Get the redirected packet.
Definition: icmpv6-header.cc:1952
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:1489
ns3::Icmpv6DestinationUnreachable::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Definition: icmpv6-header.cc:1054