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.
Object()
Caller graph was not generated because of its size.
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.
Ptr< const AttributeChecker > MakeUintegerChecker()
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
#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.