ICMPv6 Echo message. More...
#include <icmpv6-header.h>
Inheritance diagram for ns3::Icmpv6Echo:
Collaboration diagram for ns3::Icmpv6Echo:Public Member Functions | |
| Icmpv6Echo () | |
| Default constructor. | |
| Icmpv6Echo (bool request) | |
| Constructor. | |
| virtual | ~Icmpv6Echo () |
| Destructor. | |
| virtual uint32_t | Deserialize (Buffer::Iterator start) |
| Deserialize the packet. | |
| uint16_t | GetId () const |
| Get the ID of the packet. | |
| virtual TypeId | GetInstanceTypeId () const |
| Get the instance type ID. | |
| uint16_t | GetSeq () const |
| Get the sequence number. | |
| virtual uint32_t | GetSerializedSize () const |
| Get the serialized size. | |
| virtual void | Print (std::ostream &os) const |
| Print informations. | |
| virtual void | Serialize (Buffer::Iterator start) const |
| Serialize the packet. | |
| void | SetId (uint16_t id) |
| Set the ID of the packet. | |
| void | SetSeq (uint16_t seq) |
| Set the sequence number. | |
Public Member Functions inherited from ns3::Icmpv6Header | |
| Icmpv6Header () | |
| Constructor. | |
| virtual | ~Icmpv6Header () |
| Destructor. | |
| void | CalculatePseudoHeaderChecksum (Ipv6Address src, Ipv6Address dst, uint16_t length, uint8_t protocol) |
| Calculate pseudo header checksum for IPv6. | |
| uint16_t | GetChecksum () const |
| Get the checksum. | |
| uint8_t | GetCode () const |
| Get the code field. | |
| uint8_t | GetType () const |
| Get the type field. | |
| void | SetChecksum (uint16_t checksum) |
| Set the checksum. | |
| void | SetCode (uint8_t code) |
| Set the code field. | |
| void | SetType (uint8_t type) |
| Set the type. | |
Public Member Functions inherited from ns3::Header | |
| virtual | ~Header () |
Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the UID of this class. | |
Private Attributes | |
| uint16_t | m_id |
| ID of the packet (to distinguish response between many ping program). | |
| uint16_t | m_seq |
| Sequence number (to distinguish response). | |
ICMPv6 Echo message.
Definition at line 941 of file icmpv6-header.h.
| ns3::Icmpv6Echo::Icmpv6Echo | ( | ) |
Default constructor.
Definition at line 848 of file icmpv6-header.cc.
References ns3::Icmpv6Header::ICMPV6_ECHO_REQUEST, ns3::Icmpv6Header::m_checksum, ns3::Icmpv6Header::SetCode(), SetId(), SetSeq(), and ns3::Icmpv6Header::SetType().
Here is the call graph for this function:| ns3::Icmpv6Echo::Icmpv6Echo | ( | bool | request | ) |
Constructor.
| request | request or reply message |
Definition at line 857 of file icmpv6-header.cc.
References ns3::Icmpv6Header::ICMPV6_ECHO_REPLY, ns3::Icmpv6Header::ICMPV6_ECHO_REQUEST, ns3::Icmpv6Header::m_checksum, ns3::Icmpv6Header::SetCode(), SetId(), SetSeq(), and ns3::Icmpv6Header::SetType().
Here is the call graph for this function:
|
virtual |
Destructor.
Definition at line 866 of file icmpv6-header.cc.
|
virtual |
Deserialize the packet.
| start | start offset |
Reimplemented from ns3::Icmpv6Header.
Definition at line 924 of file icmpv6-header.cc.
References GetSerializedSize(), ns3::Icmpv6Header::m_checksum, m_id, m_seq, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), ns3::Icmpv6Header::SetCode(), ns3::Icmpv6Header::SetType(), and visualizer.core::start().
Here is the call graph for this function:| uint16_t ns3::Icmpv6Echo::GetId | ( | void | ) | const |
Get the ID of the packet.
Definition at line 870 of file icmpv6-header.cc.
References m_id.
Referenced by ns3::Icmpv6L4Protocol::HandleEchoRequest(), and ns3::Ping6::HandleRead().
Here is the caller graph for this function:
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Icmpv6Header.
Definition at line 843 of file icmpv6-header.cc.
References GetTypeId().
Here is the call graph for this function:| uint16_t ns3::Icmpv6Echo::GetSeq | ( | void | ) | const |
Get the sequence number.
Definition at line 880 of file icmpv6-header.cc.
References m_seq.
Referenced by ns3::Icmpv6L4Protocol::HandleEchoRequest(), and ns3::Ping6::HandleRead().
Here is the caller graph for this function:
|
virtual |
Get the serialized size.
Reimplemented from ns3::Icmpv6Header.
Definition at line 897 of file icmpv6-header.cc.
Referenced by Deserialize(), ns3::Icmpv6L4Protocol::SendEchoReply(), and ns3::Ipv6RawSocketImpl::SendTo().
Here is the caller graph for this function:
|
static |
Get the UID of this class.
This method returns the TypeId associated to ns3::Icmpv6Echo.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Icmpv6Header.
Definition at line 834 of file icmpv6-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Print informations.
| os | output stream |
Reimplemented from ns3::Icmpv6Header.
Definition at line 890 of file icmpv6-header.cc.
References ns3::Icmpv6Header::GetChecksum(), ns3::Icmpv6Header::GetCode(), and ns3::Icmpv6Header::GetType().
Here is the call graph for this function:
|
virtual |
Serialize the packet.
| start | start offset |
Reimplemented from ns3::Icmpv6Header.
Definition at line 902 of file icmpv6-header.cc.
References ns3::Buffer::Iterator::CalculateIpChecksum(), ns3::Icmpv6Header::GetChecksum(), ns3::Icmpv6Header::GetCode(), ns3::Buffer::Iterator::GetSize(), ns3::Icmpv6Header::GetType(), ns3::Icmpv6Header::m_calcChecksum, m_id, m_seq, ns3::Buffer::Iterator::Next(), visualizer.core::start(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().
Here is the call graph for this function:| void ns3::Icmpv6Echo::SetId | ( | uint16_t | id | ) |
Set the ID of the packet.
| id | id to set |
Definition at line 875 of file icmpv6-header.cc.
References m_id.
Referenced by ns3::Icmpv6L4Protocol::ForgeEchoRequest(), Icmpv6Echo(), ns3::Ping6::Send(), and ns3::Icmpv6L4Protocol::SendEchoReply().
Here is the caller graph for this function:| void ns3::Icmpv6Echo::SetSeq | ( | uint16_t | seq | ) |
Set the sequence number.
| seq | sequence to set |
Definition at line 885 of file icmpv6-header.cc.
References m_seq.
Referenced by ns3::Icmpv6L4Protocol::ForgeEchoRequest(), Icmpv6Echo(), ns3::Ping6::Send(), and ns3::Icmpv6L4Protocol::SendEchoReply().
Here is the caller graph for this function:
|
private |
ID of the packet (to distinguish response between many ping program).
Definition at line 1025 of file icmpv6-header.h.
Referenced by Deserialize(), GetId(), Serialize(), and SetId().
|
private |
Sequence number (to distinguish response).
Definition at line 1030 of file icmpv6-header.h.
Referenced by Deserialize(), GetSeq(), Serialize(), and SetSeq().