nfd Namespace Reference

Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St. More...

Namespaces

 cs
 
 ethernet
 
 face
 
 fib
 
 fw
 
 general
 
 log
 
 measurements
 
 name_tree
 
 pit
 
 rib
 
 scheduler
 
 scope_prefix
 
 strategy_choice
 
 tcp
 
 tlv
 
 tools
 
 udp
 
 unix_stream
 
 websocket
 

Classes

class  ByteCounter
 represents a counter of number of bytes More...
 
class  CommandAuthenticator
 Provides ControlCommand authorization according to NFD configuration file. More...
 
class  ConfigFile
 configuration file parsing utility More...
 
class  CsManager
 Implement the CS Management of NFD Management Protocol. More...
 
class  DeadNonceList
 represents the Dead Nonce list More...
 
class  FaceManager
 implement the Face Management of NFD Management Protocol. More...
 
class  FaceTable
 container of all faces More...
 
class  FibManager
 implement the FIB Management of NFD Management Protocol. More...
 
class  Forwarder
 main class of NFD More...
 
class  ForwarderCounters
 counters provided by Forwarder More...
 
class  ForwarderStatusManager
 implement the Forwarder Status of NFD Management Protocol. More...
 
class  IpAddressPredicate
 Represents a predicate to accept or reject an IP address. More...
 
class  ManagerBase
 a collection of common functions shared by all NFD managers and RIB manager, such as communicating with the dispatcher and command validator. More...
 
class  Network
 
class  NetworkInterfacePredicate
 Represents a predicate to accept or reject a ndn::net::NetworkInterface. More...
 
class  NetworkPredicateBase
 
class  NetworkRegionTable
 stores a collection of producer region names More...
 
class  Nfd
 Class representing NFD instance This class can be used to initialize all components of NFD. More...
 
class  NfdManagerBase
 a collection of common functions shared by all NFD managers, such as communicating with the dispatcher and command validator. More...
 
class  PacketCounter
 represents a counter of number of packets More...
 
class  PrivilegeHelper
 
class  RttEstimator
 implements the Mean-Deviation RTT estimator More...
 
class  SimpleCounter
 represents a counter that encloses an integer value More...
 
class  SizeCounter
 provides a counter that observes the size of a table More...
 
class  StrategyChoiceManager
 implement the Strategy Choice Management of NFD Management Protocol. More...
 
class  StrategyInfoHost
 base class for an entity onto which StrategyInfo items may be placed More...
 
class  TablesConfigSection
 handles 'tables' config section More...
 

Typedefs

using ConfigSection = boost::property_tree::ptree
 a config file section More...
 
using ConfigSectionHandler = std::function< void(const ConfigSection &section, bool isDryRun, const std::string &filename)>
 callback to process a config file section More...
 
using OptionalConfigSection = boost::optional< const ConfigSection & >
 an optional config file section More...
 
using SignerTag = ndn::SimpleTag< Name, 20 >
 an Interest tag to indicate command signer More...
 
using UnknownConfigSectionHandler = std::function< void(const std::string &filename, const std::string &sectionName, const ConfigSection &section, bool isDryRun)>
 callback to process a config file section without a ConfigSectionHandler More...
 

Functions

void cleanupOnFaceRemoval (NameTree &nt, Fib &fib, Pit &pit, const Face &face)
 cleanup tables when a face is destroyed More...
 
static bool compare_InRecord_expiry (const pit::InRecord &a, const pit::InRecord &b)
 
template<typename T >
static void copyFaceProperties (const Face &face, T &to)
 
template<typename T >
static void copyMtu (const Face &face, T &to)
 
static bool doesAddressMatchRule (const boost::asio::ip::address &address, const std::string &rule)
 
static bool doesMatchPattern (const std::string &ifname, const std::string &pattern)
 
static bool doesNetifMatchRule (const ndn::net::NetworkInterface &netif, const std::string &rule)
 
template<typename It , typename Pred >
It find_last_if (It first, It last, Pred p)
 finds the last element satisfying a predicate More...
 
static Name getDefaultStrategyName ()
 
template<typename E >
std::string getExtendedErrorMessage (const E &exception)
 
boost::asio::io_service & getGlobalIoService ()
 
std::mt19937 & getGlobalRng ()
 
boost::asio::io_service & getMainIoService ()
 
boost::asio::io_service & getRibIoService ()
 
static optional< std::string > getSignerFromTag (const Interest &interest)
 obtain signer from SignerTag attached to Interest, if available More...
 
static void ignoreRibAndLogSections (const std::string &filename, const std::string &sectionName, const ConfigSection &section, bool isDryRun)
 
static ControlParameters makeCreateFaceResponse (const Face &face)
 
static ndn::nfd::FaceStatus makeFaceStatus (const Face &face, const time::steady_clock::TimePoint &now)
 
static ControlParameters makeUpdateFaceResponse (const Face &face)
 
static bool matchFilter (const ndn::nfd::FaceQueryFilter &filter, const Face &face)
 
 NDN_CXX_ASSERT_FORWARD_ITERATOR (FaceTable::const_iterator)
 
std::ostream & operator<< (std::ostream &os, const Network &network)
 
std::istream & operator>> (std::istream &is, Network &network)
 
static void printLogModules (std::ostream &os)
 
static void printUsage (std::ostream &os, const char *programName, const po::options_description &opts)
 
void resetGlobalIoService ()
 
void runOnMainIoService (const std::function< void()> &f)
 run a function on the main io_service instance More...
 
void runOnRibIoService (const std::function< void()> &f)
 run a function on the RIB io_service instance More...
 
void setMainIoService (boost::asio::io_service *mainIo)
 
void setRibIoService (boost::asio::io_service *ribIo)
 
static const time::milliseconds STATUS_FRESHNESS (5000)
 
static void updateLinkServiceOptions (Face &face, const ControlParameters &parameters)
 

Variables

static const int FIB_MAX_DEPTH = 32
 Maximum number of components in a FIB entry prefix. More...
 
static boost::thread_specific_ptr< boost::asio::io_service > g_ioService
 
static boost::asio::io_service * g_mainIoService = nullptr
 
static boost::asio::io_service * g_ribIoService = nullptr
 
static const std::string INTERNAL_CONFIG = "internal://nfd.conf"
 

Detailed Description

Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

Copyright (c) 2014, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

contain name prefixes that affect namespace-based scope control

Copyright (c) 2014-2016, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

Copyright (c) 2014-2017, Regents of the University of California, Arizona Board of Regents, Colorado State University, University Pierre & Marie Curie, Sorbonne University, Washington University in St.

Louis, Beijing Institute of Technology, The University of Memphis.

This file is part of NFD (Named Data Networking Forwarding Daemon). See AUTHORS.md for complete list of NFD authors and contributors.

NFD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with NFD, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

Louis, Beijing Institute of Technology, The University of Memphis

This file is part of NFD (Named Data Networking Forwarding Daemon). See AUTHORS.md for complete list of NFD authors and contributors.

NFD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with NFD, e.g., in COPYING.md file. If not, see http://www.gnu.org/licenses/.

See also
https://redmine.named-data.net/projects/nfd/wiki/ScopeControl

Typedef Documentation

using nfd::ConfigSection = typedef boost::property_tree::ptree

a config file section

Definition at line 37 of file config-file.hpp.

using nfd::ConfigSectionHandler = typedef std::function<void(const ConfigSection& section, bool isDryRun, const std::string& filename)>

callback to process a config file section

Definition at line 46 of file config-file.hpp.

using nfd::OptionalConfigSection = typedef boost::optional<const ConfigSection&>

an optional config file section

Definition at line 41 of file config-file.hpp.

using nfd::SignerTag = typedef ndn::SimpleTag<Name, 20>

an Interest tag to indicate command signer

Definition at line 50 of file command-authenticator.cpp.

using nfd::UnknownConfigSectionHandler = typedef std::function<void(const std::string& filename, const std::string& sectionName, const ConfigSection& section, bool isDryRun)>

callback to process a config file section without a ConfigSectionHandler

Definition at line 53 of file config-file.hpp.

Function Documentation

void nfd::cleanupOnFaceRemoval ( NameTree &  nt,
Fib &  fib,
Pit &  pit,
const Face &  face 
)

cleanup tables when a face is destroyed

This function enumerates the NameTree, calls Fib::removeNextHop for each FIB entry, calls Pit::deleteInOutRecords for each PIT entry, and finally deletes any name tree entries that have become empty.

Note
It's a design choice to let Fib and Pit classes decide what to do with each entry. This function is only responsible for implementing the enumeration procedure. The benefit of having this function instead of doing the enumeration in Fib and Pit classes is to perform both FIB and PIT cleanups in one pass of NameTree enumeration, so as to reduce performance overhead.

Definition at line 31 of file cleanup.cpp.

static bool nfd::compare_InRecord_expiry ( const pit::InRecord a,
const pit::InRecord b 
)
inlinestatic

Definition at line 166 of file forwarder.cpp.

template<typename T >
static void nfd::copyFaceProperties ( const Face &  face,
T &  to 
)
static

Definition at line 329 of file face-manager.cpp.

template<typename T >
static void nfd::copyMtu ( const Face &  face,
T &  to 
)
static

Definition at line 154 of file face-manager.cpp.

static bool nfd::doesAddressMatchRule ( const boost::asio::ip::address &  address,
const std::string &  rule 
)
static

Definition at line 201 of file network-predicate.cpp.

static bool nfd::doesMatchPattern ( const std::string &  ifname,
const std::string &  pattern 
)
static

Definition at line 168 of file network-predicate.cpp.

static bool nfd::doesNetifMatchRule ( const ndn::net::NetworkInterface &  netif,
const std::string &  rule 
)
static

Definition at line 176 of file network-predicate.cpp.

template<typename It , typename Pred >
It nfd::find_last_if ( It  first,
It  last,
Pred  p 
)

finds the last element satisfying a predicate

Template Parameters
ItBidirectionalIterator
PredUnaryPredicate
Returns
Iterator to the last element satisfying the condition, or last if no such element is found.

Complexity: at most last-first invocations of p

Definition at line 49 of file algorithm.hpp.

static Name nfd::getDefaultStrategyName ( )
static

Definition at line 41 of file forwarder.cpp.

template<typename E >
std::string nfd::getExtendedErrorMessage ( const E &  exception)

Definition at line 36 of file extended-error-message.hpp.

boost::asio::io_service & nfd::getGlobalIoService ( )
Returns
the global io_service instance

Definition at line 42 of file global-io.cpp.

std::mt19937 & nfd::getGlobalRng ( )
Returns
the global random number generator instance

Definition at line 32 of file random.cpp.

boost::asio::io_service & nfd::getMainIoService ( )

Definition at line 70 of file global-io.cpp.

boost::asio::io_service & nfd::getRibIoService ( )

Definition at line 77 of file global-io.cpp.

static optional<std::string> nfd::getSignerFromTag ( const Interest &  interest)
static

obtain signer from SignerTag attached to Interest, if available

Definition at line 55 of file command-authenticator.cpp.

static void nfd::ignoreRibAndLogSections ( const std::string &  filename,
const std::string &  sectionName,
const ConfigSection section,
bool  isDryRun 
)
inlinestatic

Definition at line 117 of file nfd.cpp.

static ControlParameters nfd::makeCreateFaceResponse ( const Face &  face)
static

Definition at line 188 of file face-manager.cpp.

static ndn::nfd::FaceStatus nfd::makeFaceStatus ( const Face &  face,
const time::steady_clock::TimePoint &  now 
)
static

Definition at line 348 of file face-manager.cpp.

static ControlParameters nfd::makeUpdateFaceResponse ( const Face &  face)
static

Definition at line 168 of file face-manager.cpp.

static bool nfd::matchFilter ( const ndn::nfd::FaceQueryFilter &  filter,
const Face &  face 
)
static

Definition at line 407 of file face-manager.cpp.

nfd::NDN_CXX_ASSERT_FORWARD_ITERATOR ( FaceTable::const_iterator  )
std::ostream & nfd::operator<< ( std::ostream &  os,
const Network network 
)

Definition at line 79 of file network.cpp.

std::istream & nfd::operator>> ( std::istream &  is,
Network network 
)

Definition at line 85 of file network.cpp.

static void nfd::printLogModules ( std::ostream &  os)
static

Definition at line 238 of file main.cpp.

static void nfd::printUsage ( std::ostream &  os,
const char *  programName,
const po::options_description &  opts 
)
static

Definition at line 228 of file main.cpp.

void nfd::resetGlobalIoService ( )

Definition at line 51 of file global-io.cpp.

void nfd::runOnMainIoService ( const std::function< void()> &  f)

run a function on the main io_service instance

Definition at line 84 of file global-io.cpp.

void nfd::runOnRibIoService ( const std::function< void()> &  f)

run a function on the RIB io_service instance

Definition at line 90 of file global-io.cpp.

void nfd::setMainIoService ( boost::asio::io_service *  mainIo)

Definition at line 58 of file global-io.cpp.

void nfd::setRibIoService ( boost::asio::io_service *  ribIo)

Definition at line 64 of file global-io.cpp.

static const time::milliseconds nfd::STATUS_FRESHNESS ( 5000  )
static
static void nfd::updateLinkServiceOptions ( Face &  face,
const ControlParameters &  parameters 
)
static

Definition at line 225 of file face-manager.cpp.

Variable Documentation

const int nfd::FIB_MAX_DEPTH = 32
static

Maximum number of components in a FIB entry prefix.

Definition at line 33 of file fib-max-depth.hpp.

boost::thread_specific_ptr<boost::asio::io_service> nfd::g_ioService
static

Definition at line 37 of file global-io.cpp.

boost::asio::io_service* nfd::g_mainIoService = nullptr
static

Definition at line 38 of file global-io.cpp.

boost::asio::io_service* nfd::g_ribIoService = nullptr
static

Definition at line 39 of file global-io.cpp.

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

Definition at line 48 of file nfd.cpp.