blob: e0af4c577c2c6efc11d6ff74c704b3264a632238 [file] [log] [blame]
Vince Lehmanb722b102014-08-24 16:33:49 -05001Release Notes
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -07002=============
Vince Lehmanb722b102014-08-24 16:33:49 -05003
Vince Lehmande5560c2015-04-29 17:18:51 -05004NLSR version 0.2.0 (changes since version 0.1.0)
5++++++++++++++++++++++++++++++++++++++++++++++++
6
7Release date: April 30, 2015
8
9**Build**:
10
11- 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`)
12
13- Require OpenSSL (:issue:`2375`)
14
15**New features**:
16
17- Add nlsrc command-line tool (:issue:`1834`)
18
19- Advertise/Withdraw name prefixes at runtime (:issue:`1834`)
20
21- Assign zero cost to hyperbolic direct neighbors (:issue:`1975`)
22
23- Only hyperbolic costs are adjusted before registering (:issue:`1974`)
24
25- Add ability to specify different logging levels (:issue:`1935`)
26
27- Add LSDB dataset publishers (:issue:`2280`)
28
29- Add LSDB dataset tlv abstractions (:issue:`2280`)
30
31- Allow zero cost neighbors for hyperbolic routing table calculation (:issue:`1982`)
32
33- Faces are now created with canonical Face URI (:issue:`1911`)
34
35- Add configurable router event intervals (:issue:`2071`)
36
37- Add router-dead-interval configuration setting (:issue:`1878`)
38
39- Add log formatting specified by log4cxx configuration file (:issue:`1950`)
40
41- Face URIs in configuration file are checked for validity on load (:issue:`2070`)
42
43- Configuration variables with default values are now optional (:issue:`1949`)
44
45- Recalculate routing table after face destroy event (:issue:`2635`)
46
47- Add Travis-CI build script
48
49**Code changes**:
50
51- Change adjacency status from uint32_t to enum (:issue:`1946`)
52
53- Remove scheduler from NLSR class (:issue:`1981`)
54
55- Change hyperbolic cost adjustment factor from 100 to 1000 (:issue:`1974`)
56
57- Remove use of outdated namespace ``ndn::Tlv`` (:issue:`2079`)
58
59- Remove use of deprecated ``ndn::nfd::Controller(Face&)`` constructor (:issue:`2133`)
60
61- Routing update publishing is abstracted to SyncLogicHandler (:issue:`2289`)
62
63- Make ConfParameter variable types consistent with min and max values (:issue:`2084`)
64
65- Replace LSA string literals with constants (:issue:`2310`)
66
67- Subscribe to FaceMonitor notifications using connect (:issue:`2350`)
68
69- Log exceptions thrown in event loop
70
71- Change ``ndn::ptr_lib::shared_ptr`` to ``std::shared_ptr`` (:issue:`2110`)
72
73- Avoid deprecated ``ndn::Name::set`` method (:issue:`2505`)
74
75- Update waf to version 1.8.8-dev
76
77- Add sorting tiebreaker to NexthopList (:issue:`2715`)
78
79- Update Jenkins-CI build scripts
80
81**Bug fixes**:
82
83- Fix python3 build error (:issue:`1956`)
84
85- Fix typos in nlsr.conf security section (:issue:`1985`)
86
87- Stop SyncLogicHandler from fetching a routers own LSAs (:issue:`2005`)
88
89- Fix Name LSA comparison which could cause incorrect advertised names to be removed (:issue:`2029`)
90
91- Fix issue where more faces than max-faces-per-prefix could be applied to a prefix (:issue:`2018`)
92
93- Stop LSDB from retrieving and out of date LSA when a new one is detected (:issue:`1987`)
94
95- Correct mistakes in documentation
96
97- Correct bitmask used to copy Name LSA sequence number (:issue:`2323`)
98
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -070099NLSR version 0.1.0 (initial release)
100++++++++++++++++++++++++++++++++++++
Vince Lehmanb722b102014-08-24 16:33:49 -0500101
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700102Release date: August 25, 2014
Vince Lehmanb722b102014-08-24 16:33:49 -0500103
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700104The main design goal of NLSR is to provide a routing protocol to populate `NFD's
105<http://named-data.net/doc/NFD/current/>`_ RIB. NLSR calculates the routing table using
106link-state or hyperbolic routing and produces multiple faces for each reachable name
107prefix in a single authoritative domain.
Vince Lehmanb722b102014-08-24 16:33:49 -0500108
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700109**Included features**:
Vince Lehmanb722b102014-08-24 16:33:49 -0500110
Junxiao Shif09e2632015-01-02 18:15:01 -0700111- Advertise availability of content through the configured router
Vince Lehmanb722b102014-08-24 16:33:49 -0500112
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700113- Use `ChronoSync <https://github.com/named-data/ChronoSync>`_ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs
Vince Lehmanb722b102014-08-24 16:33:49 -0500114
Junxiao Shif09e2632015-01-02 18:15:01 -0700115- Produce a list of ranked forwarding options for each name prefix to facilitate NDN's adaptive forwarding strategies
Vince Lehmanb722b102014-08-24 16:33:49 -0500116
Junxiao Shif09e2632015-01-02 18:15:01 -0700117- Configure maximum number of faces per prefix in NFDs RIB
Vince Lehmanb722b102014-08-24 16:33:49 -0500118
Junxiao Shif09e2632015-01-02 18:15:01 -0700119- Set up NFD tunnels to neighbors automatically and maintain the tunnels to neighbors
Vince Lehmanb722b102014-08-24 16:33:49 -0500120
Junxiao Shif09e2632015-01-02 18:15:01 -0700121- Provide two routing protocols:
Vince Lehmanb722b102014-08-24 16:33:49 -0500122
Junxiao Shif09e2632015-01-02 18:15:01 -0700123 + Link State routing: calculate route cost based on link costs
124 + Hyperbolic routing: calculate route cost based on hyperbolic coordinates
Vince Lehmanb722b102014-08-24 16:33:49 -0500125
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700126- Use a hierarchical trust model for routing within a single administrative domain
Vince Lehmanb722b102014-08-24 16:33:49 -0500127
Junxiao Shif09e2632015-01-02 18:15:01 -0700128- Keep NFDs RIB updated on failure and recovery