You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Release date: February 2, 2015
New features:
- Build
- The code now requires C++11. The minimum supported gcc version
is 4.6, as earlier versions do not have proper support for C++11
features.
- Faces
- Enable detection of WebSocket connection failures using
ping/pong messages (Issue 1903)
- In EthernetFace:
- Avoid putting the NIC in promiscuous mode if possible (Issue 1278)
- Report packets dropped by the kernel if debug is enabled
(Issue 2441)
- Integrate NDNLP fragmentation (Issue 1209)
- Forwarding
- Strategy versioning (Issue 1893)
- New Dead Nonce List table to supplement PIT for loop detection
(Issue 1953)
- Abstract retransmission suppression logic (Issue 2377)
- New forwarding strategy for access router (Issue 1999)
- Management
- Add config file-based strategy selection (Issue 2053)
The sample config file now includes strategy selection for /,
/localhost, /localhost/nfd, and /ndn/broadcast namespaces as
follows:
tables
{
...
strategy_choice
{
/ /localhost/nfd/strategy/best-route
/localhost /localhost/nfd/strategy/broadcast
/localhost/nfd /localhost/nfd/strategy/best-route
/ndn/broadcast /localhost/nfd/strategy/broadcast
}
}
- Implement Query Operation in FaceManager (Issue 1993)
- FaceManager now responds with producer-generated NACK when query
is invalid (Issue 1993)
- Add functionality for automatic remote prefix registration
(Issue 2056)
- Only canonical FaceUri are allowed in faces/create commands
(Issue 1910)
- Tables
- StrategyInfoHost can now store multiple StrategyInfo of distinct
types (Issue 2240)
- Enable iteration over PIT and CS entries (Issue 2339)
- Allow predicate to be specified in
Measurements::findLongestPrefixMatch (Issue 2314)
- Calculate the implicit digest of Data packets in CS only when
necessary (Issue 1706)
- Tools
- Publish /localhop/ndn-autoconf/routable-prefixes from
ndn-autoconfig-server (Issue 1954)
- Display detailed NFD software verion in nfd-status-http-server
and nfd-status (Issue 1916)
- nfdc now accepts FaceUri in all commands (Issue 1995)
- Add daemon mode for ndn-autoconfig to re-run detection when
connectivity changes (Issue 2417)
- Core
- New scheduler::ScopedEventId class to automatically handle
scheduled event lifetime (Issue 2295)
Updates and bug fixes:
- Documentation
- NFD Developer's guide has been updated to reflect changes in the
codebase
- Installation instruction updates
- Update of config file instructions for disabling unix sockets
(Issue 2190)
- Core
- Use implementations moved to ndn-cxx library
- Use Signal from ndn-cxx (Issues 2272 and 2300)
- use ethernet::Address from ndn-cxx (Issue 2142)
- Use MAX_NDN_PACKET_SIZE constant from ndn-cxx (Issue 2099)
- Use DEFAULT_INTEREST_LIFETIME from ndn-cxx (Issue 2202)
- Use FaceUri from ndn-cxx (Issue 2143)
- Use DummyClientFace from ndn-cxx (Issue 2186)
- Use ndn::dns from ndn-cxx (Issue 2207)
- Move Network class implementation from tools/ to core/
- Ignore non-Ethernet AF_LINK addresses when enumerating NICs on
OSX and other BSD systems
- Fix bug on not properly setting FreshnessPeriod inside
SegmentPublisher (Issue 2438)
- Faces
- Fix spurious assertion failure in StreamFace (Issue 1856)
- Update websocketpp submodule (Issue 1903)
- Replace FaceFlags with individual fields (Issue 1992)
- Drop WebSocket message if the size is larger than maximum NDN
packet size (Issue 2081)
- Make EthernetFace more robust against errors (Issue 1984)
- Prevent potential infinite loop in TcpFactory and UdpFactory
(Issue 2292)
- Prevent crashes when attempting to create a UdpFace over a
half-working connection (Issue 2311)
- Support MTU larger than 1500 in EthernetFace (for jumbo frames)
(Issue 2305)
- Re-enable EthernetFace on OS X platform with boost >=1.57.0
(Issue 1922)
- Fix ioctl() calls on platforms where libpcap uses /dev/bpf*
(Issue 2327)
- Fix overhead estimation in NDNLP slicer (Issue 2317)
- Replace usage of deprecated EventEmitter with Signal in Face
abstractions (Issue 2300)
- Fix NDNLP PartialMessage cleanup scheduling (Issue 2414)
- Remove unnecessary use of DNS resolver in
(Udp|Tcp|WebSocket)Factory (Issue 2422)
- Forwarding
- Updates related to NccStrategy
- Fix to prevent remembering of suboptimal upstreams (Issue 1961)
- Optimizing FwNccStrategy/FavorRespondingUpstream test case
(Issue 2037)
- Proper detection for new PIT entry (Issue 1971)
- Use UnitTestTimeFixture in NCC test case (Issue 2163)
- Fix loop back to sole downstream (Issue 1998)
- Updates related to BestRoute strategy
- Redesign best-route v2 strategy test case (Issue 2126)
- Fix clang compilation error in best-route v2 test case
(Issue 2179)
- Use UnitTestClock in BestRouteStrategy2 test (Issue 2160)
- Allow strategies limited access to FaceTable (Issue 2272)
- Tables
- Ensure that eviction of unsolicited Data is done in FIFO order
(Issue 2043)
- Simplify table implementations with C++11 features (Issue 2100)
- Fix issue with Fib::removeNextHopFromAllEntries invalidating
NameTree iterator (Issue 2177)
- Replace deprecated EventEmitter with Signal in FaceTable (Issue 2272)
- Refactored implementation of ContentStore based on std::set
(Issue 2254)
- Management
- Allow omitted FaceId in faces/create command (Issue 2031)
- Avoid deprecated ndn::nfd::Controller(Face&) constructor (Issue 2039)
- Enable check of command length before accessing verb (Issue 2151)
- Rename FaceEntry to Route (Issue 2159)
- Insert RIB command prefixes into RIB (Issue 2312)
- Tools
- Display face attribute fields instead of FaceFlags in nfd-status
and nfd-status-http-server output (Issue 1991)
- Fix nfd-status-http-server hanging when nfd-status output is
>64k (Issue 2121)
- Ensure that ndn-autoconfig canonizes FaceUri before sending
commands to NFD (Issue 2387)
- Refactored ndn-autoconfig implementation (Issue 2421)
- ndn-autoconfig will now register also /localhop/nfd prefix
towards the hub (Issue 2416)
- Tests
- Use UnitTestClock in Forwarder persistent loop test case (Issue 2162)
- Use LimitedIo in FwForwarder/SimpleExchange test case (Issue 2161)
- Build
- Fix build error with python3 (Issue 1302)
- Embed CI build and test running script
- Properly disable assertions in release builds (Issue 2139)
- Embed setting of PKG_CONFIG_PATH variable to commonly used
values (Issue 2178)
- Add conditional compilation for NetworkInterface and
PrivilegeHelper
- Support tools with multiple translation units (Issue 2344)
Removals
- Remove listen option from unix channel configuration (Issue 2188)
- Remove usage of deprecated MetaInfo::TYPE_* constants (Issue 2128)
- Eliminate MapValueIterator in favor of boost::adaptors::map_values