A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::SixLowPanHelper Class Reference

Setup a sixlowpan stack to be used as a shim between IPv6 and a generic NetDevice. More...

#include <sixlowpan-helper.h>

+ Collaboration diagram for ns3::SixLowPanHelper:

Public Member Functions

 SixLowPanHelper ()
 
int64_t AssignStreams (NetDeviceContainer c, int64_t stream)
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
NetDeviceContainer Install (NetDeviceContainer c)
 Install the SixLoWPAN stack on top of an existing NetDevice. More...
 
void SetDeviceAttribute (std::string n1, const AttributeValue &v1)
 Set an attribute on each ns3::SixlowpanNetDevice created by SixlowpanHelper::Install. More...
 

Private Attributes

ObjectFactory m_deviceFactory
 Object factory. More...
 

Detailed Description

Setup a sixlowpan stack to be used as a shim between IPv6 and a generic NetDevice.

Definition at line 38 of file sixlowpan-helper.h.

Constructor & Destructor Documentation

ns3::SixLowPanHelper::SixLowPanHelper ( )

Definition at line 32 of file sixlowpan-helper.cc.

References m_deviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().

+ Here is the call graph for this function:

Member Function Documentation

int64_t ns3::SixLowPanHelper::AssignStreams ( NetDeviceContainer  c,
int64_t  stream 
)

Assign a fixed random variable stream number to the random variables used by this model.

Return the number of streams (possibly zero) that have been assigned. The Install() method should have previously been called by the user.

Parameters
cNetDeviceContainer of the set of net devices for which the SixLowPanNetDevice should be modified to use a fixed stream
streamfirst stream index to use
Returns
the number of stream indices assigned by this helper

Definition at line 67 of file sixlowpan-helper.cc.

References ns3::NetDeviceContainer::Begin(), and ns3::NetDeviceContainer::End().

+ Here is the call graph for this function:

NetDeviceContainer ns3::SixLowPanHelper::Install ( NetDeviceContainer  c)

Install the SixLoWPAN stack on top of an existing NetDevice.

This function requires a set of properly configured NetDevices passed in as the parameter "c". The new NetDevices will have to be used instead of the original ones. In this way these SixLoWPAN devices will behave as shims between the NetDevices passed in and IPv6.

Note that only IPv6 (and related protocols, such as ICMPv6) can be transmitted over a 6LoWPAN interface. Any other protocol (e.g., IPv4) will be discarded by 6LoWPAN.

Other protocols (e.g., IPv4) could be used on the original NetDevices with some limitations. See the manual for a complete discussion.

Note
IPv6 stack must be installed after SixLoWPAN, using the SixLoWPAN NetDevices. See the example in the examples directory.
Parameters
cthe NetDevice container
Returns
a container with the newly created SixLowPanNetDevices

Definition at line 45 of file sixlowpan-helper.cc.

References ns3::NetDeviceContainer::Add(), ns3::Node::AddDevice(), ns3::ObjectFactory::Create(), ns3::NetDeviceContainer::Get(), ns3::Node::GetId(), ns3::NetDeviceContainer::GetN(), m_deviceFactory, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::SixLowPanHelper::SetDeviceAttribute ( std::string  n1,
const AttributeValue v1 
)

Set an attribute on each ns3::SixlowpanNetDevice created by SixlowpanHelper::Install.

Parameters
n1the name of the attribute to set
v1the value of the attribute to set

Definition at line 38 of file sixlowpan-helper.cc.

References m_deviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

ObjectFactory ns3::SixLowPanHelper::m_deviceFactory
private

Object factory.

Definition at line 96 of file sixlowpan-helper.h.

Referenced by Install(), SetDeviceAttribute(), and SixLowPanHelper().


The documentation for this class was generated from the following files: