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

Classes

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  HostToGatewayReadvertisePolicy
 a policy to readvertise routes registered by local applications into remote gateway More...
 
class  NfdRibReadvertiseDestination
 a readvertise destination using NFD RIB management protocol 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...
 
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 thread More...
 

Typedefs

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

Functions

std::ostream & operator<< (std::ostream &os, const FibUpdate &update)
 
static time::milliseconds randomizeTimer (time::milliseconds baseTimer)
 
bool operator< (const ReadvertisedRoute &lhs, const ReadvertisedRoute &rhs)
 
static bool compareFaceIdAndOrigin (const Route &lhs, const Route &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)
 
static time::steady_clock::time_point computeExpiration (const ndn::PrefixAnnouncement &ann)
 
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)
 

Variables

 FibUpdater
 
constexpr int MAX_NUM_TIMEOUTS = 10
 
constexpr uint32_t ERROR_FACE_NOT_FOUND = 410
 
static const name::Component IGNORE_COMPONENT ("nrd")
 
static const time::seconds DEFAULT_REFRESH_INTERVAL = 25_s
 
 NfdRibReadvertiseDestination
 
 ReadvertiseDestination
 
 Readvertise
 
 RibEntry
 
 Rib
 
const uint64_t PA_ROUTE_COST = 2048
 cost of route created by prefix announcement More...
 
 RibService
 
const std::string CFG_RIB = "rib"
 
const std::string CFG_LOCALHOST_SECURITY = "localhost_security"
 
const std::string CFG_LOCALHOP_SECURITY = "localhop_security"
 
const std::string CFG_PA_VALIDATION = "prefix_announcement_validation"
 
const std::string CFG_PREFIX_PROPAGATE = "auto_prefix_propagate"
 
const std::string CFG_READVERTISE_NLSR = "readvertise_nlsr"
 
const Name READVERTISE_NLSR_PREFIX = "/localhost/nlsr"
 
const uint64_t PROPAGATE_DEFAULT_COST = 15
 
const time::milliseconds PROPAGATE_DEFAULT_TIMEOUT = 10_s
 

Typedef Documentation

◆ ReadvertisedRouteContainer

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

◆ RibUpdateList

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

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

Function Documentation

◆ operator<<() [1/6]

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

◆ randomizeTimer()

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

Definition at line 41 of file readvertise.cpp.

References ndn::random::getRandomNumberEngine().

Referenced by nfd::rib::Readvertise::Readvertise().

◆ operator<() [1/2]

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

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

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

◆ compareFaceIdAndOrigin()

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

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

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

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

◆ operator<<() [2/6]

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

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

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

◆ operator<<() [3/6]

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

◆ operator<<() [4/6]

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 36 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 
)
inlinestatic

Definition at line 43 of file rib.cpp.

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

Referenced by nfd::rib::Rib::findParent().

◆ operator<<() [5/6]

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

Definition at line 501 of file rib.cpp.

◆ computeExpiration()

◆ operator==()

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

◆ operator<<() [6/6]

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

◆ operator!=()

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

Definition at line 111 of file route.hpp.

References operator<<().

Variable Documentation

◆ FibUpdater

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

◆ MAX_NUM_TIMEOUTS

constexpr int nfd::rib::MAX_NUM_TIMEOUTS = 10

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

◆ ERROR_FACE_NOT_FOUND

constexpr uint32_t nfd::rib::ERROR_FACE_NOT_FOUND = 410

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

◆ IGNORE_COMPONENT

const name::Component nfd::rib::IGNORE_COMPONENT("nrd")
static

◆ DEFAULT_REFRESH_INTERVAL

const time::seconds nfd::rib::DEFAULT_REFRESH_INTERVAL = 25_s
static

◆ NfdRibReadvertiseDestination

◆ ReadvertiseDestination

◆ Readvertise

Definition at line 35 of file readvertise.cpp.

◆ RibEntry

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

◆ Rib

Definition at line 33 of file rib.cpp.

◆ PA_ROUTE_COST

const uint64_t nfd::rib::PA_ROUTE_COST = 2048

cost of route created by prefix announcement

Definition at line 32 of file route.cpp.

◆ RibService

nfd::rib::RibService

Definition at line 46 of file service.cpp.

◆ CFG_RIB

const std::string nfd::rib::CFG_RIB = "rib"

Definition at line 48 of file service.cpp.

◆ CFG_LOCALHOST_SECURITY

const std::string nfd::rib::CFG_LOCALHOST_SECURITY = "localhost_security"

Definition at line 49 of file service.cpp.

◆ CFG_LOCALHOP_SECURITY

const std::string nfd::rib::CFG_LOCALHOP_SECURITY = "localhop_security"

Definition at line 50 of file service.cpp.

◆ CFG_PA_VALIDATION

const std::string nfd::rib::CFG_PA_VALIDATION = "prefix_announcement_validation"

Definition at line 51 of file service.cpp.

◆ CFG_PREFIX_PROPAGATE

const std::string nfd::rib::CFG_PREFIX_PROPAGATE = "auto_prefix_propagate"

Definition at line 52 of file service.cpp.

◆ CFG_READVERTISE_NLSR

const std::string nfd::rib::CFG_READVERTISE_NLSR = "readvertise_nlsr"

Definition at line 53 of file service.cpp.

◆ READVERTISE_NLSR_PREFIX

const Name nfd::rib::READVERTISE_NLSR_PREFIX = "/localhost/nlsr"

Definition at line 54 of file service.cpp.

◆ PROPAGATE_DEFAULT_COST

const uint64_t nfd::rib::PROPAGATE_DEFAULT_COST = 15

Definition at line 55 of file service.cpp.

◆ PROPAGATE_DEFAULT_TIMEOUT

const time::milliseconds nfd::rib::PROPAGATE_DEFAULT_TIMEOUT = 10_s

Definition at line 56 of file service.cpp.