NFD version 0.5.1¶
Release date: January 25, 2017
Changes since version 0.5.0:
New features¶
In ndn-autoconfig, add the Find (geographically) Closest Hub stage (NDN-FCH) using a deployed service (issue #3800)
Add
face_system.ether.whitelistandface_system.ether.blacklistconfig options for Ethernet multicast faces creation (issue #1712)Add
face_system.udp.whitelistandface_system.udp.blacklistconfig options for UDP multicast faces creation (issue #1712)Introduce
tables.cs_policyconfig option to configure cache policy (policy change requires restart of NFD) (issue #3148)Introduce strategy parameters that can be specified when selecting a strategy for a namespace (issue #3868)
Initial implementation of route re-advertise feature. This release only includes supporting classes. Full implementation of this feature is expected to be introduced in the next release (issue #3818).
Introduce
FACE_EVENT_UPandFACE_EVENT_DOWNnotifications (issue #3794, issue #3818)GenericLinkService now encodes and decodes the NDNLPv2 CongestionMark field (issue #3797)
Updates¶
Allow strategies to pick outgoing Interest. The outgoing Interest pipeline and Strategy API have changed to give strategies an opportunity to pick an outgoing Interest that matches the Interest table entry (issue #1756)
Refactor localhop restriction handling in strategies. Previously available
canForwardToLegacyfunction no longer checks scope. Strategies using this function shall usewouldViolateScopeseparately (issue #3841, issue #1756)Strategy instances are no longer shared among different StrategyChoice entries. Each instance can be individually configured using the arguments supplied during construction (as part of strategy name) (issue #3868)
Change
strategy-choice/setresponse codes. Specifically, if the specified strategy name cannot be instantiated, the command responds with 404 status code (issue #3868)Add ability to instantiate strategy of next higher version if the requested version is not available (issue #3868)
Refactor face management system. The function of the monolithic
FaceManagerclass has been split among the newly introducedFaceSystemclass and the various protocol factories. FaceSystem class is the entry point of NFD’s face system and owns the concrete protocol factories, created based onface_systemsection of the NFD configuration file. (issue #3904)Switch to use
faces/updateinstead of legacyfaces/enable-local-controlto enable local fields (issue #3734)Add support for permanent persistency in TcpTransport (issue #3167)
Add missing and refactor existing registry implementations for replaceable modules, including strategy, protocol factory, CS policy, and unsolicited data policy (issue #2181, issue #3148, issue #3868, issue #3904)
Refactor and extend
nfdctool. The tool is now a universal instrument to query and change NFD state (issue #3780)Refactor implementation of
ndn-autoconfigtool (issue #2426)
Bugfixes¶
Fix RTT calculation in ASF strategy (issue #3829)
Ensure that
pit::Entrychecks that Interest matches entry when updating in/out-record to prevent strategies to incorrectly pick an incorrect Interest (issue #1756)Fix uncaught
bad_lexical_castexception inNetwork::isValidCidr()(issue #3858)Fix incorrect output of
operator<<for Rib class (issue #3423)Make FIB and StrategyChoice iterators default-constructible (issue #3882)
Ensure that
nfd-status-http-serverreturns error code (HTTP/504) when NFD is not running (issue #3863)A number of fixes in documentation
Deprecations¶
Deprecate
nfd-statuscommand line options. Usenfdcsubcommands, such asnfdc face listandnfdc status report xml. The argument-lessnfd-statusis retained as an alias ofnfdc status report(issue #3780)
Removals¶
Delete deprecated
Strategy::sendInterestoverload andviolatesScope(issue #1756, issue #3841)StrategyChoice no longer supports installed instances. All strategies should be registered in the strategy registry (issue #3868)
Strategy::getName. Instead, Strategy API introducesgetStrategyName(strategy program name, including version component) andgetInstanceName(strategy name assigned during strategy instance instantiation, including version and optional extra parameter components) (issue #3868)