23 #ifndef ICMPV6_HEADER_H
24 #define ICMPV6_HEADER_H
26 #include "ns3/header.h"
27 #include "ns3/ipv6-address.h"
28 #include "ns3/packet.h"
179 virtual void Print (std::ostream& os)
const;
291 virtual void Print (std::ostream& os)
const;
388 virtual void Print (std::ostream& os)
const;
516 virtual void Print (std::ostream& os)
const;
682 virtual void Print (std::ostream& os)
const;
800 virtual void Print (std::ostream& os)
const;
886 virtual void Print (std::ostream& os)
const;
976 uint16_t
GetId ()
const;
982 void SetId (uint16_t
id);
994 void SetSeq (uint16_t seq);
1000 virtual void Print (std::ostream& os)
const;
1073 virtual void Print (std::ostream& os)
const;
1141 uint32_t
GetMtu ()
const;
1147 void SetMtu (uint32_t mtu);
1153 virtual void Print (std::ostream& os)
const;
1227 virtual void Print (std::ostream& os)
const;
1296 uint32_t
GetPtr ()
const;
1302 void SetPtr (uint32_t ptr);
1308 virtual void Print (std::ostream& os)
const;
1394 uint32_t
GetMtu ()
const;
1400 void SetMtu (uint32_t mtu);
1406 virtual void Print (std::ostream& os)
const;
1563 virtual void Print (std::ostream& os)
const;
1675 virtual void Print (std::ostream& os)
const;
1743 virtual void Print (std::ostream& os)
const;
double f(double x, void *params)
a polymophic address class
iterator in a Buffer instance
ICMPv6 Error Destination Unreachable header.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual void Print(std::ostream &os) const
Print information.
Icmpv6DestinationUnreachable()
Constructor.
Ptr< Packet > m_packet
The incorrect Packet.
static TypeId GetTypeId()
Get the UID of this class.
virtual ~Icmpv6DestinationUnreachable()
Destructor.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
static TypeId GetTypeId()
Get the UID of this class.
void SetId(uint16_t id)
Set the ID of the packet.
uint16_t m_seq
Sequence number (to distinguish response).
Icmpv6Echo()
Default constructor.
virtual void Print(std::ostream &os) const
Print information.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
uint16_t m_id
ID of the packet (to distinguish response between many ping program).
virtual ~Icmpv6Echo()
Destructor.
uint16_t GetId() const
Get the ID of the packet.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetSeq(uint16_t seq)
Set the sequence number.
uint16_t GetSeq() const
Get the sequence number.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
ICMPv6 Neighbor Advertisement header.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
bool GetFlagS() const
Get the S flag.
virtual void Print(std::ostream &os) const
Print information.
uint32_t m_reserved
The reserved value.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetFlagS(bool s)
Set the S flag.
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
void SetFlagR(bool r)
Set the R flag.
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
bool GetFlagR() const
Get the R flag.
bool GetFlagO() const
Get the O flag.
void SetFlagO(bool o)
Set the O flag.
void SetReserved(uint32_t reserved)
Set the reserved field.
static TypeId GetTypeId()
Get the UID of this class.
Ipv6Address m_target
The IPv6 target address.
virtual ~Icmpv6NA()
Destructor.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
uint32_t GetReserved() const
Get the reserved field.
ICMPv6 Neighbor Solicitation header.
uint32_t m_reserved
The reserved value.
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
uint32_t GetReserved() const
Get the reserved field.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
static TypeId GetTypeId()
Get the UID of this class.
Ipv6Address m_target
The IPv6 target address.
void SetReserved(uint32_t reserved)
Set the reserved field.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual ~Icmpv6NS()
Destructor.
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
virtual void Print(std::ostream &os) const
Print information.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
ICMPv6 link-layer address option.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Icmpv6OptionLinkLayerAddress()
Constructor.
virtual void Print(std::ostream &os) const
Print information.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual TypeId GetInstanceTypeId(void) const
Get the instance type ID.
virtual ~Icmpv6OptionLinkLayerAddress()
Destructor.
static TypeId GetTypeId()
Get the UID of this class.
Address m_addr
The hardware address.
Address GetAddress() const
Get the hardware address.
void SetAddress(Address addr)
Set the hardware address.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
uint16_t m_reserved
The reserved value.
void SetReserved(uint16_t reserved)
Set the reserved field.
uint32_t GetMtu() const
Get the MTU.
static TypeId GetTypeId()
Get the UID of this class.
void SetMtu(uint32_t mtu)
Set the MTU.
virtual void Print(std::ostream &os) const
Print information.
virtual ~Icmpv6OptionMtu()
Destructor.
uint32_t m_mtu
The MTU value.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Icmpv6OptionMtu()
Constructor.
uint16_t GetReserved() const
Get the reserved field.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
ICMPv6 redirected option.
Icmpv6OptionRedirected()
Constructor.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Ptr< Packet > m_packet
The redirected packet.
virtual ~Icmpv6OptionRedirected()
Destructor.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Print(std::ostream &os) const
Print information.
void SetPacket(Ptr< Packet > packet)
Set the redirected packet.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
ICMPv6 Error Parameter Error header.
uint32_t m_ptr
The pointer field.
virtual ~Icmpv6ParameterError()
Destructor.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Print(std::ostream &os) const
Print information.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
static TypeId GetTypeId()
Get the UID of this class.
void SetPtr(uint32_t ptr)
Set the pointer field.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Ptr< Packet > m_packet
The incorrect packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
uint32_t GetPtr() const
Get the pointer field.
Icmpv6ParameterError()
Constructor.
ICMPv6 Router Advertisement header.
void SetLifeTime(uint16_t l)
Set the node Life time (Neighbor Discovery).
NS_DEPRECATED_3_34 void SetFlags(uint8_t f)
Setflags.
uint32_t GetRetransmissionTime() const
Get the node Retransmission time (Neighbor Discovery).
NS_DEPRECATED_3_34 uint8_t GetFlags() const
Getflags.
void SetFlagH(bool h)
Set the H flag.
void SetRetransmissionTime(uint32_t r)
Set the node Retransmission time (Neighbor Discovery).
void SetCurHopLimit(uint8_t m)
Set the IPv6 maximum number of jumps.
void SetFlagO(bool o)
Set the O flag.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetFlagM(bool m)
Set the M flag.
void SetReachableTime(uint32_t r)
Set the node Reachable time (Neighbor Discovery).
static TypeId GetTypeId()
Get the UID of this class.
uint32_t m_RetransmissionTimer
The retransmission timer.
uint16_t GetLifeTime() const
Get the node Life time (Neighbor Discovery).
uint32_t GetReachableTime() const
Get the node Reachable time (Neighbor Discovery).
uint8_t GetCurHopLimit() const
Get the IPv6 maximum number of jumps.
bool GetFlagO() const
Get the O flag.
uint16_t m_LifeTime
The lifetime value.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
bool GetFlagM() const
Get the M flag.
uint8_t m_curHopLimit
The max jumps.
virtual ~Icmpv6RA()
Destructor.
uint32_t m_ReachableTime
The reachable time value.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual void Print(std::ostream &os) const
Print information.
bool GetFlagH() const
Get the H flag.
ICMPv6 Router Solicitation header.
void SetReserved(uint32_t reserved)
Set the reserved field.
uint32_t GetReserved() const
Get the reserved field.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
uint32_t m_reserved
The reserved value.
static TypeId GetTypeId()
Get the UID of this class.
virtual ~Icmpv6RS()
Destructor.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Print(std::ostream &os) const
Print information.
ICMPv6 Redirection header.
Ipv6Address m_target
IPv6 target address.
Ipv6Address GetTarget() const
Get the IPv6 target address.
Ipv6Address m_destination
IPv6 destination address.
uint32_t GetReserved() const
Get the reserved field.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Icmpv6Redirection()
Constructor.
virtual ~Icmpv6Redirection()
Destructor.
void SetDestination(Ipv6Address destination)
Set the IPv6 destination address.
void SetReserved(uint32_t reserved)
Set the reserved field.
Ipv6Address GetDestination() const
Get the IPv6 destination address.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
void SetTarget(Ipv6Address target)
Set the IPv6 target address.
virtual void Print(std::ostream &os) const
Print information.
static TypeId GetTypeId()
Get the UID of this class.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
uint32_t m_reserved
Reserved value.
ICMPv6 Error Time Exceeded header.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
Icmpv6TimeExceeded()
Constructor.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual void Print(std::ostream &os) const
Print information.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual ~Icmpv6TimeExceeded()
Destructor.
Ptr< Packet > m_packet
The incorrect packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
ICMPv6 Error Too Big header.
static TypeId GetTypeId()
Get the UID of this class.
void SetMtu(uint32_t mtu)
Set the MTU.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Ptr< Packet > m_packet
the incorrect packet.
Icmpv6TooBig()
Constructor.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual void Print(std::ostream &os) const
Print information.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
virtual ~Icmpv6TooBig()
Destructor.
uint32_t m_mtu
The MTU value.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
uint32_t GetMtu() const
Get the MTU field.
Describes an IPv6 address.
a unique identifier for an interface.
#define NS_DEPRECATED_3_34
Tag for things deprecated in version ns-3.34.
Every class exported by the ns3 library is enclosed in the ns3 namespace.