blob: f0f87dd915ab864b387aa7a631c578ada99f22c8 [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 Lehman5363c792015-06-26 15:25:38 -05004NLSR version 0.2.1 (changes since version 0.2.0)
5++++++++++++++++++++++++++++++++++++++++++++++++
6
7Release date: June 30, 2015
8
9**Code changes**:
10
11- Using a configuration file without ``prefix-update-validator`` disables runtime advertise/withdraw instead of exiting (:issue:`2814`)
12
13**Bug fixes**:
14
15- Prevent incomplete removal of NPT entry (:issue:`2785`)
16
17- Correct bidirectional links with differing costs (:issue:`2801`)
18
19- Fix non-incrementing Adjacency number in AdjLsa::writeLog (:issue:`2594`)
20
21- Remove FaceDestroyEvent test's reliance on nlsrSeqNo.txt (:issue:`2881`)
22
23- Test ACTIVE/INACTIVE Adjacencies in LSA construction (:issue:`2735`)
24
Vince Lehmande5560c2015-04-29 17:18:51 -050025NLSR version 0.2.0 (changes since version 0.1.0)
26++++++++++++++++++++++++++++++++++++++++++++++++
27
28Release date: April 30, 2015
29
30**Build**:
31
32- 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`)
33
34- Require OpenSSL (:issue:`2375`)
35
36**New features**:
37
38- Add nlsrc command-line tool (:issue:`1834`)
39
40- Advertise/Withdraw name prefixes at runtime (:issue:`1834`)
41
42- Assign zero cost to hyperbolic direct neighbors (:issue:`1975`)
43
44- Only hyperbolic costs are adjusted before registering (:issue:`1974`)
45
46- Add ability to specify different logging levels (:issue:`1935`)
47
48- Add LSDB dataset publishers (:issue:`2280`)
49
50- Add LSDB dataset tlv abstractions (:issue:`2280`)
51
52- Allow zero cost neighbors for hyperbolic routing table calculation (:issue:`1982`)
53
54- Faces are now created with canonical Face URI (:issue:`1911`)
55
56- Add configurable router event intervals (:issue:`2071`)
57
58- Add router-dead-interval configuration setting (:issue:`1878`)
59
60- Add log formatting specified by log4cxx configuration file (:issue:`1950`)
61
62- Face URIs in configuration file are checked for validity on load (:issue:`2070`)
63
64- Configuration variables with default values are now optional (:issue:`1949`)
65
66- Recalculate routing table after face destroy event (:issue:`2635`)
67
68- Add Travis-CI build script
69
70**Code changes**:
71
72- Change adjacency status from uint32_t to enum (:issue:`1946`)
73
74- Remove scheduler from NLSR class (:issue:`1981`)
75
76- Change hyperbolic cost adjustment factor from 100 to 1000 (:issue:`1974`)
77
78- Remove use of outdated namespace ``ndn::Tlv`` (:issue:`2079`)
79
80- Remove use of deprecated ``ndn::nfd::Controller(Face&)`` constructor (:issue:`2133`)
81
82- Routing update publishing is abstracted to SyncLogicHandler (:issue:`2289`)
83
84- Make ConfParameter variable types consistent with min and max values (:issue:`2084`)
85
86- Replace LSA string literals with constants (:issue:`2310`)
87
88- Subscribe to FaceMonitor notifications using connect (:issue:`2350`)
89
90- Log exceptions thrown in event loop
91
92- Change ``ndn::ptr_lib::shared_ptr`` to ``std::shared_ptr`` (:issue:`2110`)
93
94- Avoid deprecated ``ndn::Name::set`` method (:issue:`2505`)
95
96- Update waf to version 1.8.8-dev
97
98- Add sorting tiebreaker to NexthopList (:issue:`2715`)
99
100- Update Jenkins-CI build scripts
101
102**Bug fixes**:
103
104- Fix python3 build error (:issue:`1956`)
105
106- Fix typos in nlsr.conf security section (:issue:`1985`)
107
108- Stop SyncLogicHandler from fetching a router’s own LSAs (:issue:`2005`)
109
110- Fix Name LSA comparison which could cause incorrect advertised names to be removed (:issue:`2029`)
111
112- Fix issue where more faces than max-faces-per-prefix could be applied to a prefix (:issue:`2018`)
113
114- Stop LSDB from retrieving and out of date LSA when a new one is detected (:issue:`1987`)
115
116- Correct mistakes in documentation
117
118- Correct bitmask used to copy Name LSA sequence number (:issue:`2323`)
119
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700120NLSR version 0.1.0 (initial release)
121++++++++++++++++++++++++++++++++++++
Vince Lehmanb722b102014-08-24 16:33:49 -0500122
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700123Release date: August 25, 2014
Vince Lehmanb722b102014-08-24 16:33:49 -0500124
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700125The main design goal of NLSR is to provide a routing protocol to populate `NFD's
126<http://named-data.net/doc/NFD/current/>`_ RIB. NLSR calculates the routing table using
127link-state or hyperbolic routing and produces multiple faces for each reachable name
128prefix in a single authoritative domain.
Vince Lehmanb722b102014-08-24 16:33:49 -0500129
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700130**Included features**:
Vince Lehmanb722b102014-08-24 16:33:49 -0500131
Junxiao Shif09e2632015-01-02 18:15:01 -0700132- Advertise availability of content through the configured router
Vince Lehmanb722b102014-08-24 16:33:49 -0500133
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700134- 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 -0500135
Junxiao Shif09e2632015-01-02 18:15:01 -0700136- 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 -0500137
Junxiao Shif09e2632015-01-02 18:15:01 -0700138- Configure maximum number of faces per prefix in NFD’s RIB
Vince Lehmanb722b102014-08-24 16:33:49 -0500139
Junxiao Shif09e2632015-01-02 18:15:01 -0700140- Set up NFD tunnels to neighbors automatically and maintain the tunnels to neighbors
Vince Lehmanb722b102014-08-24 16:33:49 -0500141
Junxiao Shif09e2632015-01-02 18:15:01 -0700142- Provide two routing protocols:
Vince Lehmanb722b102014-08-24 16:33:49 -0500143
Junxiao Shif09e2632015-01-02 18:15:01 -0700144 + Link State routing: calculate route cost based on link costs
145 + Hyperbolic routing: calculate route cost based on hyperbolic coordinates
Vince Lehmanb722b102014-08-24 16:33:49 -0500146
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700147- Use a hierarchical trust model for routing within a single administrative domain
Vince Lehmanb722b102014-08-24 16:33:49 -0500148
Junxiao Shif09e2632015-01-02 18:15:01 -0700149- Keep NFD’s RIB updated on failure and recovery