-
NFD-24.07a1480a7c · ·
NFD version 24.07 Release date: July 28, 2024 Important changes and new features - The build dependencies have been increased as follows: - GCC >= 9.3 or Clang >= 7.0 are strongly recommended on Linux; GCC 8.x is also known to work but is not officially supported - Xcode 13 or later is recommended on macOS; older versions may still work but are not officially supported - Boost >= 1.71.0 is required on all platforms - Ubuntu 24.04 (Noble), Debian 12 (Bookworm), and macOS 14 (Sonoma) are now officially supported - Added an official Dockerfile to the repository. From this Dockerfile, the following images are currently published to the GitHub container registry: - named-data/nfd - named-data/nfd-autoreg - named-data/nfd-status-http-server All images are available for linux/amd64 and linux/arm64 platforms. - The default Unix socket path changed to /run/nfd/nfd.sock on Linux and to /var/run/nfd/nfd.sock on all other platforms (5304) - Introduced a new strategy trigger onInterestLoop <Strategy::onInterestLoop> that is invoked when a duplicate Interest is received. The default behavior (sending a Nack packet) remains unchanged except for the Multicast strategy, which will now suppress the Nack transmission in this case (5278) - Multiple updates to the ASF forwarding strategy to more closely adhere to the behavior described in the published technical report (5310) - The ASF strategy gained support for Nack propagation (5311) - The default port number of nfd-status-http-server changed to 6380 Improvements and bug fixes - Several stability improvements in the face system, especially around error handling in multicast faces and UnixStreamChannel (5030, 5297) - Refactor and improve logging in forwarding core and strategies (5262, 5267) - Fix missing increment of nOutNacks counter when sending a Nack from onInterestLoop - Optimize the removal of PIT in-records - Move RIB unit tests into unit-tests-daemon and eliminate the unit-tests-rib binary - Fix building the documentation with Python 3.12 (5298) - Reduce amount of debugging information produced in compiled binaries by default (5279) - Update waf build system to version 2.0.27 - Various code cleanups, modernizations, and documentation improvements
-
NFD-22.123bc8e19a · ·
NFD version 22.12 Important changes and new features - NFD now uses the C++17 standard to build - The minimum build requirements have been increased as follows: - Either GCC >= 7.4.0 or Clang >= 6.0 is required on Linux - On macOS, Xcode 11.3 or later is recommended; older versions may still work but are not officially supported - Boost >= 1.65.1 is required on all platforms - Sphinx 4.0 or later is required to build the documentation - CentOS Stream 9 is now officially supported; CentOS 8 has been dropped (5181) - macOS 12 (Monterey) and 13 (Ventura) running on arm64 are now officially supported (5135) - The ASF, BestRoute, and Multicast strategies gained support for fine-grained configuration of the retransmission suppression parameters (4924) Improvements and bug fixes - Prevent Ethernet faces from hanging NFD when a network interface goes down - Refactor the EndpointId implementation using std::variant (5041) - Better support for the new signed Interest format in management - Extend and optimize the use of precompiled headers (5212) - Stop using the gold linker on Linux; prefer instead linking with lld if installed - Update waf build system to version 2.0.24 - Various documentation improvements
-
NFD-22.025006c1d6 · ·
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.13dc9fd0b · ·
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.0fb034219 · ·
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.665c494ac · ·
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.577cddbc9 · ·
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.3a46d41df · ·
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.2782a1d16 · ·
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.13f94ec31 · ·
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.084dd4ca3 · ·
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)
-
NFD-0.5.119e2e6d8 · ·
NFD VERSION 0.5.1 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 and face_system.ether.blacklist config options for Ethernet multicast faces creation (Issue 1712) - Add face_system.udp.whitelist and face_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 and FACE_EVENT_DOWN notifications (Issues 3794, 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 use wouldViolateScope separately (Issues 3841, 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 introduced FaceSystem 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 on face_system section of the NFD configuration file. (Issue 3904) - Switch to use faces/update instead of legacy faces/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 (Issues 2181, 3148, 3868, 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 in Network::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. Use nfdc subcommands, such as nfdc face list and nfdc status report xml. The argument-less nfd-status is retained as an alias of nfdc status report (Issue 3780) Deletions - Delete deprecated Strategy::sendInterest overload and violatesScope (Issues 1756, 3841) - StrategyChoice no longer supports installed instances. All strategies should be registered in the strategy registry (Issue 3868) - Strategy::getName. Instead, Strategy API introduces getStrategyName (strategy program name, including version component) and getInstanceName (strategy name assigned during strategy instance instantiation, including version and optional extra parameter components) (Issue 3868)
-
NFD-0.5.067019110 · ·
NFD VERSION 0.5.0 Release date: October 4, 2016 NOTE Version 0.5.0 introduces several breaking changes to the internal API (forwarding pipelines, strategy interface, tables) and wire format of management protocol NOTE As of version 0.5.0, NFD requires a modern compiler (gcc >= 4.8.2, clang >= 3.4) and a relatively new version of Boost libraries (>= 1.54). This means that the code no longer compiles with the packaged version of gcc and boost libraries on Ubuntu 12.04. NFD can still be compiled on such systems, but requires separate installation of a newer version of the compiler (e.g., clang-3.4) and dependencies. Changes since version 0.4.1 New features - Add Adaptive SRTT-based Forwarding strategy (Issue 3566) - BREAKING CHANGE Introduce configurable policy for admission of unsolicited data packets into the content store (Issue 2181). Currently available policies: - DropAllUnsolicitedDataPolicy (THE NEW DEFAULT): drop all unsolicited data packets - AdmitLocalUnsolicitedDataPolicy (the old default): allow unsolicited data packets from local applications to be cached (e.g., with a lower priority), drop all other unsolicited data - AdmitNetworkUnsolicitedDataPolicy: allow unsolicited data packets from the network to be cached (e.g., with a lower priority), drop all other unsolicited data - AdmitAllUnsolicitedDataPolicy: cache all unsolicited data packets - Introduce mechanism to update properties (e.g., flags, persistency) of an existing Face (Issue 3731). Note that the corresponding nfdc command will be available in the next release. Updates - BREAKING CHANGE Strategy API update. FIB entry is no longer supplied to the Strategy::afterReceiveInterest method (i.e., FIB lookup is not performed by the forwarding pipelines). When necessary, a strategy can request FIB lookup using Strategy::lookupFib (Issues 3664, 3205, 3679, 3205) - BREAKING CHANGE ForwarderStatus dataset can now be requested only with /localhost/nfd/status/general interest (Issue 3379) - Optimizations of tables and forwarding, including reduced usage of shared_ptr (Issues 3205, 3164, 3687) - Display extended diagnostic information if NFD crashes (Issue 2541) - Visualize NACK counters in nfd-status output (Issue 3569) - Extend management to process the new LocalFieldsEnabled attribute when creating/updating Faces (Issue 3731) - Switch logging facility to use Boost.Log (Issue 3562) - Refactor implementation of nfdc tool, which now supports a new command-line syntax and retrieval of status datasets (Issues 3749, 3780). This is the first step in implementing an interactive mode for nfdc (Issue 2542). - nfd-status tool has been merged into nfdc with a wrapper script provided for backwards compatibility (Issue 3658) - Refactor implementation of RIB Manager to make it uniform with other managers (Issue 2857) - Miscellaneous code refactoring (Issues 3738, 3164, 3687, 3205, 3608, 3619, 2181) - Update WebSocket++ to version 0.7.0 (Issue 3588) - Updates to reflect the latest changes in ndn-cxx library (Issues 3760, 3739, 2950, 2063) Bugfixes - Ensure NccStrategy explores all potential upstreams (Issue 3411) - Add missing processing of NACK in pit::Entry::hasUnexpiredOutRecords (Issue 3545) - Fix issue with WebSocket-based Face creation when IPv4-mapped IPv6 loopback addresses are considered non-local (Issue 3682) - Make sure that the outgoing Interest pipeline uses the newest in-record when sending out an Interest (Issue 3642) - Properly delete PIT in-record and out-record when face is destroyed (Issue 3685) - Fix Pit::find leak of NameTreeEntry (Issue 3619) - Fix Pit::erase crash when Interest name contains implicit digest (Issue 3608) - Fix use-after-free in Rib::erase and RibManagerFixture::clearRib (Issue 3787) Deprecations - ClientControl forwarding strategy. The NextHopFaceId is now honored universally (Issue 3783) - StrategyInfoHost::getOrCreateStrategyInfo, which is renamed to StrategyInfoHost::insertStrategyInfo (Issue 3205) Deletions - Previously deprecated BroadcastStrategy (Issue 3206) - Unused command-line tool nrd (Issue 3570) - SegmentPublisher and RibStatusPublisher, both replaced by ndn::Dispatcher (Issue 2857) - CommandValidator, which has been replaced by CommandAuthenticator (Issue 2063)
-
NFD-0.4.158d479cd · ·
Changes since version 0.4.0 Release date: March 25, 2016 Updates and bug fixes: - Fix retrieval of data using full names, i.e., names with the implicit digest (Issue 3363) - Fix PIT memory leak from duplicate Interests detected using DNL table (Issue 3484) - Fix crashes caused by some patterns of prefix registrations (Issues 3404, 3362) - Allow setting CS capacity limit to zero (Issue 3503) - Improve Face (Issue 3376), UdpFactory (Issue 3375), UdpChannel (Issue 3371), TcpChannel (Issue 3370), WebSocketChannel (Issue 3373), WebSocketTransport (Issue 3374) test suites - Remove assumption from the management test suites that data packets are always published in NFD's content store (Issue 2182) Deleted: - ndn-tlv-peek and ndn-tlv-poke command-line tools: use ndnpeek and ndnpoke programs from NDN Essential Tools repository (Issue 2819)
-
NFD-0.4.0da3ba964 · ·
Changes since version 0.3.4 NOTE Version 0.4.0 introduces several breaking changes to API and wire format of management protocols New features: - (BREAKING CHANGE) Refactored implementation of face system (Issues 3088, 3104, 3165, 3168, 3225, 3226, 3253, 3259, 3169, 3160, 3278, 3166, 3177, 3177, 3172) The abstraction to send/receive NDN packets has been split into Transport, LinkService, and Face: - _Transport_ provides delivery of the data blocks over specific underlying channels (raw ethernet packets, unicast/multicast UDP datagrams, TCP and WebSocket streams) Implemented: UnixStreamTransport, EthernetTransport, UnicastUdpTransport, MulticastUdpTransport, WebSocketTransport, TcpTransport, InternalForwarderTransport - _LinkService_ provides an "adaptation" layer to translate between NDN packets and data blocks communicated through Transport. For example, LinkService can provide packet fragmentation and reassembly services. Implemented: GenericLinkService - _Face_ provides combines Transport and LinkServices, providing high-level interface to work with Interest/Data/Nack packets inside NFD. NOTE This feature replaces support for signaling between local applications and NFD from LocalControlHeader with NDNLPv2 protocol. If your application uses LocalControlHeader features, it must be updated to use the new protocol (e.g., update to use ndn-cxx >= 0.4.0) - Support for NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, Issues 2520, 2763, 2841) - Network NACK (Issue 2883) - Fragmentation and reassembly (Issue 3171) - Networking NACK in pipelines and best-route strategy (Issue 3156) - Refactored implementation of NFD management (Issues 2200, 2107) - Interest forwarding processes Link included in interest packets (Issue 3034) NOTE This feature requires proper defintion of new tables.network_region section in the NFD config file (Issue 3159) - Full support for UDP permanent faces (Issues 2993, 2989, 3018) - Automatic start of NDN auto-configuration client (ndn-autoconfig) when starting NFD using nfd-start, when enabled in autoconfig.conf (Issue 2716) Updates and bug fixes: - (BREAKING CHANGE) Redesign of automatic prefix propagation, formerly known as remote prefix registration (Issues 3211, 2413) This includes a backward-incompatible change to NFD's configuration file: - rib.remote_register section has been removed and, if present, will cause failure for NFD to start - rib.auto_prefix_propagate section has been added to control automatic prefix propagation feature - Adapt pcap filter in EthernetTransport to accept only untagged frames (Issue 3348) - Increase the initial suppression interval in BestRouteStrategy2 to 250ms (Issue 3230) - Fix potential crash in Measurements::get(Fib::s_emptyEntry) (Issue 3275) - Fix memory leak in PriorityFifoPolicy (Issue 3236) - Display extended information for fatal NFD errors (Issue 2541) - Compilation fixes for clang-700.0.72 (Apple LLVM 7.0.0) (Issue 3209) - Properly handle exception from NetworkMonitor when the platform doesn't support it (Issue 3195) - Multiple test suite improvements (Issues 3322, 3306, 3305, 3307, 3346, 3327) Deprecated: - BroadcastStrategy (/localhost/nfd/strategy/broadcast) renamed as MulticastStrategy (/localhost/nfd/strategy/multicast) (Issue 3011) - ForwarderStatus dataset retrievable using /localhost/nfd/status name, use /localhost/nfd/status/general instead. Deleted: - NotificationStream, replaced by the version in ndn-cxx library (Issue 2144) Known issues: - NFD currently has a known limitation in supporting the retrieval of data using full names, i.e., names with the implicit digest (Issue 3363). This limitation will be addressed in the next release.
-
NFD-0.4.0-beta1687dba86 · ·
Changes since version 0.3.4 **NOTE** Version 0.4.0 introduces several breaking changes to API and wire format of management protocols New features: - (BREAKING CHANGE) Refactored implementation of face system (Issues 3088, 3104, 3165, 3168, 3225, 3226) The abstraction to send/receive NDN packets has been split into Transport, LinkService, and Face: - _Transport_ provides delivery of the data blocks over specific underlying channels (raw ethernet packets, unicast/multicast UDP datagrams, TCP and WebSocket streams) Implemented: UnixStreamTransport, UnicastUdpTransport, MulticastUdpTransport. - _LinkService_ provides an "adaptation" layer to translate between NDN packets and data blocks communicated through Transport. For example, LinkService can provide packet fragmentation and reassembly services. Implemented: GenericLinkService - _Face_ provides combines Transport and LinkServices, providing high-level interface to work with Interest/Data/Nack packets inside NFD. NOTE This feature replaces support for signaling between local applications and NFD from LocalControlHeader with NDNLPv2 protocol. If your application uses LocalControlHeader features, it must be updated to use the new protocol (e.g., update to use ndn-cxx >= 0.4.0) - Support for NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, Issues 2520, 2763, 2841) - Network NACK (Issue 2883) - Networking NACK in pipelines and best-route strategy (Issue 3156) - Refactored implementation of NFD management (Issues 2200, 2107) - Interest forwarding processes Link included in interest packets (Issue 3034) NOTE This feature requires proper defintion of new tables.network_region section in the NFD config file (Issue 3159) - Full support for UDP permanent faces (Issues 2993, 2989, 3018) Updates and bug fixes: - Display extended information for fatal NFD errors (Issue 2541) - Compilation fixes for clang-700.0.72 (Apple LLVM 7.0.0) (Issue 3209) - Properly handle exception from NetworkMonitor when the platform doesn't support it (Issue 3195) Deprecated: - BroadcastStrategy (/localhost/nfd/strategy/broadcast) renamed as MulticastStrategy (/localhost/nfd/strategy/multicast) (Issue 3011) Planned features for future releases: - Improvements and extension of NDNLPv2 support - New transports - New link service implementation, including support for fragmentation and assembly - Improved support for automatic prefix propagation (Issues 3211, 2413)
-
NFD-0.4.0-beta2ba81830e · ·
Changes since version 0.3.4 **NOTE** Version 0.4.0 introduces several breaking changes to API and wire format of management protocols New features: - (BREAKING CHANGE) Refactored implementation of face system (Issues 3088, 3104, 3165, 3168, 3225, 3226, 3253) The abstraction to send/receive NDN packets has been split into Transport, LinkService, and Face: - _Transport_ provides delivery of the data blocks over specific underlying channels (raw ethernet packets, unicast/multicast UDP datagrams, TCP and WebSocket streams) Implemented: UnixStreamTransport, UnicastUdpTransport, MulticastUdpTransport, InternalForwarderTransport. - _LinkService_ provides an "adaptation" layer to translate between NDN packets and data blocks communicated through Transport. For example, LinkService can provide packet fragmentation and reassembly services. Implemented: GenericLinkService - _Face_ provides combines Transport and LinkServices, providing high-level interface to work with Interest/Data/Nack packets inside NFD. NOTE This feature replaces support for signaling between local applications and NFD from LocalControlHeader with NDNLPv2 protocol. If your application uses LocalControlHeader features, it must be updated to use the new protocol (e.g., update to use ndn-cxx >= 0.4.0) - Support for NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, Issues 2520, 2763, 2841) - Network NACK (Issue 2883) - Networking NACK in pipelines and best-route strategy (Issue 3156) - Refactored implementation of NFD management (Issues 2200, 2107) - Interest forwarding processes Link included in interest packets (Issue 3034) NOTE This feature requires proper defintion of new tables.network_region section in the NFD config file (Issue 3159) - Full support for UDP permanent faces (Issues 2993, 2989, 3018) Updates and bug fixes: - (BREAKING CHANGE) Redesign of automatic prefix propagation, formerly known as remote prefix registration (Issues 3211, 2413) This includes a backward-incompatible change to NFD's configuration file: - rib.remote_register section has been removed and, if present, will cause failure for NFD to start - rib.auto_prefix_propagate section has been added to control automatic prefix propagation feature - Display extended information for fatal NFD errors (Issue 2541) - Compilation fixes for clang-700.0.72 (Apple LLVM 7.0.0) (Issue 3209) - Properly handle exception from NetworkMonitor when the platform doesn't support it (Issue 3195) Deprecated: - BroadcastStrategy (/localhost/nfd/strategy/broadcast) renamed as MulticastStrategy (/localhost/nfd/strategy/multicast) (Issue 3011) Deleted: - NotificationStream, replaced by the version in ndn-cxx library (Issue 2144) Planned features for future releases: - Improvements and extension of NDNLPv2 support - New transports - New link service implementation, including support for fragmentation and assembly - Improved support for automatic prefix propagation (Issues 3211, 2413)
-
NFD-0.4.0-rc1687dba86 · ·
Changes since version 0.3.4 **NOTE** Version 0.4.0 introduces several breaking changes to API and wire format of management protocols New features: - (BREAKING CHANGE) Refactored implementation of face system (Issues 3088, 3104, 3165, 3168, 3225, 3226) The abstraction to send/receive NDN packets has been split into Transport, LinkService, and Face: - _Transport_ provides delivery of the data blocks over specific underlying channels (raw ethernet packets, unicast/multicast UDP datagrams, TCP and WebSocket streams) Implemented: UnixStreamTransport, UnicastUdpTransport, MulticastUdpTransport. - _LinkService_ provides an "adaptation" layer to translate between NDN packets and data blocks communicated through Transport. For example, LinkService can provide packet fragmentation and reassembly services. Implemented: GenericLinkService - _Face_ provides combines Transport and LinkServices, providing high-level interface to work with Interest/Data/Nack packets inside NFD. NOTE This feature replaces support for signaling between local applications and NFD from LocalControlHeader with NDNLPv2 protocol. If your application uses LocalControlHeader features, it must be updated to use the new protocol (e.g., update to use ndn-cxx >= 0.4.0) - Support for NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, Issues 2520, 2763, 2841) - Network NACK (Issue 2883) - Networking NACK in pipelines and best-route strategy (Issue 3156) - Refactored implementation of NFD management (Issues 2200, 2107) - Interest forwarding processes Link included in interest packets (Issue 3034) NOTE This feature requires proper defintion of new tables.network_region section in the NFD config file (Issue 3159) - Full support for UDP permanent faces (Issues 2993, 2989, 3018) Updates and bug fixes: - Display extended information for fatal NFD errors (Issue 2541) - Compilation fixes for clang-700.0.72 (Apple LLVM 7.0.0) (Issue 3209) - Properly handle exception from NetworkMonitor when the platform doesn't support it (Issue 3195) Deprecated: - BroadcastStrategy (/localhost/nfd/strategy/broadcast) renamed as MulticastStrategy (/localhost/nfd/strategy/multicast) (Issue 3011) Planned features for future releases: - Improvements and extension of NDNLPv2 support - New transports - New link service implementation, including support for fragmentation and assembly - Improved support for automatic prefix propagation (Issues 3211, 2413)
-
NFD-0.3.42fc649bf · ·
Changes since version 0.3.3 Release date: August 31, 2015 New features: - Boolean Face property IsOnDemand has been replaced with multistate FacePersistency property (Issues 2989 and 3018): persistent (Face exists as long as there are no system or socket errors), on-demand (Face is removed after inactivity period), and permanent (Face exists unless explicitly destroyed by the management). Currently, only UDP faces are allowed to be permanent. However, management interface to create UDP permanent faces or switch UDP to permanent state will be available in the next release (Issue 2991). - Least Recently Used policy for Content Store (Issue 2219) Currently, changing the policy requires a minor change in NFD source code. Configuration interface is coming in the next release (Issue 3148) Updates and bug fixes: - Update of NDN Essential Tools to version 0.2 with code improvements and the following new tools: - PIB service to manage the public information of keys and publish certificates (Issue 3018) - A Wireshark dissector for NDN packets (Issue 3092) - RibManager constructor now accepts KeyChain as a parameter, preparing it for simplifying implementation with the new ndn::Dispatcher class (Issue 2390) - Fix HTML rendering of nfd-status-http-server output in some browsers (Issue 3019) - Enable automatic re-creation of multicast faces when network connectivity changes (Issue 2460) - Enhance exception throwing with Boost Exception library (Issue 2541) Deprecated: - BroadcastStrategy (/localhost/nfd/strategy/broadcast) renamed as MulticastStrategy (/localhost/nfd/strategy/multicast) (Issue 3011) Upcoming features (partially finished in development branches): - NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, Issues 2520, 2879, 2763, 2883, 2841, 2866) - Refactored implementation of NFD management (Issues 2200, 2107)