9#ifndef SIXLOWPAN_HELPER_H
10#define SIXLOWPAN_HELPER_H
12#include "ns3/core-module.h"
13#include "ns3/net-device-container.h"
14#include "ns3/object-factory.h"
15#include "ns3/output-stream-wrapper.h"
236 std::string
PrintRovr(
const std::vector<uint8_t>& rovr);
a polymophic address class
Hold a value for an Attribute.
6LoWPAN Capability Indication Option - see RFC 7400.
Describes an IPv6 address.
Keep track of a set of IPv6 interfaces.
Describes an IPv6 prefix.
holds a vector of ns3::NetDevice pointers
Instantiate subclasses of ns3::Object.
Smart pointer class similar to boost::intrusive_ptr.
ObjectFactory m_deviceFactory
Object factory.
void SetDeviceAttribute(std::string n1, const AttributeValue &v1)
Set an attribute on each ns3::SixlowpanNetDevice created by SixlowpanHelper::Install.
static void PrintBindingTable(Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
Print the binding table of a node.
void SetCapabilityIndication(const Ptr< NetDevice > nd, Icmpv6OptionSixLowPanCapabilityIndication capability)
Add a Capability Indication to be advertised by 6LoWPAN-ND.
Ipv6InterfaceContainer InstallSixLowPanNdNode(NetDeviceContainer c)
Install the SixLoWPAN-ND stack, associate it with a NetDevice, and set it as a 6LN.
void InstallSixLowPanNd(NetDeviceContainer c, bool borderRouter)
Install the SixLoWPAN-ND stack in the node and associates it with a NetDevice.
NetDeviceContainer Install(NetDeviceContainer c)
Install the SixLoWPAN stack on top of an existing NetDevice.
void RemoveContext(NetDeviceContainer c, uint8_t contextId)
Remove a compression Context in a set of NetDevices.
std::string PrintRovr(const std::vector< uint8_t > &rovr)
Print a ROVR as a string.
static void PrintBindingTableAllAt(Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
Print the binding table of all nodes at a specific time.
void RenewContext(NetDeviceContainer c, uint8_t contextId, Time validity)
Renew a compression Context in a set of NetDevices.
void SetAdvertisedPrefix(const Ptr< NetDevice > nd, Ipv6Prefix prefix)
Add a new prefix to be advertised by 6LoWPAN-ND.
void RemoveAdvertisedContext(const Ptr< NetDevice > nd, Ipv6Prefix context)
Remove a context advertised by 6LoWPAN-ND.
Ipv6InterfaceContainer InstallSixLowPanNdBorderRouter(NetDeviceContainer c, Ipv6Address baseAddr)
Install the SixLoWPAN-ND stack, associate it with a NetDevice, and set it as a 6LBR.
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
std::vector< uint8_t > ConvertMacToRovr(const Address &mac)
Convert a MAC address to a ROVR.
void InvalidateContext(NetDeviceContainer c, uint8_t contextId)
Invalidates a compression Context in a set of NetDevices.
void AddContext(NetDeviceContainer c, uint8_t contextId, Ipv6Prefix context, Time validity)
Adds a compression Context to a set of NetDevices.
void InitializeRovr(Ptr< Node > node)
Initialize the ROVR for a node.
void AddAdvertisedContext(const Ptr< NetDevice > nd, Ipv6Prefix context)
Add a new context to be advertised by 6LoWPAN-ND.
Simulation virtual time values and global simulation resolution.
Unit
The unit to use to interpret a number representing time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.