ICMPv6 Echo message. More...
#include <icmpv6-header.h>
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. | |
![]() | |
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. | |
![]() | |
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().
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().
|
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().
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().
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Icmpv6Header.
Definition at line 843 of file icmpv6-header.cc.
References GetTypeId().
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().
|
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().
|
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().
|
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().
|
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().
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().
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().
|
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().