NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ns3::ndn::L3Protocol Class Reference

Implementation network-layer of NDN stack. More...

#include <ndn-l3-protocol.hpp>

Inheritance diagram for ns3::ndn::L3Protocol:
Collaboration diagram for ns3::ndn::L3Protocol:

Classes

class  Impl
 

Public Member Functions

 L3Protocol ()
 Default constructor. More...
 
virtual ~L3Protocol ()
 
void initialize ()
 Initialize NFD instance. More...
 
shared_ptr< nfd::ForwardergetForwarder ()
 Get smart pointer to nfd::Forwarder installed on the node. More...
 
shared_ptr< nfd::FibManagergetFibManager ()
 Get smart pointer to nfd::FibManager, used by node's NFD. More...
 
shared_ptr
< nfd::StrategyChoiceManager
getStrategyChoiceManager ()
 Get smart pointer to nfd::StrategyChoiceManager, used by node's NFD. More...
 
nfd::FaceId addFace (shared_ptr< Face > face)
 Add face to NDN stack. More...
 
shared_ptr< FacegetFaceById (nfd::FaceId face) const
 Get face by face ID. More...
 
shared_ptr< FacegetFaceByNetDevice (Ptr< NetDevice > netDevice) const
 Remove face from ndn stack (remove callbacks) More...
 
nfd::ConfigSectiongetConfig ()
 Get NFD config (boost::property_tree) More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Interface ID. More...
 
static Ptr< L3ProtocolgetL3Protocol (Ptr< Object > node)
 

Static Public Attributes

static const uint16_t ETHERNET_FRAME_TYPE = 0x7777
 Ethernet Frame Type of Ndn. More...
 
static const uint16_t IP_STACK_PORT = 9695
 TCP/UDP port for NDN stack. More...
 

Protected Member Functions

virtual void DoDispose (void)
 Do cleanup. More...
 
virtual void NotifyNewAggregate ()
 This function will notify other components connected to the node that a new stack member is now connected This will be used to notify Layer 3 protocol of layer 4 protocol stack to connect them together. More...
 

Detailed Description

Implementation network-layer of NDN stack.

This class defines the API to manipulate the following aspects of the NDN stack implementation:

  1. register a face (Face-derived object) for use by the NDN layer

Each Face-derived object has conceptually a single NDN interface associated with it.

In addition, this class defines NDN packet coding constants

See also
Face, ForwardingStrategy

Definition at line 75 of file ndn-l3-protocol.hpp.

Constructor & Destructor Documentation

ns3::ndn::L3Protocol::L3Protocol ( )

Default constructor.

Creates an empty stack without forwarding strategy set

Definition at line 164 of file ndn-l3-protocol.cpp.

ns3::ndn::L3Protocol::~L3Protocol ( )
virtual

Definition at line 170 of file ndn-l3-protocol.cpp.

Member Function Documentation

nfd::FaceId ns3::ndn::L3Protocol::addFace ( shared_ptr< Face face)

Add face to NDN stack.

Parameters
facesmart pointer to Face-derived object (AppFace, NetDeviceFace)
Returns
nfd::FaceId
See also
AppFace, NetDeviceFace

Definition at line 316 of file ndn-l3-protocol.cpp.

void ns3::ndn::L3Protocol::DoDispose ( void  )
protectedvirtual

Do cleanup.

Definition at line 306 of file ndn-l3-protocol.cpp.

nfd::ConfigSection & ns3::ndn::L3Protocol::getConfig ( )

Get NFD config (boost::property_tree)

Definition at line 279 of file ndn-l3-protocol.cpp.

Referenced by ns3::ndn::StackHelper::Install().

shared_ptr< Face > ns3::ndn::L3Protocol::getFaceById ( nfd::FaceId  face) const

Get face by face ID.

Parameters
faceThe face ID number
Returns
The Face associated with the Ndn face number.

Definition at line 343 of file ndn-l3-protocol.cpp.

shared_ptr< Face > ns3::ndn::L3Protocol::getFaceByNetDevice ( Ptr< NetDevice >  netDevice) const

Remove face from ndn stack (remove callbacks)

Get face for NetDevice

Definition at line 349 of file ndn-l3-protocol.cpp.

Referenced by ns3::AnnotatedTopologyReader::ApplyOspfMetric().

shared_ptr< nfd::FibManager > ns3::ndn::L3Protocol::getFibManager ( )

Get smart pointer to nfd::FibManager, used by node's NFD.

Definition at line 267 of file ndn-l3-protocol.cpp.

shared_ptr< nfd::Forwarder > ns3::ndn::L3Protocol::getForwarder ( )
Ptr< L3Protocol > ns3::ndn::L3Protocol::getL3Protocol ( Ptr< Object >  node)
static

Definition at line 363 of file ndn-l3-protocol.cpp.

shared_ptr< nfd::StrategyChoiceManager > ns3::ndn::L3Protocol::getStrategyChoiceManager ( )

Get smart pointer to nfd::StrategyChoiceManager, used by node's NFD.

Definition at line 273 of file ndn-l3-protocol.cpp.

TypeId ns3::ndn::L3Protocol::GetTypeId ( void  )
static

Interface ID.

Returns
interface ID

Definition at line 64 of file ndn-l3-protocol.cpp.

void ns3::ndn::L3Protocol::initialize ( )

Initialize NFD instance.

Definition at line 176 of file ndn-l3-protocol.cpp.

References nfd::FACEID_NULL.

void ns3::ndn::L3Protocol::NotifyNewAggregate ( )
protectedvirtual

This function will notify other components connected to the node that a new stack member is now connected This will be used to notify Layer 3 protocol of layer 4 protocol stack to connect them together.

Definition at line 289 of file ndn-l3-protocol.cpp.

Member Data Documentation

const uint16_t ns3::ndn::L3Protocol::ETHERNET_FRAME_TYPE = 0x7777
static

Ethernet Frame Type of Ndn.

Definition at line 85 of file ndn-l3-protocol.hpp.

Referenced by ns3::ndn::NetDeviceFace::NetDeviceFace().

const uint16_t ns3::ndn::L3Protocol::IP_STACK_PORT = 9695
static

TCP/UDP port for NDN stack.

Definition at line 86 of file ndn-l3-protocol.hpp.


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