13#include "ns3/assert.h"
15#include "ns3/uinteger.h"
29 .SetGroupName(
"Internet")
30 .AddAttribute(
"OptionNumber",
31 "The IPv6 option number.",
57 .SetGroupName(
"Internet")
89 p->RemoveAtStart(offset);
92 p->RemoveHeader(pad1Header);
106 .SetGroupName(
"Internet")
138 p->RemoveAtStart(offset);
141 p->RemoveHeader(padnHeader);
155 .SetGroupName(
"Internet")
187 p->RemoveAtStart(offset);
190 p->RemoveHeader(jumbogramHeader);
202 static TypeId tid =
TypeId(
"ns3::Ipv6OptionRouterAlert")
204 .SetGroupName(
"Internet")
236 p->RemoveAtStart(offset);
239 p->RemoveHeader(routerAlertHeader);
static TypeId GetTypeId()
Get the type identificator.
~Ipv6Option() override
Destructor.
virtual uint8_t GetOptionNumber() const =0
Get the option number.
Ptr< Node > m_node
The node.
void SetNode(Ptr< Node > node)
Set the node.
uint8_t GetOptionNumber() const override
Get the option number.
~Ipv6OptionJumbogram() override
Destructor.
static TypeId GetTypeId()
Get the type identificator.
uint8_t Process(Ptr< Packet > packet, uint8_t offset, const Ipv6Header &ipv6Header, bool &isDropped) override
Process method Called from Ipv6L3Protocol::Receive.
static const uint8_t OPT_NUMBER
Jumbogram option number.
Ipv6OptionJumbogram()
Constructor.
static TypeId GetTypeId()
Get the type identificator.
static const uint8_t OPT_NUMBER
Pad1 option number.
uint8_t GetOptionNumber() const override
Get the option number.
Ipv6OptionPad1()
Constructor.
~Ipv6OptionPad1() override
Destructor.
uint8_t Process(Ptr< Packet > packet, uint8_t offset, const Ipv6Header &ipv6Header, bool &isDropped) override
Process method.
~Ipv6OptionPadn() override
Destructor.
static const uint8_t OPT_NUMBER
PadN option number.
uint8_t GetOptionNumber() const override
Get the option number.
uint8_t Process(Ptr< Packet > packet, uint8_t offset, const Ipv6Header &ipv6Header, bool &isDropped) override
Process method.
Ipv6OptionPadn()
Constructor.
static TypeId GetTypeId()
Get the type identificator.
IPv6 Option Router Alert.
static const uint8_t OPT_NUMBER
Router alert option number.
uint8_t Process(Ptr< Packet > packet, uint8_t offset, const Ipv6Header &ipv6Header, bool &isDropped) override
Process method.
~Ipv6OptionRouterAlert() override
Destructor.
uint8_t GetOptionNumber() const override
Get the option number.
static TypeId GetTypeId()
Get the type identificator.
Ipv6OptionRouterAlert()
Constructor.
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Hold an unsigned integer type.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< const AttributeChecker > MakeUintegerChecker()
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)