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;
803 virtual void Print (std::ostream& os)
const;
889 virtual void Print (std::ostream& os)
const;
979 uint16_t
GetId ()
const;
985 void SetId (uint16_t
id);
997 void SetSeq (uint16_t seq);
1003 virtual void Print (std::ostream& os)
const;
1082 virtual void Print (std::ostream& os)
const;
1156 uint32_t
GetMtu ()
const;
1162 void SetMtu (uint32_t mtu);
1168 virtual void Print (std::ostream& os)
const;
1248 virtual void Print (std::ostream& os)
const;
1323 uint32_t
GetPtr ()
const;
1329 void SetPtr (uint32_t ptr);
1335 virtual void Print (std::ostream& os)
const;
1421 uint32_t
GetMtu ()
const;
1427 void SetMtu (uint32_t mtu);
1433 virtual void Print (std::ostream& os)
const;
1579 virtual void Print (std::ostream& os)
const;
1691 virtual void Print (std::ostream& os)
const;
1765 virtual void Print (std::ostream& os)
const;
uint16_t GetSeq() const
Get the sequence number.
Ipv6Address m_destination
IPv6 destination address.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Print(std::ostream &os) const
Print information.
Address GetAddress() const
Get the hardware address.
uint32_t m_reserved
Reserved value.
void SetPacket(Ptr< Packet > packet)
Set the redirected packet.
ICMPv6 redirected option.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
bool GetFlagS() const
Get the S flag.
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.
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
static TypeId GetTypeId()
Get the UID of this class.
ICMPv6 Error Parameter Error header.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
ICMPv6 Router Advertisement header.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
ICMPv6 Neighbor Advertisement header.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Ptr< Packet > m_packet
The incorrect packet.
Ptr< Packet > m_packet
The incorrect Packet.
Icmpv6OptionMtu()
Constructor.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
void SetReserved(uint32_t reserved)
Set the reserved field.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual ~Icmpv6TimeExceeded()
Destructor.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
ICMPv6 Error Time Exceeded header.
Icmpv6TimeExceeded()
Constructor.
virtual void Print(std::ostream &os) const
Print information.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
ICMPv6 Router Solicitation header.
ICMPv6 Neighbor Solicitation header.
uint16_t m_reserved
The reserved value.
uint32_t m_reserved
The reserved value.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Print(std::ostream &os) const
Print information.
Icmpv6DestinationUnreachable()
Constructor.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
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.
uint32_t GetReserved() const
Get the reserved field.
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.
uint8_t GetFlags() const
Getflags.
uint16_t m_id
ID of the packet (to distinguish response between many ping program).
void SetMtu(uint32_t mtu)
Set the MTU.
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
void SetTarget(Ipv6Address target)
Set the IPv6 target address.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Icmpv6Echo()
Default constructor.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
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
void SetPacket(Ptr< Packet > p)
Set the incorrect packet.
void SetLifeTime(uint16_t l)
Set the node Life time (Neighbor Discovery).
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual void Print(std::ostream &os) const
Print information.
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
ICMPv6 Error Destination Unreachable header.
uint32_t GetMtu() const
Get the MTU field.
virtual ~Icmpv6ParameterError()
Destructor.
void SetCurHopLimit(uint8_t m)
Set the IPv6 maximum number of jumps.
virtual ~Icmpv6NA()
Destructor.
uint32_t m_reserved
The reserved value.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetIpv6Target(Ipv6Address target)
Set the IPv6 target field.
virtual void Print(std::ostream &os) const
Print information.
Icmpv6OptionLinkLayerAddress()
Constructor.
Ipv6Address m_target
The IPv6 target address.
Ptr< Packet > m_packet
the incorrect packet.
uint32_t m_reserved
The reserved value.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
uint32_t GetMtu() const
Get the MTU.
uint16_t GetLifeTime() const
Get the node Life time (Neighbor Discovery).
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual void Print(std::ostream &os) const
Print information.
uint8_t m_curHopLimit
The max jumps.
Ptr< Packet > GetPacket() const
Get the redirected packet.
bool GetFlagO() const
Get the O flag.
ICMPv6 Redirection header.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
Ipv6Address GetTarget() const
Get the IPv6 target address.
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.
uint32_t GetReserved() const
Get the reserved field.
virtual ~Icmpv6OptionLinkLayerAddress()
Destructor.
void SetReserved(uint16_t reserved)
Set the reserved field.
virtual void Print(std::ostream &os) const
Print information.
static TypeId GetTypeId()
Get the UID of this class.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Address m_addr
The hardware address.
void SetReserved(uint32_t reserved)
Set the reserved field.
void SetReserved(uint32_t reserved)
Set the reserved field.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
virtual void Print(std::ostream &os) const
Print information.
double f(double x, void *params)
uint8_t m_flags
The flags field value.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
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.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual TypeId GetInstanceTypeId(void) const
Get the instance type ID.
uint32_t GetReserved() const
Get the reserved field.
bool GetFlagM() const
Get the M flag.
uint8_t GetCurHopLimit() const
Get the IPv6 maximum number of jumps.
virtual ~Icmpv6OptionRedirected()
Destructor.
virtual ~Icmpv6Redirection()
Destructor.
uint32_t m_ReachableTime
The reachable time value.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
Ipv6Address GetIpv6Target() const
Get the IPv6 target field.
void SetFlagO(bool o)
Set the O flag.
void SetFlagH(bool h)
Set the H flag.
virtual void Print(std::ostream &os) const
Print information.
virtual ~Icmpv6RA()
Destructor.
void SetReserved(uint32_t reserved)
Set the reserved field.
void SetFlagR(bool r)
Set the R flag.
void SetFlagS(bool s)
Set the S flag.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
void SetFlagM(bool m)
Set the M flag.
void SetReachableTime(uint32_t r)
Set the node Reachable time (Neighbor Discovery).
uint32_t m_ptr
The pointer field.
Describes an IPv6 address.
Icmpv6TooBig()
Constructor.
virtual void Print(std::ostream &os) const
Print information.
uint16_t GetReserved() const
Get the reserved field.
virtual ~Icmpv6Echo()
Destructor.
void SetDestination(Ipv6Address destination)
Set the IPv6 destination address.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual ~Icmpv6TooBig()
Destructor.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual void Print(std::ostream &os) const
Print information.
Ipv6Address GetDestination() const
Get the IPv6 destination address.
uint16_t m_LifeTime
The lifetime value.
virtual ~Icmpv6NS()
Destructor.
bool GetFlagR() const
Get the R flag.
Ptr< Packet > m_packet
The incorrect packet.
Icmpv6OptionRedirected()
Constructor.
virtual void Print(std::ostream &os) const
Print information.
uint32_t GetPtr() const
Get the pointer field.
virtual ~Icmpv6DestinationUnreachable()
Destructor.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
Ptr< Packet > GetPacket() const
Get the incorrect packet.
static TypeId GetTypeId()
Get the UID of this class.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
uint32_t GetReachableTime() const
Get the node Reachable time (Neighbor Discovery).
ICMPv6 link-layer address option.
uint32_t GetReserved() const
Get the reserved field.
void SetFlags(uint8_t f)
Setflags.
void SetSeq(uint16_t seq)
Set the sequence number.
bool GetFlagO() const
Get the O flag.
uint32_t m_mtu
The MTU value.
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the packet.
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.
uint16_t m_seq
Sequence number (to distinguish response).
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
ICMPv6 Error Too Big header.
a unique identifier for an interface.
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.
bool GetFlagH() const
Get the H flag.
static TypeId GetTypeId()
Get the UID of this class.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
void SetId(uint16_t id)
Set the ID of the packet.
uint32_t GetRetransmissionTime() const
Get the node Retransmission time (Neighbor Discovery).
virtual TypeId GetInstanceTypeId() const
Get the instance type ID.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.
virtual uint32_t GetSerializedSize() const
Get the serialized size.
void SetMtu(uint32_t mtu)
Set the MTU.
void SetAddress(Address addr)
Set the hardware address.
uint16_t GetId() const
Get the ID of the packet.
virtual void Print(std::ostream &os) const
Print information.
virtual void Serialize(Buffer::Iterator start) const
Serialize the packet.