NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::rib Namespace Reference


class  AutoPrefixPropagator
 provides automatic prefix propagation feature More...
class  ClientToNlsrReadvertisePolicy
 a policy to readvertise routes registered by end hosts into NLSR More...
class  FibUpdate
 represents a FIB update More...
class  FibUpdater
 computes FibUpdates based on updates to the RIB and sends them to NFD More...
class  NfdRibReadvertiseDestination
 a readvertise destination using NFD RIB management protocol More...
class  PropagatedEntry
 represents an entry for prefix propagation. More...
class  Readvertise
 readvertise a subset of routes to a destination according to a policy More...
struct  ReadvertiseAction
 a decision made by readvertise policy More...
class  ReadvertiseDestination
 a destination to readvertise into More...
class  ReadvertisedRoute
 state of a readvertised route More...
class  ReadvertisePolicy
 a policy to decide whether to readvertise a route, and what prefix to readvertise More...
class  Rib
 represents the Routing Information Base More...
class  RibEntry
 represents a RIB entry, which contains one or more Routes with the same prefix More...
class  RibManager
struct  RibRouteRef
 references a route More...
class  RibUpdate
 RibUpdate. More...
class  RibUpdateBatch
 represents a collection of RibUpdates to be applied to a single FaceId More...
class  Route
 represents a route for a name prefix More...
class  Service
 initializes and executes NFD-RIB service th


using ReadvertisedRouteContainer = std::set< ReadvertisedRoute >
typedef std::list< RibUpdateRibUpdateList


enum  PropagationStatus { PropagationStatus::NEW, PropagationStatus::PROPAGATING, PropagationStatus::PROPAGATED, PropagationStatus::PROPAGATE_FAIL }


std::ostream & operator<< (std::ostream &os, const FibUpdate &update)
void operator<< (std::ostream &out, PropagationStatus status)
static time::milliseconds randomizeTimer (time::milliseconds baseTimer)
bool operator< (const ReadvertisedRoute &lhs, const ReadvertisedRoute &rhs)
std::ostream & operator<< (std::ostream &os, const RibEntry &entry)
std::ostream & operator<< (std::ostream &os, const RibUpdate::Action action)
std::ostream & operator<< (std::ostream &os, const RibUpdate &update)
bool operator< (const RibRouteRef &lhs, const RibRouteRef &rhs)
static bool sortRoutes (const Route &lhs, const Route &rhs)
std::ostream & operator<< (std::ostream &os, const Rib &rib)
bool operator== (const Route &lhs, const Route &rhs)
std::ostream & operator<< (std::ostream &os, const Route &route)
bool operator!= (const Route &lhs, const Route &rhs)
bool compareFaceIdAndOrigin (const Route &lhs, const Route &rhs)
bool compareFaceId (const Route &route, const uint64_t faceId)


const Name LOCAL_REGISTRATION_PREFIX ("/localhost")
const Name LINK_LOCAL_NFD_PREFIX ("/localhop/nfd")
const name::Component IGNORE_COMMPONENT ("nrd")
const time::seconds PREFIX_PROPAGATION_DEFAULT_REFRESH_INTERVAL = time::seconds(25)
const time::seconds PREFIX_PROPAGATION_MAX_REFRESH_INTERVAL = time::seconds(600)
const time::seconds PREFIX_PROPAGATION_DEFAULT_BASE_RETRY_WAIT = time::seconds(50)
const time::seconds PREFIX_PROPAGATION_DEFAULT_MAX_RETRY_WAIT = time::seconds(3600)
const time::milliseconds PREFIX_PROPAGATION_DEFAULT_TIMEOUT = time::milliseconds(10000)
static const std::string INTERNAL_CONFIG = "internal://nfd.conf"

Typedef Documentation

◆ ReadvertisedRouteContainer

Definition at line 57 of file readvertised-route.hpp.

◆ RibUpdateList

typedef std::list<RibUpdate> nfd::rib::RibUpdateList

Definition at line 35 of file rib-update-batch.hpp.

Enumeration Type Documentation

◆ PropagationStatus


initial status


is being propagated


has been propagated successfully


has failed in propagation

Definition at line 34 of file propagated-entry.hpp.

Function Documentation

◆ operator<<() [1/7]

std::ostream& nfd::rib::operator<< ( std::ostream &  os,
const FibUpdate update 

◆ operator<<() [2/7]

void nfd::rib::operator<< ( std::ostream &  out,
PropagationStatus  status 

Definition at line 33 of file propagated-entry.cpp.


◆ randomizeTimer()

static time::milliseconds nfd::rib::randomizeTimer ( time::milliseconds  baseTimer)

Definition at line 39 of file readvertise.cpp.

References nfd::getGlobalRng().

◆ operator<() [1/2]

bool nfd::rib::operator< ( const ReadvertisedRoute lhs,
const ReadvertisedRoute rhs 

Definition at line 52 of file readvertised-route.hpp.

References nfd::rib::ReadvertisedRoute::prefix.

◆ operator<<() [3/7]

std::ostream & nfd::rib::operator<< ( std::ostream &  os,
const RibEntry entry 

Definition at line 249 of file rib-entry.cpp.

References nfd::rib::RibEntry::getName().

◆ operator<<() [4/7]

std::ostream & nfd::rib::operator<< ( std::ostream &  os,
const RibUpdate::Action  action 

◆ operator<<() [5/7]

std::ostream & nfd::rib::operator<< ( std::ostream &  os,
const RibUpdate update 

◆ operator<() [2/2]

bool nfd::rib::operator< ( const RibRouteRef lhs,
const RibRouteRef rhs 

Definition at line 37 of file rib.cpp.

References nfd::rib::RibRouteRef::entry, and nfd::rib::RibRouteRef::route.

◆ sortRoutes()

static bool nfd::rib::sortRoutes ( const Route lhs,
const Route rhs 

Definition at line 44 of file rib.cpp.

References nfd::rib::Route::faceId.

◆ operator<<() [6/7]

std::ostream & nfd::rib::operator<< ( std::ostream &  os,
const Rib rib 

Definition at line 514 of file rib.cpp.

◆ operator==()

bool nfd::rib::operator== ( const Route lhs,
const Route rhs 

◆ operator<<() [7/7]

std::ostream & nfd::rib::operator<< ( std::ostream &  os,
const Route route 

◆ operator!=()

bool nfd::rib::operator!= ( const Route lhs,
const Route rhs 

Definition at line 79 of file route.hpp.

◆ compareFaceIdAndOrigin()

bool nfd::rib::compareFaceIdAndOrigin ( const Route lhs,
const Route rhs 

Definition at line 85 of file route.hpp.

References nfd::rib::Route::faceId, and nfd::rib::Route::origin.

Referenced by nfd::rib::RibEntry::findRoute().

◆ compareFaceId()

bool nfd::rib::compareFaceId ( const Route route,
const uint64_t  faceId 

Variable Documentation

◆ AutoPrefixPropagator


const Name nfd::rib::LOCAL_REGISTRATION_PREFIX("/localhost")


const Name nfd::rib::LINK_LOCAL_NFD_PREFIX("/localhop/nfd")


const name::Component nfd::rib::IGNORE_COMMPONENT("nrd")


const time::seconds nfd::rib::PREFIX_PROPAGATION_DEFAULT_REFRESH_INTERVAL = time::seconds(25)


const time::seconds nfd::rib::PREFIX_PROPAGATION_MAX_REFRESH_INTERVAL = time::seconds(600)


const time::seconds nfd::rib::PREFIX_PROPAGATION_DEFAULT_BASE_RETRY_WAIT = time::seconds(50)


const time::seconds nfd::rib::PREFIX_PROPAGATION_DEFAULT_MAX_RETRY_WAIT = time::seconds(3600)


const uint64_t nfd::rib::PREFIX_PROPAGATION_DEFAULT_COST = 15


const time::milliseconds nfd::rib::PREFIX_PROPAGATION_DEFAULT_TIMEOUT = time::milliseconds(10000)

◆ FibUpdater

Definition at line 37 of file fib-updater.cpp.

◆ NfdRibReadvertiseDestination

◆ ReadvertiseDestination

◆ Readvertise

Definition at line 33 of file readvertise.cpp.

◆ RibManager

Definition at line 45 of file rib-manager.cpp.

Referenced by nfd::rib::Service::initialize().


const std::string nfd::rib::INTERNAL_CONFIG = "internal://nfd.conf"

Definition at line 41 of file service.cpp.

Referenced by nfd::rib::Service::initialize().