13#ifndef SIXLOWPAN_ND_HEADER_H
14#define SIXLOWPAN_ND_HEADER_H
16#include "ns3/header.h"
17#include "ns3/icmpv6-header.h"
18#include "ns3/ipv6-address.h"
19#include "ns3/mac64-address.h"
49 std::vector<uint8_t> rovr,
61 std::vector<uint8_t> rovr,
121 std::vector<uint8_t>
GetRovr()
const;
127 void SetRovr(
const std::vector<uint8_t>& rovr);
145 void Print(std::ostream& os)
const override;
225 const std::vector<uint8_t>& rovr,
237 const std::vector<uint8_t>& rovr,
285 uint8_t
GetI()
const;
291 void SetI(uint8_t twobits);
333 std::vector<uint8_t>
GetRovr()
const;
339 void SetRovr(
const std::vector<uint8_t>& rovr);
345 void Print(std::ostream& os)
const override;
499 void Print(std::ostream& os)
const override;
626 void Print(std::ostream& os)
const override;
iterator in a Buffer instance
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
void Print(std::ostream &os) const override
Print information.
Ipv6Address m_routerAddress
The 6LBR address value.
uint16_t m_validTime
The valid lifetime value (units of 60 seconds).
static TypeId GetTypeId()
Get the UID of this class.
TypeId GetInstanceTypeId() const override
Get the instance type ID.
void SetValidLifeTime(uint16_t time)
Set the valid lifetime field.
uint32_t GetVersion() const
Get the version field.
void SetVersion(uint32_t version)
Set the version field.
uint32_t GetSerializedSize() const override
Get the serialized size.
Icmpv6OptionSixLowPanAuthoritativeBorderRouter()
Constructor.
uint16_t GetValidLifeTime() const
Get the valid lifetime field.
uint32_t m_version
The version value.
void SetRouterAddress(Ipv6Address router)
Set the 6LBR address field.
uint32_t Deserialize(Buffer::Iterator start) override
Deserialize the packet.
Ipv6Address GetRouterAddress() const
Get the 6LBR address field.
~Icmpv6OptionSixLowPanAuthoritativeBorderRouter() override
Destructor.
uint8_t GetCid() const
Get the context identifier field.
bool m_c
The compression flag, indicates that this context is valid for use in compression.
Ipv6Prefix GetContextPrefix() const
Get the context prefix field.
void Print(std::ostream &os) const override
Print information.
Icmpv6OptionSixLowPanContext()
Constructor.
uint8_t m_cid
The context identifier value.
void SetFlagC(bool c)
Set the C flag.
Ipv6Prefix m_prefix
The context prefix value.
void SetContextPrefix(Ipv6Prefix prefix)
Set the context prefix field.
uint8_t m_contextLen
The context length value.
uint32_t Deserialize(Buffer::Iterator start) override
Deserialize the packet.
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
static TypeId GetTypeId()
Get the UID of this class.
uint8_t GetContextLen() const
Get the context length field.
void SetValidTime(uint16_t time)
Set the valid lifetime field.
uint16_t m_validTime
The valid lifetime value (units of 60 seconds).
void SetCid(uint8_t cid)
Set the context identifier field.
bool IsFlagC() const
Is compression flag ?
uint32_t GetSerializedSize() const override
Get the serialized size.
TypeId GetInstanceTypeId() const override
Get the instance type ID.
~Icmpv6OptionSixLowPanContext() override
Destructor.
uint16_t GetValidTime() const
Get the valid lifetime field.
uint32_t GetSerializedSize() const override
Get the serialized size.
static TypeId GetTypeId()
Get the UID of this class.
bool GetFlagR() const
Get the R flag.
uint32_t Deserialize(Buffer::Iterator start) override
Deserialize the packet.
Icmpv6OptionSixLowPanExtendedAddressRegistration()
Constructor.
void SetStatus(uint8_t status)
Set the status field.
uint8_t GetOpaque() const
Get the opaque field.
uint8_t m_status
The status value.
uint8_t GetStatus() const
Get the status field.
TypeId GetInstanceTypeId() const override
Get the instance type ID.
uint8_t GetTransactionId() const
Get the transaction ID field.
uint8_t m_opaque
The opaque value.
uint16_t m_regTime
The registration lifetime value (units of 60 seconds).
void SetRovr(const std::vector< uint8_t > &rovr)
Set the ROVR field.
uint16_t m_tid
The Transaction ID value.
uint8_t m_i
The I Two bit value.
std::vector< uint8_t > GetRovr() const
Get the ROVR field.
~Icmpv6OptionSixLowPanExtendedAddressRegistration() override
Destructor.
uint16_t GetRegTime() const
Get the registration lifetime field.
void SetFlagR(bool r)
Set the R flag.
void SetI(uint8_t twobits)
Set the I-TwoBit field.
std::vector< uint8_t > m_rovr
The ROVR value.
void SetTransactionId(uint8_t tid)
Set the transaction ID field.
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
void SetRegTime(uint16_t time)
Set the registration lifetime field.
uint8_t GetI() const
Get the I-TwoBit field.
void Print(std::ostream &os) const override
Print information.
void SetOpaque(uint8_t opaque)
Set the opaque field.
Ipv6Address m_regAddress
The registered address value.
uint16_t GetRegTime() const
Get the registration lifetime field.
Icmpv6SixLowPanExtendedDuplicateAddressReqOrConf()
Constructor.
uint8_t m_status
The status value.
void SetRegAddress(Ipv6Address registered)
Set the registered address field.
std::vector< uint8_t > m_rovr
The ROVR value.
uint32_t Deserialize(Buffer::Iterator start) override
Deserialize the packet.
Ipv6Address GetRegAddress() const
Get the registered address field.
uint16_t m_tid
The Transaction ID value.
uint8_t GetTransaction_ID() const
Get the transaction ID field.
~Icmpv6SixLowPanExtendedDuplicateAddressReqOrConf() override
Destructor.
void SetStatus(uint8_t status)
Set the status field.
void SetTransaction_ID(uint8_t tid)
Set the transaction ID field.
uint16_t m_regTime
The registration lifetime value (units of 60 seconds).
uint8_t GetStatus() const
Get the status field.
uint32_t GetSerializedSize() const override
Get the serialized size.
static TypeId GetTypeId()
Get the UID of this class.
void Serialize(Buffer::Iterator start) const override
Serialize the packet.
void SetRovr(const std::vector< uint8_t > &rovr)
Set the ROVR field.
void SetRegTime(uint16_t time)
Set the registration lifetime field.
std::vector< uint8_t > GetRovr() const
Get the ROVR field.
TypeId GetInstanceTypeId() const override
Get the instance type ID.
void Print(std::ostream &os) const override
Print information.
Describes an IPv6 address.
Describes an IPv6 prefix.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.