Skip to content

Tags: iai-ceni/NFD

Tags

NFD-22.02

Toggle NFD-22.02's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 22.02

Note that starting with this release, NFD switched to a new versioning
convention: YEAR.MONTH[.REVISION].

Notable changes and new features

- Remove NACKs from multicast strategy (5146)
- Dispatch pending interests when a new next hop is created in
  MulticastStrategy (4931)
- Reorder function parameters in Strategy classes to make the API more
  uniform (5173)
- Add default HopLimit to Interests when missing (5171)
- Allow batch command processing by nfdc to accomodate case when nfdc is
  used to create multiple faces/routes at once (5169)
- Update Interest::ForwardingHint format (5187)
- Rename the ASF strategy parameter n-silent-timeouts to max-timeouts
- Allow setting default UDP face MTU in nfd.conf (5138)

Improvements and bug fixes

- Execute pcap_activate as root for Ethernet faces (4647)
- Update the validation examples in nfd.conf.sample to accept a
  certificate name in KeyLocator in addition to a key name (5114)
- Fix and simplify enumeration logic in Forwarder::onNewNextHop()
- Use per-upstream suppression in ASF strategy (5140)
- Use typed name components for (versioned) strategy names (5044)
- Avoid extending the dataset expiration in ForwarderStatusManager
- DeadNonceList improvements
  - Code cleanup/modernization
  - Prevent duplicate entries (5167)
  - Improve logging (5165)
  - Increase initial and minimum capacity
- Handle error when calling remote_endpoint on a TCP socket (5158)
- Various build system and documentation extensions and fixes

Removals

- Eliminate Forwarder::dispatchToStrategy() (use direct call to
  StrategyChoice::findEffectiveStrategy(PitEntry))
- NCC strategy (legacy)
- Best-route strategy version 1 (legacy)

NFD-0.7.1

Toggle NFD-0.7.1's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.7.1

The build requirements have been increased to require Clang >= 4.0,
Xcode >= 9.0, and Python 3. Meanwhile, it is recommended to use GCC >=
7.4.0 and Boost >= 1.65.1. This effectively drops official support for
Ubuntu 16.04 when using distribution-provided Boost packages -- NFD may
still work on this platform, but we provide no official support for it.
Additionally, this release drops support for CentOS 7.

New features

- Allow Ethernet face MTU to adjust to changes in underlying interface
  MTU (3257)
- Allow face MTU to be overriden via management (5056)
- Deduplicate received link-layer packets when link-layer reliability
  is enabled (5079)
- Add support for the HopLimit Interest element (4806)
- Add counter for unsolicited data

Improvements and bug fixes

- Fix PIT entry rejection in MulticastStrategy upon receiving the same
  Interest (5123)
- If no face exists when a route is added via nfdc, nfdc will attempt
  to create it (4332)
- Attach PIT tokens after CS hit (5090)
- nfdc cs erase will now erase up to the specified count (4744)
- Improve LpReliability logging (5080)
- Use standard path for Unix stream socket on Linux (5039)
- Adjust timeout sensitivity and avoid ignoring additional probe
  responses in ASF strategy (4983, 4193)
- Bug fixes in config file processing (4489)
- Fix incompatibility with version header in C++20
- Fix integer overflow in PIT FaceRecord (4979)
- Various improvements to documentation, test suites, and authors list

Removals

- Delete deprecated uses of default SigningInfo (4804)
- Remove Endpoint IDs from egress APIs (4843, 4849, 4973)

NFD-0.7.0

Toggle NFD-0.7.0's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.7.0

New features:

- Support only NDN packet format version 0.3 (4805, 4581, 4913)
- Initial support for PitToken (4532)
- Random Forwarding Strategy that chooses a random outgoing face,
  excluding the incoming face of an Interest packet (4992)

Improvements and bug fixes:

- Avoid cs::Entry construction during Content Store lookup (4914)
- Make use of ndn-cxx's RttEstimator in LpReliability, AsfStrategy, and
  AccessStrategy (4887)
- Increase pcap buffer size in Ethernet faces (2441)
- Make congestion marking less aggressive (5003). The updated
  implementation is closer to the CoDel algorithm (RFC 8289)
- Pull FaceTable construction out of Forwarder class (4922, 4973)
- Enable direct certificate fetch in RibManager (2237)
- Refuse to start NFD if both localhop_security and
  auto_prefix_propagate are enabled in the configuration file (4989)
- Fix crash in self-learning strategy when the out-record of a PIT entry
  does not exist (5022)
- Use a separate validator and a separate configuration section in
  nfd.conf for prefix announcements (5031). The default configuration
  will accept any prefix announcement.
- Documentation improvements

NFD-0.6.6

Toggle NFD-0.6.6's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD VERSION 0.6.6

Note that this is the last release that encodes to NDN packet format
version 0.2.1. A future release will continue to decode v0.2.1 format,
but will encode to v0.3 format.

New features

- Initial code changes for self-learning for broadcast and ad hoc
  wireless faces (4281)
  - EndpointId field in PIT in-record and out-record (4842)
  - FaceEndpoint parameter in Forwarding and Strategy API (4849)

Improvements and bug fixes

- Fix to properly handle consumer retransmission in AsfStrategy (4874)
- Fix compilation error when dropping privileges is not supported, e.g.,
  on Android platform (4833)
- Replace all uses of BOOST_THROW_EXCEPTION with NDN_THROW, and custom
  nfd::getExtendedErrorMessage with standard
  boost::diagnostic_information for error message formatting (4834)
- Fix compilation against recent versions of Boost libraries (4890,
  4923)
- Fix display of satisfied/unsatisfied Interests in
  nfd-status-http-server (4720)
- Move NFD_VERSION{,_BUILD}_STRING to version.cpp to avoid
  re-compilation when the git commit hash changes
- Code optimizations, modernizations, and deduplications:
  - Switch to use ndn-cxx's getRandomNumberEngine()
  - Switch to std::thread and thread_local
- Code reorganization:
  - Move entire rib subdir to daemon/rib, except for RibManager, which
    is moved to daemon/mgmt (4528)
  - Move NFD-specific files from core/ to daemon/ folder (4922)
  - Eliminate scheduler::{schedule,cancel} wrappers
  - Merge ManagerBase with NfdManagerBase (4528)
  - Introduce and make use of NullLinkService and NullTransport (4528)
- Test suite refactoring
  - IdentityManagementFixture renamed to KeyChainFixture and no longer
    derives from BaseFixture
  - Introduce ClockFixture
  - unit-tests-{core,tools} no longer require a global io_service
  - Eliminate use of Selectors in CS tests (4805)
- Update documentation

Removals

- Support for unit-tests.conf (use NDN_LOG to customize)

NFD-0.6.5

Toggle NFD-0.6.5's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.6.5

Note that this is the last release that encodes to NDN packet format
version 0.2.1. A future release will continue to decode v0.2.1 format,
but will encode to v0.3 format.

New features
============

- Self-learning forwarding strategy (4279)
- Support IPv6-only WebSocket channels (4710)
- Add satisfied and unsatisfied counters to forwarder status management
  and tools (4720)
- Report face MTU in faces/list and faces/query datasets (4763)

Improvements and bug fixes
==========================

- Stop using the global scheduler in RIB (4528)
- Reimplement auto prefix propagation on top of the readvertise
  framework (3819)
- Don't set SO_BINDTODEVICE on Android (4761)
- Set EthernetTransport UP/DOWN based on netif state (3352)
- Update WebSocket++ to 0.8.1
- Add EndpointId field in NextHop record (4284)
- Seed the global PRNG with more entropy
- Use ndn-cxx scheduler::ScopedEventId (4698)
- Improvements with systemd integration (2815)

Removed
=======

- Remove obsolete upstart files
- Delete deprecated ClientControlStrategy (3783)

NFD-0.6.4

Toggle NFD-0.6.4's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.6.4

This minor release fixes a regression introduced in version 0.6.3 that
prevents NFD from starting when RIB security configuration is enabled (4759).

For details of new and improved features since version 0.6.2, refer to
the release notes of version 0.6.3.

NFD-0.6.3

Toggle NFD-0.6.3's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.6.3

Note that this is the last release that encodes to NDN packet format
version 0.2.1 <https://named-data.net/doc/NDN-packet-spec/0.2.1/>__. A
future release will continue to decode v0.2.1 format, but will encode to
v0.3 format <https://named-data.net/doc/NDN-packet-spec/0.3/>__.

The build requirements have been upgraded to gcc >= 5.3 or clang >= 3.6,
boost >= 1.58, openssl >= 1.0.2. This effectively drops support for all
versions of Ubuntu older than 16.04 that use distribution-provided
compilers and packages.

The compilation now uses the C++14 standard.

New features
============

- Allow MTU of datagram faces to be overridden (4005, 4789)
- Implement nfdc cs erase command (4318)
- Initial framework to realize self-learning feature
  - RIB code refactoring (4650, 4723, 4683)
  - Add facility to execute functions on the RIB and main threads (4279,
    4683)
  - Incorporate PrefixAnnouncement into Route and RibEntry (4650)
- Add official support for CentOS 7 (4610)

Improvements and bug fixes
==========================

- Make LRU the default CS replacement policy (4728)
- Refactor logging to use ndn-cxx logging framework (4580)
- Directly use asio::ip::address::from_string instead of ndn-cxx
  provided helpers (Boost.Asio >= 1.58 includes necessary fixes)
- Avoid use of deprecated {get,set}FinalBlockId
- Improve and simplify code with modern C++ features
- Improve test cases
- Improve documentation

NFD-0.6.2

Toggle NFD-0.6.2's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.6.2

Note that this is the last release that process packets with NDN packet
format version 0.2.1 (https://named-data.net/doc/NDN-packet-spec/0.2.1/)
semantics. A future release will continue to decode v0.2.1 format, but
will process packets with v0.3 (https://named-data.net/doc/NDN-packet-spec/0.3/)
semantics.

New features:
-------------

- afterContentStoreHit, afterReceiveData strategy trigger (Issue 4290)

- Cs::erase method and cs/erase management command (Issue 4318)

- nfdc cs config to configure parameters of NFD Content Store at run
  time (Issue 4050)

- Support for IPv6 subnets in white-/blacklists of NFD config file
  (Issue 4546)

- Configurable IP subnets for "local" TCP faces (Issue 4546)

Improvements and bug fixes:
---------------------------

- Replace PIT straggler timer with a per-strategy decision (Issue 4200)

- Add isSatisfied and dataFreshnessPeriod properties to PIT entries
  (Issue 4290)

- Prevent potential nullptr dereference in FaceManager (Issue 4548)

- Enforce NameTree maximum depth universally (Issue 4262)

- Correctly handle removed fragments in LpReliability (Issue 4479)

- More hints, aliases, and visual improvements in nfdc command (Issue 4498)

- Fix listing of face flags in the HTML status page produced by
  nfd-status-http-server

- Upgrade build environment to latest version of waf and other
  improvements

Removals:
---------

- onInterestUnsatisfied pipeline stage (Issue 4290)

NFD-0.6.1

Toggle NFD-0.6.1's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.6.1

New features:
-------------

- (potentially breaking change) nfd-status-http-server now requires
  Python 3
- Congestion detection and signaling for TCP, UDP, and Unix stream
  transports. This feature can be managed through the configuration
  file and nfdc, and is enabled by default (Issues 4362, 4465)
- nfdc cs info command that shows CS hits and CS misses (Issues 4219,
  4438)
- Support for non-listening UDP channels (Issue 4098)
- IPv6 UDP multicast transport (Issue 4222)
- Strategy notification for packet drops in LpReliability (Issue 3823)
- NonDiscovery and PrefixAnnouncement encoding/decoding in
  GenericLinkService (Issues 4280, 4355)

Improvements and bug fixes
--------------------------

- Added more ways in nfdc for a user to ask for help, including
  'nfdc foo help', 'nfdc foo --help', and 'nfdc foo -h' (Issue 4503)
- Added privilege elevation in MulticastUdpTransport that was
  preventing NFD from running with effective non-root user (Issue
  4507)
- Fixed crash when configuration file lacks an 'authorizations'
  section (Issue 4487)
- Made the exit status consistent across all tools
- Fixed build when std::to_string is not available (Issue 4393)
- Made AsfStrategy less sensitive, switching the path only after
  multiple timeouts. The number of timeouts is configurable via a
  strategy parameter (Issue 4193)
- Introduce depth limit in the Measurements table, limit the accepted
  prefix length for RIB, FIB, and StrategyChoice management commands
  (Issue 4262)
- Improved test cases and documentation

NFD-0.6.0

Toggle NFD-0.6.0's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
NFD version 0.6.0

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 (Issues 4011, 4012)
- Capability to create permanent TCP faces (Issue 3167)
- Configuration option to make UDP multicast and Ethernet multicast
  faces "ad hoc" (Issues 4018, 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:
  - Nack support (Issue 3176)
  - Consumer retransmission (Issue 2062)
  - Per-upstream exponential suppression of retransmissions (Issue
    4066)
- 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 (https://github.com/named-data/NFD/) and code of
  conduct (https://github.com/named-data/NFD/) (Issue 3898)

Updates
-------

- 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 `../manpages/nfd` (Issues
  3864, 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 (Issues 4021, 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

Bugfixes
--------

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

Deletions
---------

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