22 #include "ns3/packet.h"
40 .AddConstructor<Icmpv4Header> ()
47 m_calcChecksum (false)
104 os <<
"type=" << (uint32_t)
m_type <<
", code=" << (uint32_t)
m_code;
155 uint32_t size = data->
GetSize ();
166 m_data =
new uint8_t[size];
201 .AddConstructor<Icmpv4Echo> ()
251 uint32_t size = start.
GetSize () - 4;
255 m_data =
new uint8_t[size];
278 static TypeId tid =
TypeId (
"ns3::Icmpv4DestinationUnreachable")
280 .AddConstructor<Icmpv4DestinationUnreachable> ()
289 for (uint8_t j = 0; j < 8; j++)
324 memcpy (payload,
m_data, 8);
370 for (uint8_t j = 0; j < 8; j++)
382 for (uint8_t i = 0; i < 8; i++)
384 os << (uint32_t)
m_data[i];
403 .AddConstructor<Icmpv4TimeExceeded> ()
412 for (uint8_t j = 0; j < 8; j++)
435 memcpy (payload,
m_data, 8);
480 for (uint8_t j = 0; j < 8; j++)
492 for (uint8_t i = 0; i < 8; i++)
494 os << (uint32_t)
m_data[i];
uint16_t CalculateIpChecksum(uint16_t size)
Calculate the checksum.
virtual void Print(std::ostream &os) const
virtual TypeId GetInstanceTypeId(void) const
void GetData(uint8_t payload[8]) const
#define NS_LOG_FUNCTION(parameters)
virtual TypeId GetInstanceTypeId(void) const
void SetHeader(Ipv4Header header)
void SetData(Ptr< const Packet > data)
virtual uint32_t GetSerializedSize(void) const
uint32_t GetDataSize(void) const
static TypeId GetTypeId(void)
#define NS_ASSERT(condition)
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual ~Icmpv4DestinationUnreachable()
#define NS_LOG_COMPONENT_DEFINE(name)
uint32_t GetSize(void) const
virtual void Print(std::ostream &os) const
virtual void Serialize(Buffer::Iterator start) const
uint16_t GetIdentifier(void) const
uint32_t GetDistanceFrom(Iterator const &o) const
iterator in a Buffer instance
uint16_t GetNextHopMtu(void) const
virtual void Serialize(Buffer::Iterator start) const
static TypeId GetTypeId(void)
void WriteU16(uint16_t data)
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
void WriteHtonU16(uint16_t data)
virtual uint32_t GetSerializedSize(void) const
void SetHeader(Ipv4Header header)
void SetData(Ptr< const Packet > data)
void SetNextHopMtu(uint16_t mtu)
void Read(uint8_t *buffer, uint32_t size)
uint32_t GetData(uint8_t payload[]) const
virtual uint32_t Deserialize(Buffer::Iterator start)
Icmpv4DestinationUnreachable()
void SetData(Ptr< const Packet > data)
virtual ~Icmpv4TimeExceeded()
virtual uint32_t GetSerializedSize(void) const
void WriteU8(uint8_t data)
void GetData(uint8_t payload[8]) const
void SetSequenceNumber(uint16_t seq)
virtual TypeId GetInstanceTypeId(void) const
void Write(uint8_t const *buffer, uint32_t size)
virtual uint32_t Deserialize(Buffer::Iterator start)
uint16_t GetSequenceNumber(void) const
uint32_t CopyData(uint8_t *buffer, uint32_t size) const
Ipv4Header GetHeader(void) const
static TypeId GetTypeId(void)
uint16_t ReadNtohU16(void)
void WriteU32(uint32_t data)
virtual void Print(std::ostream &os) const
uint32_t GetSize(void) const
a unique identifier for an interface.
Ipv4Header GetHeader(void) const
TypeId SetParent(TypeId tid)
void SetIdentifier(uint16_t id)
virtual void Serialize(Buffer::Iterator start) const