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.whitelist
andface_system.ether.blacklist
config options for Ethernet multicast faces creation (issue #1712)Add
face_system.udp.whitelist
andface_system.udp.blacklist
config options for UDP multicast faces creation (issue #1712)Introduce
tables.cs_policy
config 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_UP
andFACE_EVENT_DOWN
notifications (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
canForwardToLegacy
function no longer checks scope. Strategies using this function shall usewouldViolateScope
separately (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/set
response 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
FaceManager
class has been split among the newly introducedFaceSystem
class 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_system
section of the NFD configuration file. (issue #3904)Switch to use
faces/update
instead of legacyfaces/enable-local-control
to 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
nfdc
tool. The tool is now a universal instrument to query and change NFD state (issue #3780)Refactor implementation of
ndn-autoconfig
tool (issue #2426)
Bugfixes¶
Fix RTT calculation in ASF strategy (issue #3829)
Ensure that
pit::Entry
checks that Interest matches entry when updating in/out-record to prevent strategies to incorrectly pick an incorrect Interest (issue #1756)Fix uncaught
bad_lexical_cast
exception 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-server
returns error code (HTTP/504) when NFD is not running (issue #3863)A number of fixes in documentation
Deprecations¶
Deprecate
nfd-status
command line options. Usenfdc
subcommands, such asnfdc face list
andnfdc status report xml
. The argument-lessnfd-status
is retained as an alias ofnfdc status report
(issue #3780)
Removals¶
Delete deprecated
Strategy::sendInterest
overload 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)