blob: ba62392e8f40c257521a3b576273e2c139e9033f [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
Muktadir R Chowdhuryf023a882017-03-14 10:02:05 -05004NLSR version 0.3.2 (changes since version 0.3.1)
5++++++++++++++++++++++++++++++++++++++++++++++++
6
7Release date: March 15, 2017
8
9**Changes**
10
11- NLSR constructor now accept a KeyChain argument. (:issue:`3742`)
12
13- Fix security rule for /localhop LSA prefix (:issue:`3899`)
14
15- Use ndn::nfd::ROUTE_ORIGIN_NLSR instead of a magic number. (:issue:`3903`)
16
17- Handle "Face Already Exists" error (error code 409) in NFD. (:issue:`3976`)
18
19- Enable NLSR to register localhost prefix with dispatcher before top-level prefix. (:issue:`3938`)
20
21- Don't use ndn aliases provided by ndn-cxx/common.hpp. (:issue:`3983`)
22
23- Remove use of deprecated code. (:issue:`3988`)
24
Nick Gordonf590fec2016-12-15 10:57:08 -060025NLSR version 0.3.1 (changes since version 0.3.0)
26++++++++++++++++++++++++++++++++++++++++++++++++
27
Muktadir R Chowdhuryf023a882017-03-14 10:02:05 -050028Release date: January 22, 2017
Nick Gordonf590fec2016-12-15 10:57:08 -060029
30**Changes**
31
32- **breaking change** Sync uses /localhop component in prefix to reduce duplicate NACKs (:issue:`3627`)
33
34- **breaking change** LSA uses /localhop component in prefix to reduce duplicate NACKs (:issue:`3899`)
35
36**Code Changes**:
37
38- Fib and FaceMap use std::map instead of std::list (:issue:`2781`)
39
40- NamePrefixTableEntries store RoutingTableEntries using a pointer (:issue:`2863`)
41
42- Namespace closing comments are now consistent with ndn-cxx guidelines (:issue:`3735`)
43
44- Update copyright date across all files (:issue:`3736`, `3909`, `3923`)
45
46- Improve formatting of FaceMap and FaceMapEntry (:issue:`3737`)
47
48- Sort NextHops on NexthopList insertion (:issue:`2721`)
49
50**Bug fixes**:
51
52- HR now recalculates paths after status change of a neighbor (:issue:`3874`)
53
54- NLSR no longer sets strategies multiple times (:issue:`3743`)
55
56- NLSR should enable use of ndn-cxx dispatcher (:issue:`3930`)
57
58- Fix typos in the sample configuration file (:issue:`3113`)
59
Muktadir R Chowdhury800833b2016-07-29 13:43:59 -050060NLSR version 0.3.0 (changes since version 0.2.2)
61++++++++++++++++++++++++++++++++++++++++++++++++
62
63Release date: August 1, 2016
64
65**Code changes**:
66
Muktadir R Chowdhuryb9d43d02016-08-03 14:08:33 -050067- Updated validation checker for LSA rule in the configuration file (:issue:`2965`)
68
Muktadir R Chowdhury800833b2016-07-29 13:43:59 -050069- Do not advertise Adjacency LSAs when hyperbolic routing is enabled (:issue:`2402`)
70
71- Do not distribute coordinate LSAs when using link-state routing. (:issue:`3661`)
72
73- LSAs should be segmented before they are published (:issue:`2965`)
74
75- Don't use DummyClientFace::sentDatas (:issue:`3383`)
76
77- Remove disabled security files (:issue:`2960`)
78
79- Lsa type should be argument for base class LSA constructor (:issue:`2788`)
80
81- Use ndn-cxx/DummyClientFace (:issue:`2637`)
82
83**Bug fixes**:
84
85- Unit tests cases are installed with `./waf install` (:issue:`3359`)
86
87
Vince Lehman0ff5d452016-01-04 17:20:19 -060088NLSR version 0.2.2 (changes since version 0.2.1)
89++++++++++++++++++++++++++++++++++++++++++++++++
90
91Release date: January 5, 2016
92
93**Code changes**:
94
95- Adapt code to changes in NFD/ndn-cxx version 0.4.0 release
96
Vince Lehman5363c792015-06-26 15:25:38 -050097NLSR version 0.2.1 (changes since version 0.2.0)
98++++++++++++++++++++++++++++++++++++++++++++++++
99
100Release date: June 30, 2015
101
102**Code changes**:
103
104- Using a configuration file without ``prefix-update-validator`` disables runtime advertise/withdraw instead of exiting (:issue:`2814`)
105
106**Bug fixes**:
107
108- Prevent incomplete removal of NPT entry (:issue:`2785`)
109
110- Correct bidirectional links with differing costs (:issue:`2801`)
111
112- Fix non-incrementing Adjacency number in AdjLsa::writeLog (:issue:`2594`)
113
114- Remove FaceDestroyEvent test's reliance on nlsrSeqNo.txt (:issue:`2881`)
115
116- Test ACTIVE/INACTIVE Adjacencies in LSA construction (:issue:`2735`)
117
Vince Lehmande5560c2015-04-29 17:18:51 -0500118NLSR version 0.2.0 (changes since version 0.1.0)
119++++++++++++++++++++++++++++++++++++++++++++++++
120
121Release date: April 30, 2015
122
123**Build**:
124
125- 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`)
126
127- Require OpenSSL (:issue:`2375`)
128
129**New features**:
130
131- Add nlsrc command-line tool (:issue:`1834`)
132
133- Advertise/Withdraw name prefixes at runtime (:issue:`1834`)
134
135- Assign zero cost to hyperbolic direct neighbors (:issue:`1975`)
136
137- Only hyperbolic costs are adjusted before registering (:issue:`1974`)
138
139- Add ability to specify different logging levels (:issue:`1935`)
140
141- Add LSDB dataset publishers (:issue:`2280`)
142
143- Add LSDB dataset tlv abstractions (:issue:`2280`)
144
145- Allow zero cost neighbors for hyperbolic routing table calculation (:issue:`1982`)
146
147- Faces are now created with canonical Face URI (:issue:`1911`)
148
149- Add configurable router event intervals (:issue:`2071`)
150
151- Add router-dead-interval configuration setting (:issue:`1878`)
152
153- Add log formatting specified by log4cxx configuration file (:issue:`1950`)
154
155- Face URIs in configuration file are checked for validity on load (:issue:`2070`)
156
157- Configuration variables with default values are now optional (:issue:`1949`)
158
159- Recalculate routing table after face destroy event (:issue:`2635`)
160
161- Add Travis-CI build script
162
163**Code changes**:
164
165- Change adjacency status from uint32_t to enum (:issue:`1946`)
166
167- Remove scheduler from NLSR class (:issue:`1981`)
168
169- Change hyperbolic cost adjustment factor from 100 to 1000 (:issue:`1974`)
170
171- Remove use of outdated namespace ``ndn::Tlv`` (:issue:`2079`)
172
173- Remove use of deprecated ``ndn::nfd::Controller(Face&)`` constructor (:issue:`2133`)
174
175- Routing update publishing is abstracted to SyncLogicHandler (:issue:`2289`)
176
177- Make ConfParameter variable types consistent with min and max values (:issue:`2084`)
178
179- Replace LSA string literals with constants (:issue:`2310`)
180
181- Subscribe to FaceMonitor notifications using connect (:issue:`2350`)
182
183- Log exceptions thrown in event loop
184
185- Change ``ndn::ptr_lib::shared_ptr`` to ``std::shared_ptr`` (:issue:`2110`)
186
187- Avoid deprecated ``ndn::Name::set`` method (:issue:`2505`)
188
189- Update waf to version 1.8.8-dev
190
191- Add sorting tiebreaker to NexthopList (:issue:`2715`)
192
193- Update Jenkins-CI build scripts
194
195**Bug fixes**:
196
197- Fix python3 build error (:issue:`1956`)
198
199- Fix typos in nlsr.conf security section (:issue:`1985`)
200
201- Stop SyncLogicHandler from fetching a router’s own LSAs (:issue:`2005`)
202
203- Fix Name LSA comparison which could cause incorrect advertised names to be removed (:issue:`2029`)
204
205- Fix issue where more faces than max-faces-per-prefix could be applied to a prefix (:issue:`2018`)
206
207- Stop LSDB from retrieving and out of date LSA when a new one is detected (:issue:`1987`)
208
209- Correct mistakes in documentation
210
211- Correct bitmask used to copy Name LSA sequence number (:issue:`2323`)
212
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700213NLSR version 0.1.0 (initial release)
214++++++++++++++++++++++++++++++++++++
Vince Lehmanb722b102014-08-24 16:33:49 -0500215
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700216Release date: August 25, 2014
Vince Lehmanb722b102014-08-24 16:33:49 -0500217
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700218The main design goal of NLSR is to provide a routing protocol to populate `NFD's
219<http://named-data.net/doc/NFD/current/>`_ RIB. NLSR calculates the routing table using
220link-state or hyperbolic routing and produces multiple faces for each reachable name
221prefix in a single authoritative domain.
Vince Lehmanb722b102014-08-24 16:33:49 -0500222
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700223**Included features**:
Vince Lehmanb722b102014-08-24 16:33:49 -0500224
Junxiao Shif09e2632015-01-02 18:15:01 -0700225- Advertise availability of content through the configured router
Vince Lehmanb722b102014-08-24 16:33:49 -0500226
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700227- 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 -0500228
Junxiao Shif09e2632015-01-02 18:15:01 -0700229- 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 -0500230
Junxiao Shif09e2632015-01-02 18:15:01 -0700231- Configure maximum number of faces per prefix in NFD’s RIB
Vince Lehmanb722b102014-08-24 16:33:49 -0500232
Junxiao Shif09e2632015-01-02 18:15:01 -0700233- Set up NFD tunnels to neighbors automatically and maintain the tunnels to neighbors
Vince Lehmanb722b102014-08-24 16:33:49 -0500234
Junxiao Shif09e2632015-01-02 18:15:01 -0700235- Provide two routing protocols:
Vince Lehmanb722b102014-08-24 16:33:49 -0500236
Junxiao Shif09e2632015-01-02 18:15:01 -0700237 + Link State routing: calculate route cost based on link costs
238 + Hyperbolic routing: calculate route cost based on hyperbolic coordinates
Vince Lehmanb722b102014-08-24 16:33:49 -0500239
Alexander Afanasyev7decbbf2014-08-24 21:29:01 -0700240- Use a hierarchical trust model for routing within a single administrative domain
Vince Lehmanb722b102014-08-24 16:33:49 -0500241
Junxiao Shif09e2632015-01-02 18:15:01 -0700242- Keep NFD’s RIB updated on failure and recovery