24#include "ns3/header.h"
26#include "ns3/ipv4-header.h"
94 virtual void Print (std::ostream &os)
const;
159 virtual void Print (std::ostream &os)
const;
221 void GetData (uint8_t payload[8])
const;
233 virtual void Print (std::ostream &os)
const;
273 void GetData (uint8_t payload[8])
const;
291 virtual void Print (std::ostream &os)
const;
iterator in a Buffer instance
ICMP Destination Unreachable header.
Ipv4Header m_header
carried IPv4 header
uint16_t m_nextHopMtu
next hop MTU
static TypeId GetTypeId(void)
Get ICMP type.
virtual ~Icmpv4DestinationUnreachable()
void GetData(uint8_t payload[8]) const
Get the ICMP carried data.
Ipv4Header GetHeader(void) const
Get the ICMP carried IPv4 header.
void SetNextHopMtu(uint16_t mtu)
Set the next hop MTU.
uint16_t GetNextHopMtu(void) const
Get the next hop MTU.
void SetHeader(Ipv4Header header)
Set the ICMP carried IPv4 header.
virtual void Serialize(Buffer::Iterator start) const
virtual void Print(std::ostream &os) const
virtual uint32_t Deserialize(Buffer::Iterator start)
void SetData(Ptr< const Packet > data)
Set the ICMP carried data.
ErrorDestinationUnreachable_e
ICMP error code : Destination Unreachable.
@ ICMPV4_HOST_UNREACHABLE
@ ICMPV4_SOURCE_ROUTE_FAILED
@ ICMPV4_PORT_UNREACHABLE
@ ICMPV4_PROTOCOL_UNREACHABLE
virtual uint32_t GetSerializedSize(void) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint8_t m_data[8]
carried data
Icmpv4DestinationUnreachable()
uint16_t GetSequenceNumber(void) const
Get the Echo sequence number.
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.
virtual void Serialize(Buffer::Iterator start) const
uint16_t GetIdentifier(void) const
Get the Echo identifier.
uint32_t GetDataSize(void) const
Get the Echo data size.
virtual void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Get ICMP type.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetSequenceNumber(uint16_t seq)
Set the Echo sequence number.
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start)
uint32_t m_dataSize
data size
ICMP Time Exceeded header.
Ipv4Header m_header
carried IPv4 header
virtual void Print(std::ostream &os) const
virtual ~Icmpv4TimeExceeded()
Ipv4Header GetHeader(void) const
Get the ICMP carried IPv4 header.
void SetHeader(Ipv4Header header)
Set the ICMP carried IPv4 header.
virtual uint32_t Deserialize(Buffer::Iterator start)
static TypeId GetTypeId(void)
Get ICMP type.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void GetData(uint8_t payload[8]) const
Get the ICMP carried data.
virtual uint32_t GetSerializedSize(void) const
virtual void Serialize(Buffer::Iterator start) const
ErrorTimeExceeded_e
ICMP error code : Time Exceeded.
@ ICMPV4_FRAGMENT_REASSEMBLY
uint8_t m_data[8]
carried data
void SetData(Ptr< const Packet > data)
Get the ICMP carried data.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.