NFD Release Notes

NFD version 0.6.0

Release date: October 16, 2017

Changes since version 0.5.1:

New features

  • Generic prefix readvertise capability with specific support of readvertise-to-NLSR (Issue #3818)
  • Unicast Ethernet faces, including close-on-idle, persistency change, fragmentation and reassembly features (Issue #4011, Issue #4012)
  • Capability to create permanent TCP faces (Issue #3167)
  • Configuration option to make UDP multicast and Ethernet multicast faces “ad hoc” (Issue #4018, Issue #3967)
  • Replace Link with ForwardingHint as part of Interest processing (Issue #4055)
  • ForwardingHint stripped when Interest reaches producer region (Issue #3893)
  • New capabilities in multicast strategy:
  • Wildcard matching on interface names for whitelist/blacklist (Issue #4009)
  • Optional best-effort link-layer reliability feature in NDNLPv2 (Issue #3931)
  • Support for LpReliability flag in faces/create and faces/update (Issue #4003)
  • Advisory limit of NameTree depth (Issue #4262)
  • Contributing guide and code of conduct (Issue #3898)


  • Allow forwarding of Interest/Data to ad hoc face regardless if the Interest/Data came from the same face (Issue #3968)
  • Interpret omitted FreshnessPeriod as “always stale” (Issue #3944)
  • Duplicate nonce from same face is no longer considered “loop” (Issue #3888)
  • Refactor nfdc command-line tool (Issue #3864, Issue #3866)
  • Accept LocalUri in ProtocolFactory and FaceManager (Issue #4016)
  • Abstract Nack processing out of BestRouteStrategy2 (Issue #3176)
  • Rework FacePersistency handling in faces/create and faces/update (Issue #3232)
    • Enable changing persistency in faces/update command
    • Reject faces/create request if the face already exists
  • RIB updates to follow API changes in ndn-cxx library (Issue #3903)
  • Switch to V2 security framework (Issue #4089)
  • Use NetworkMonitor, NetworkInterface, lp::isLessSevere from ndn-cxx (Issue #4021, Issue #4228)
  • Move Channel and subclasses into nfd::face namespace
  • Improve consistency of logging in channels (Issue #2561)
  • Change ndn-autoconfig tool to register / prefix instead of /ndn (Issue #4201)
  • Documentation improvements


  • In ASF strategy add check for FaceInfo existence before using it (Issue #3968)
  • Avoid setting TransportState to FAILED if connection is closed cleanly (Issue #4099)
  • Fix regression ndn-autoconfig continue proceeding with existing face (Issue #4008)
  • Decode CachePolicy without requiring allowLocalFields (Issue #3966)
  • Fix support for link-local IPv6 addresses (Issue #1428)
  • Fix potential misaligned memory accesses (Issue #4191)


  • Deprecated code, including faces/enable-local-control and faces/disable-local-control management commands (Issue #3988)

  • NetworkInterfaceInfo class, replaced by ndn::net::NetworkInterface from ndn-cxx (Issue #4021)

  • Legacy nfdc and nfd-status invocations

    The following legacy nfdc sub-commands are deleted, use the corresponding nfdc face ..., nfdc route ..., nfdc strategy ... commands:

    • register
    • unregister
    • create
    • destroy
    • set-strategy
    • unset-strategy
    • add-nexthop
    • remove nexthop
  • nfd-status no longer accepts command line arguments (Issue #4198). Individual datasets can be requested using nfdc channel list, nfdc face list, nfdc fib list, nfdc route list, and nfdc strategy list commands.

  • nfdId from nfdc status output (Issue #4089)

  • Prohibited endpoint set, making it possible to create faces that connect NFD to itself (Issue #4189)