ICMPv6 Error Too Big header. More...
#include <icmpv6-header.h>
Public Member Functions | |
Icmpv6TooBig () | |
Constructor. | |
virtual | ~Icmpv6TooBig () |
Destructor. | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. | |
virtual TypeId | GetInstanceTypeId () const |
Get the instance type ID. | |
uint32_t | GetMtu () const |
Get the MTU field. | |
Ptr< Packet > | GetPacket () const |
Get the incorrect packet. | |
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 | SetMtu (uint32_t mtu) |
Set the MTU. | |
void | SetPacket (Ptr< Packet > p) |
Set the incorrect packet. | |
![]() | |
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 | |
uint32_t | m_mtu |
The MTU value. | |
Ptr< Packet > | m_packet |
the incorrect packet. |
ICMPv6 Error Too Big header.
This type is not accessible from the Config system.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 1110 of file icmpv6-header.h.
ns3::Icmpv6TooBig::Icmpv6TooBig | ( | ) |
Constructor.
Definition at line 1041 of file icmpv6-header.cc.
References ns3::Icmpv6Header::ICMPV6_ERROR_PACKET_TOO_BIG, and ns3::Icmpv6Header::SetType().
|
virtual |
Destructor.
Definition at line 1048 of file icmpv6-header.cc.
|
virtual |
Deserialize the packet.
start | start offset |
Reimplemented from ns3::Icmpv6Header.
Definition at line 1107 of file icmpv6-header.cc.
References data, GetSerializedSize(), ns3::Buffer::Iterator::GetSize(), ns3::Icmpv6Header::m_checksum, m_packet, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), ns3::Icmpv6Header::SetCode(), SetMtu(), ns3::Icmpv6Header::SetType(), and visualizer.core::start().
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Icmpv6Header.
Definition at line 1036 of file icmpv6-header.cc.
References GetTypeId().
uint32_t ns3::Icmpv6TooBig::GetMtu | ( | void | ) | const |
Get the MTU field.
Definition at line 1063 of file icmpv6-header.cc.
References m_mtu.
Referenced by ns3::Icmpv6L4Protocol::HandlePacketTooBig(), Print(), and Serialize().
Get the incorrect packet.
Definition at line 1052 of file icmpv6-header.cc.
References m_packet.
Referenced by ns3::Icmpv6L4Protocol::HandlePacketTooBig().
|
virtual |
Get the serialized size.
Reimplemented from ns3::Icmpv6Header.
Definition at line 1078 of file icmpv6-header.cc.
References ns3::Packet::GetSize(), and m_packet.
Referenced by Deserialize().
|
static |
Get the UID of this class.
Reimplemented from ns3::Icmpv6Header.
Definition at line 1027 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 1073 of file icmpv6-header.cc.
References ns3::Icmpv6Header::GetChecksum(), ns3::Icmpv6Header::GetCode(), GetMtu(), and ns3::Icmpv6Header::GetType().
|
virtual |
Serialize the packet.
start | start offset |
Reimplemented from ns3::Icmpv6Header.
Definition at line 1083 of file icmpv6-header.cc.
References ns3::Buffer::Iterator::CalculateIpChecksum(), ns3::Packet::CopyData(), ns3::Icmpv6Header::GetChecksum(), ns3::Icmpv6Header::GetCode(), GetMtu(), ns3::Packet::GetSize(), ns3::Buffer::Iterator::GetSize(), ns3::Icmpv6Header::GetType(), m_packet, ns3::Buffer::Iterator::Next(), visualizer.core::start(), ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU32(), ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().
void ns3::Icmpv6TooBig::SetMtu | ( | uint32_t | mtu | ) |
Set the MTU.
mtu | the MTU |
Definition at line 1068 of file icmpv6-header.cc.
References m_mtu.
Referenced by Deserialize(), and ns3::Icmpv6L4Protocol::SendErrorTooBig().
Set the incorrect packet.
p | the incorrect packet |
Definition at line 1057 of file icmpv6-header.cc.
References ns3::Packet::GetSize(), m_packet, and NS_ASSERT.
Referenced by ns3::Icmpv6L4Protocol::SendErrorTooBig().
|
private |
The MTU value.
Definition at line 1194 of file icmpv6-header.h.
the incorrect packet.
Definition at line 1189 of file icmpv6-header.h.
Referenced by Deserialize(), GetPacket(), GetSerializedSize(), Serialize(), and SetPacket().