NLSR version 0.2.0 (changes since version 0.1.0)

Release date: April 30, 2015

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. (Issue #1930)
  • Require OpenSSL (Issue #2375)

New features:

  • Add nlsrc command-line tool (Issue #1834)
  • Advertise/Withdraw name prefixes at runtime (Issue #1834)
  • Assign zero cost to hyperbolic direct neighbors (Issue #1975)
  • Only hyperbolic costs are adjusted before registering (Issue #1974)
  • Add ability to specify different logging levels (Issue #1935)
  • Add LSDB dataset publishers (Issue #2280)
  • Add LSDB dataset tlv abstractions (Issue #2280)
  • Allow zero cost neighbors for hyperbolic routing table calculation (Issue #1982)
  • Faces are now created with canonical Face URI (Issue #1911)
  • Add configurable router event intervals (Issue #2071)
  • Add router-dead-interval configuration setting (Issue #1878)
  • Add log formatting specified by log4cxx configuration file (Issue #1950)
  • Face URIs in configuration file are checked for validity on load (Issue #2070)
  • Configuration variables with default values are now optional (Issue #1949)
  • Recalculate routing table after face destroy event (Issue #2635)
  • Add Travis-CI build script

Code changes:

  • Change adjacency status from uint32_t to enum (Issue #1946)
  • Remove scheduler from NLSR class (Issue #1981)
  • Change hyperbolic cost adjustment factor from 100 to 1000 (Issue #1974)
  • Remove use of outdated namespace ndn::Tlv (Issue #2079)
  • Remove use of deprecated ndn::nfd::Controller(Face&) constructor (Issue #2133)
  • Routing update publishing is abstracted to SyncLogicHandler (Issue #2289)
  • Make ConfParameter variable types consistent with min and max values (Issue #2084)
  • Replace LSA string literals with constants (Issue #2310)
  • Subscribe to FaceMonitor notifications using connect (Issue #2350)
  • Log exceptions thrown in event loop
  • Change ndn::ptr_lib::shared_ptr to std::shared_ptr (Issue #2110)
  • Avoid deprecated ndn::Name::set method (Issue #2505)
  • Update waf to version 1.8.8-dev
  • Add sorting tiebreaker to NexthopList (Issue #2715)
  • Update Jenkins-CI build scripts

Bug fixes:

  • Fix python3 build error (Issue #1956)
  • Fix typos in nlsr.conf security section (Issue #1985)
  • Stop SyncLogicHandler from fetching a router’s own LSAs (Issue #2005)
  • Fix Name LSA comparison which could cause incorrect advertised names to be removed (Issue #2029)
  • Fix issue where more faces than max-faces-per-prefix could be applied to a prefix (Issue #2018)
  • Stop LSDB from retrieving and out of date LSA when a new one is detected (Issue #1987)
  • Correct mistakes in documentation
  • Correct bitmask used to copy Name LSA sequence number (Issue #2323)