14#include "ns3/header.h"
85 void Print(std::ostream& os)
const override;
149 void Print(std::ostream& os)
const override;
213 void GetData(uint8_t payload[8])
const;
225 void Print(std::ostream& os)
const override;
265 void GetData(uint8_t payload[8])
const;
283 void Print(std::ostream& os)
const override;
iterator in a Buffer instance
ICMP Destination Unreachable header.
Ipv4Header m_header
carried IPv4 header
uint16_t GetNextHopMtu() const
Get the next hop MTU.
uint16_t m_nextHopMtu
next hop MTU
Ipv4Header GetHeader() const
Get the ICMP carried IPv4 header.
void GetData(uint8_t payload[8]) const
Get the ICMP carried data.
void SetNextHopMtu(uint16_t mtu)
Set the next hop MTU.
uint32_t Deserialize(Buffer::Iterator start) override
void Serialize(Buffer::Iterator start) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint32_t GetSerializedSize() const override
void SetHeader(Ipv4Header header)
Set the ICMP carried IPv4 header.
void SetData(Ptr< const Packet > data)
Set the ICMP carried data.
~Icmpv4DestinationUnreachable() override
ErrorDestinationUnreachable_e
ICMP error code : Destination Unreachable.
@ ICMPV4_HOST_UNREACHABLE
@ ICMPV4_SOURCE_ROUTE_FAILED
@ ICMPV4_PORT_UNREACHABLE
@ ICMPV4_PROTOCOL_UNREACHABLE
static TypeId GetTypeId()
Get ICMP type.
uint8_t m_data[8]
carried data
Icmpv4DestinationUnreachable()
void Print(std::ostream &os) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Print(std::ostream &os) const override
uint16_t m_identifier
identifier
uint16_t m_sequence
sequence number
uint32_t GetData(uint8_t payload[]) const
Get the Echo data.
void SetIdentifier(uint16_t id)
Set the Echo identifier.
void SetData(Ptr< const Packet > data)
Set the Echo data.
uint32_t GetSerializedSize() const override
uint32_t Deserialize(Buffer::Iterator start) override
uint16_t GetIdentifier() const
Get the Echo identifier.
void Serialize(Buffer::Iterator start) const override
static TypeId GetTypeId()
Get ICMP type.
void SetSequenceNumber(uint16_t seq)
Set the Echo sequence number.
uint32_t GetDataSize() const
Get the Echo data size.
uint32_t m_dataSize
data size
uint16_t GetSequenceNumber() const
Get the Echo sequence number.
ICMP Time Exceeded header.
uint32_t Deserialize(Buffer::Iterator start) override
Ipv4Header m_header
carried IPv4 header
Ipv4Header GetHeader() const
Get the ICMP carried IPv4 header.
void SetHeader(Ipv4Header header)
Set the ICMP carried IPv4 header.
uint32_t GetSerializedSize() const override
void GetData(uint8_t payload[8]) const
Get the ICMP carried data.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const override
ErrorTimeExceeded_e
ICMP error code : Time Exceeded.
@ ICMPV4_FRAGMENT_REASSEMBLY
uint8_t m_data[8]
carried data
static TypeId GetTypeId()
Get ICMP type.
void SetData(Ptr< const Packet > data)
Get the ICMP carried data.
~Icmpv4TimeExceeded() override
void Print(std::ostream &os) const override
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.