NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
ns3::ndn::GlobalRoutingHelper Class Reference

Helper for GlobalRouter interface. More...

#include <ndn-global-routing-helper.hpp>

Public Member Functions

void Install (Ptr< Node > node)
 Install GlobalRouter interface on a node. More...
 
void Install (const NodeContainer &nodes)
 Install GlobalRouter interface on nodes. More...
 
void InstallAll ()
 Install GlobalRouter interface on all nodes. More...
 
void AddOrigin (const std::string &prefix, Ptr< Node > node)
 Add `prefix' as origin on `node'. More...
 
void AddOrigins (const std::string &prefix, const NodeContainer &nodes)
 Add `prefix' as origin on all `nodes'. More...
 
void AddOrigin (const std::string &prefix, const std::string &nodeName)
 Add `prefix' as origin on node `nodeName'. More...
 
void AddOriginsForAll ()
 Add origin to each node based on the node's name (using Names class) More...
 

Static Public Member Functions

static void CalculateRoutes ()
 Calculate for every node shortest path trees and install routes to all prefix origins. More...
 
static void CalculateLfidRoutes ()
 Calculates a set of loop-free multipath routes. More...
 
static void CalculateAllPossibleRoutes ()
 Calculate all possible next-hop independent alternative routes. More...
 

Detailed Description

Helper for GlobalRouter interface.

Definition at line 39 of file ndn-global-routing-helper.hpp.

Member Function Documentation

◆ Install() [1/2]

void ns3::ndn::GlobalRoutingHelper::Install ( Ptr< Node node)

Install GlobalRouter interface on a node.

Note that GlobalRouter will also be installed on all connected nodes and channels

Parameters
nodeNode to install GlobalRouter interface

Definition at line 67 of file ndn-global-routing-helper.cpp.

References ns3::ndn::GlobalRouter::AddIncidency().

Referenced by Install(), and InstallAll().

◆ Install() [2/2]

void ns3::ndn::GlobalRoutingHelper::Install ( const NodeContainer &  nodes)

Install GlobalRouter interface on nodes.

Note that GlobalRouter will also be installed on all connected nodes and channels

Parameters
nodesNodeContainer to install GlobalRouter interface

Definition at line 164 of file ndn-global-routing-helper.cpp.

References Install().

◆ InstallAll()

void ns3::ndn::GlobalRoutingHelper::InstallAll ( )

Install GlobalRouter interface on all nodes.

Definition at line 172 of file ndn-global-routing-helper.cpp.

References Install().

◆ AddOrigin() [1/2]

void ns3::ndn::GlobalRoutingHelper::AddOrigin ( const std::string &  prefix,
Ptr< Node node 
)

Add `prefix' as origin on `node'.

Parameters
prefixPrefix that is originated by node, e.g., node is a producer for this prefix
nodePointer to a node

Definition at line 178 of file ndn-global-routing-helper.cpp.

Referenced by AddOrigin(), AddOrigins(), and AddOriginsForAll().

◆ AddOrigins()

void ns3::ndn::GlobalRoutingHelper::AddOrigins ( const std::string &  prefix,
const NodeContainer &  nodes 
)

Add `prefix' as origin on all `nodes'.

Parameters
prefixPrefix that is originated by nodes
nodesNodeContainer

Definition at line 188 of file ndn-global-routing-helper.cpp.

References AddOrigin().

◆ AddOrigin() [2/2]

void ns3::ndn::GlobalRoutingHelper::AddOrigin ( const std::string &  prefix,
const std::string &  nodeName 
)

Add `prefix' as origin on node `nodeName'.

Parameters
prefixPrefix that is originated by node, e.g., node is a producer for this prefix
nodeNameName of the node that is associated with Ptr<Node> using ns3::Names

Definition at line 196 of file ndn-global-routing-helper.cpp.

References AddOrigin().

◆ AddOriginsForAll()

void ns3::ndn::GlobalRoutingHelper::AddOriginsForAll ( )

Add origin to each node based on the node's name (using Names class)

Definition at line 205 of file ndn-global-routing-helper.cpp.

References AddOrigin().

◆ CalculateRoutes()

void ns3::ndn::GlobalRoutingHelper::CalculateRoutes ( )
static

Calculate for every node shortest path trees and install routes to all prefix origins.

Definition at line 218 of file ndn-global-routing-helper.cpp.

References ns3::ndn::FibHelper::AddRoute(), and ns3::ndn::L3Protocol::getForwarder().

◆ CalculateLfidRoutes()

void ns3::ndn::GlobalRoutingHelper::CalculateLfidRoutes ( )
static

Calculates a set of loop-free multipath routes.

For full description please see tech tech report "Hop-by-Hop Multipath Routing: Choosing the Right Nexthop Set" and the associated Github repository:

https://github.com/schneiderklaus/ndnSIM-routing

See also
https://named-data.net/publications/techreports/mp_routing_tech_report/

Definition at line 41 of file ndn-global-routing-helper-lfid.cpp.

References ns3::ndn::FibHelper::AddRoute(), ns3::ndn::DOWNWARD, ns3::ndn::removeDeadEnds(), ns3::ndn::removeLoops(), and ns3::ndn::UPWARD.

◆ CalculateAllPossibleRoutes()

void ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes ( )
static

Calculate all possible next-hop independent alternative routes.

Refer to the implementation for more details.

Note that this method is highly experimental and should be used with caution (very time consuming).

Definition at line 283 of file ndn-global-routing-helper.cpp.

References ns3::ndn::FibHelper::AddRoute(), and ns3::ndn::L3Protocol::getForwarder().


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