Bug #4430
closedNLSR does not converge without content store
100%
Description
Since LSA is under /localhop prefix and NLSR serves only its own LSA.
We should change it so that NLSR can serve other routers' LSA as well.
Updated by Ashlesh Gawande almost 7 years ago
- Related to Task #3899: Use /localhop component in LSA prefix to reduce duplicate NACKs added
Updated by Nicholas Gordon almost 7 years ago
This is one possible solution:
At any node where NLSR is running, a repo instance should also be running. The repo will do two things:
- Store LSAs. When NLSR fetches a new LSA, it will issue a repo insert command to store that data, and NLSR will issue a delete command for the previous LSA data. NLSR will then remember the current LSA to delete it next time.
- Store keys. Since the number of keys is not all that great, we can do the same thing as above. Any time NLSR fetches a key, it will issue an insert command to store that data in the repo. No maintenance is necessary, since keys are not re-published regularly.
Brief discussion with Alex suggests that the repo is fit for this job, as it can insert and delete data correctly. This approach minimizes the amount of new code to incorporate into NLSR, essentially adding a table of "previous LSAs", and a few lines of code to issue the repo commands.
Updated by Ashlesh Gawande almost 7 years ago
- Status changed from In Progress to Closed
- Target version set to Minor release 0.4.1
Updated by Ashlesh Gawande almost 7 years ago
- Status changed from Closed to In Progress
- % Done changed from 100 to 50
Current solution does not work with security enabled and content store disabled so re-opening (since we are using direct fetch).
It only works with security disabled and content store disabled (Before the latest change it did not work for this case).
Updated by Ashlesh Gawande over 6 years ago
- Related to Feature #4448: Serve other routers' certificates added
Updated by Ashlesh Gawande over 6 years ago
- % Done changed from 50 to 90
I will close this issue once I have added a test to Mini-NDN.
Updated by Ashlesh Gawande over 6 years ago
- Related to Feature #4469: Add option/function to disable content store added
Updated by Ashlesh Gawande over 6 years ago
Latest NLSR does not converge without CS (with or without security), investigating.
Updated by Ashlesh Gawande over 6 years ago
LSA has an expiration time point i.e. after what time from now it will expire.
When node1 gets LSA from node2 and puts it into LSA storage it should schedule it expiry like:
(LSA-node2-expiration-timepoint) - now
What was implemented was opposite:
now - (LSA-node2-expiration-timepoint)
resulting in deletion of LSA from storage immediately
Testbed has the faulty version.
Updated by Ashlesh Gawande over 6 years ago
Integration test without CS passes after the fix:
https://gerrit.named-data.net/#/c/4639/
Updated by Ashlesh Gawande over 6 years ago
- Status changed from In Progress to Closed
- Target version changed from Minor release 0.4.1 to v0.5.0
- % Done changed from 90 to 100
Updated by Saurab Dulal over 6 years ago
- Target version changed from v0.5.0 to 0.4.3