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"
183 virtual void Print (std::ostream& os)
const;
294 virtual void Print (std::ostream& os)
const;
390 virtual void Print (std::ostream& os)
const;
517 virtual void Print (std::ostream& os)
const;
682 virtual void Print (std::ostream& os)
const;
802 virtual void Print (std::ostream& os)
const;
887 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;
1078 virtual void Print (std::ostream& os)
const;
1151 uint32_t
GetMtu ()
const;
1157 void SetMtu (uint32_t mtu);
1163 virtual void Print (std::ostream& os)
const;
1242 virtual void Print (std::ostream& os)
const;
1316 uint32_t
GetPtr ()
const;
1322 void SetPtr (uint32_t ptr);
1328 virtual void Print (std::ostream& os)
const;
1413 uint32_t
GetMtu ()
const;
1419 void SetMtu (uint32_t mtu);
1425 virtual void Print (std::ostream& os)
const;
1570 virtual void Print (std::ostream& os)
const;
1681 virtual void Print (std::ostream& os)
const;
1754 virtual void Print (std::ostream& os)
const;
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Print(std::ostream &os) const
Print informations.
uint32_t GetReserved() const
Get the reserved field.
Ipv6Address m_destination
IPv6 destination address.
uint32_t m_reserved
Reserved value.
void SetPacket(Ptr< Packet > packet)
Set the redirected packet.
uint16_t GetReserved() const
Get the reserved field.
Doxygen introspection did not find any typical Config paths.
uint16_t GetId() const
Get the ID of the packet.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
uint32_t m_RetransmissionTimer
The retransmission timer.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
uint32_t GetPtr() const
Get the pointer field.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Print(std::ostream &os) const
Print informations.
Doxygen introspection did not find any typical Config paths.
uint32_t GetReserved() const
Get the reserved field.
Doxygen introspection did not find any typical Config paths.
Doxygen introspection did not find any typical Config paths.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual void Print(std::ostream &os) const
Print informations.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
Ptr< Packet > m_packet
The incorrect packet.
Ptr< Packet > m_packet
The incorrect Packet.
Icmpv6OptionMtu()
Constructor.
Ipv6Address GetTarget() const
Get the IPv6 target address.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
void SetReserved(uint32_t reserved)
Set the reserved field.
virtual ~Icmpv6TimeExceeded()
Destructor.
Doxygen introspection did not find any typical Config paths.
Icmpv6TimeExceeded()
Constructor.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Doxygen introspection did not find any typical Config paths.
virtual void Print(std::ostream &os) const
Print informations.
Doxygen introspection did not find any typical Config paths.
uint16_t m_reserved
The reserved value.
uint32_t m_reserved
The reserved value.
static TypeId GetTypeId()
Get the UID of this class.
Icmpv6DestinationUnreachable()
Constructor.
bool GetFlagH() const
Get the H flag.
void SetPtr(uint32_t ptr)
Set the pointer field.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Ptr< Packet > m_packet
The redirected packet.
bool GetFlagS() const
Get the S flag.
void SetRetransmissionTime(uint32_t r)
Set the node Retransmission time (Neighbor Discovery).
static TypeId GetTypeId()
Get the UID of this class.
Ipv6Address m_target
IPv6 target address.
static TypeId GetTypeId()
Get the UID of this class.
Ipv6Address m_target
The IPv6 target address.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
uint16_t m_id
ID of the packet (to distinguish response between many ping program).
uint8_t GetCurHopLimit() const
Get the IPv6 maximum number of jumps.
void SetMtu(uint32_t mtu)
Set the MTU.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
void SetTarget(Ipv6Address target)
Set the IPv6 target address.
static TypeId GetTypeId()
Get the UID of this class.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Icmpv6Echo()
Default constructor.
uint16_t GetLifeTime() const
Get the node Life time (Neighbor Discovery).
Icmpv6ParameterError()
Constructor.
static TypeId GetTypeId()
Get the UID of this class.
static TypeId GetTypeId()
Get the UID of this class.
iterator in a Buffer instance
a polymophic address class
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
void SetLifeTime(uint16_t l)
Set the node Life time (Neighbor Discovery).
virtual void Print(std::ostream &os) const
Print informations.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
bool GetFlagR() const
Get the R flag.
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
Doxygen introspection did not find any typical Config paths.
virtual ~Icmpv6ParameterError()
Destructor.
void SetCurHopLimit(uint8_t m)
Set the IPv6 maximum number of jumps.
virtual ~Icmpv6NA()
Destructor.
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
uint32_t m_reserved
The reserved value.
virtual TypeId GetInstanceTypeId(void) const
Get the instance type ID.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
virtual void Print(std::ostream &os) const
Print informations.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Icmpv6OptionLinkLayerAddress()
Constructor.
uint32_t GetMtu() const
Get the MTU.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Ipv6Address m_target
The IPv6 target address.
Ptr< Packet > m_packet
the incorrect packet.
virtual void Print(std::ostream &os) const
Print informations.
uint32_t m_reserved
The reserved value.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual void Print(std::ostream &os) const
Print informations.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Print(std::ostream &os) const
Print informations.
uint8_t m_curHopLimit
The max jumps.
Doxygen introspection did not find any typical Config paths.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
bool GetFlagO() const
Get the O flag.
uint32_t GetReserved() const
Get the reserved field.
static TypeId GetTypeId()
Get the UID of this class.
uint32_t m_mtu
The MTU value.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
bool GetFlagO() const
Get the O flag.
virtual ~Icmpv6OptionLinkLayerAddress()
Destructor.
void SetReserved(uint16_t reserved)
Set the reserved field.
static TypeId GetTypeId()
Get the UID of this class.
Address m_addr
The hardware address.
void SetReserved(uint32_t reserved)
Set the reserved field.
uint16_t GetSeq() const
Get the sequence number.
void SetReserved(uint32_t reserved)
Set the reserved field.
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 informations.
uint8_t m_flags
The flags field value.
virtual ~Icmpv6OptionMtu()
Destructor.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual ~Icmpv6RS()
Destructor.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Doxygen introspection did not find any typical Config paths.
virtual ~Icmpv6OptionRedirected()
Destructor.
uint32_t GetRetransmissionTime() const
Get the node Retransmission time (Neighbor Discovery).
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual ~Icmpv6Redirection()
Destructor.
uint32_t GetReserved() const
Get the reserved field.
uint32_t m_ReachableTime
The reachable time value.
virtual void Print(std::ostream &os) const
Print informations.
void SetFlagO(bool o)
Set the O flag.
void SetFlagH(bool h)
Set the H flag.
virtual ~Icmpv6RA()
Destructor.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetReserved(uint32_t reserved)
Set the reserved field.
void SetFlagR(bool r)
Set the R flag.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual void Print(std::ostream &os) const
Print informations.
Doxygen introspection did not find any typical Config paths.
void SetFlagS(bool s)
Set the S flag.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
void SetFlagM(bool m)
Set the M flag.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
void SetReachableTime(uint32_t r)
Set the node Reachable time (Neighbor Discovery).
uint32_t m_ptr
The pointer field.
Describes an IPv6 address.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Icmpv6TooBig()
Constructor.
virtual void Print(std::ostream &os) const
Print informations.
virtual ~Icmpv6Echo()
Destructor.
void SetDestination(Ipv6Address destination)
Set the IPv6 destination address.
uint8_t GetFlags() const
Getflags.
Ptr< Packet > GetPacket() const
Get the redirected packet.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual ~Icmpv6TooBig()
Destructor.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
uint16_t m_LifeTime
The lifetime value.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual ~Icmpv6NS()
Destructor.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Ptr< Packet > m_packet
The incorrect packet.
Ipv6Address GetDestination() const
Get the IPv6 destination address.
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
Icmpv6OptionRedirected()
Constructor.
virtual ~Icmpv6DestinationUnreachable()
Destructor.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Doxygen introspection did not find any typical Config paths.
void SetFlags(uint8_t f)
Setflags.
void SetSeq(uint16_t seq)
Set the sequence number.
uint32_t m_mtu
The MTU value.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
Address GetAddress() const
Get the hardware address.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Icmpv6Redirection()
Constructor.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
uint32_t GetMtu() const
Get the MTU field.
bool GetFlagM() const
Get the M flag.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
uint16_t m_seq
Sequence number (to distinguish response).
Doxygen introspection did not find any typical Config paths.
a unique identifier for an interface.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
void SetFlagO(bool o)
Set the O flag.
static TypeId GetTypeId()
Get the UID of this class.
static TypeId GetTypeId()
Get the UID of this class.
static TypeId GetTypeId()
Get the UID of this class.
uint32_t GetReachableTime() const
Get the node Reachable time (Neighbor Discovery).
void SetId(uint16_t id)
Set the ID of the packet.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetMtu(uint32_t mtu)
Set the MTU.
void SetAddress(Address addr)
Set the hardware address.