BREAKING: Change Name LSAs to propagate cost which are applied to remote routes

This is a stopgap change to address a lack of functionality in the NDN testbed.
Current restrictions:
-Cost must be set from NFD readvertisement
-Cost is applied after routing calculations but before FIB insertion; lowest cost
nexthop will be chosen but may not be the optimal path given this cost.

Further work will be required to move the application of cost as part of routing
and to make this functionality more easily accessible.

Refs #5349

Change-Id: I914dc5c2d5d3cb6bfa13f5730df0eae66d115c60
22 files changed
tree: de3027c1b48246d42560e719b5daedc7e48e5fd9
  1. .github/
  2. .jenkins.d/
  3. .waf-tools/
  4. docs/
  5. src/
  6. systemd/
  7. tests/
  8. tools/
  9. .dockerignore
  10. .editorconfig
  11. .gitignore
  12. .jenkins
  13. .mailmap
  14. AUTHORS.md
  15. COPYING.md
  16. Dockerfile
  17. nlsr.conf
  18. README-dev.md
  19. README.md
  20. waf
  21. wscript
README.md

NLSR: Named Data Link State Routing Protocol

Latest version Language CI Docker Docs

[!TIP] For more extensive documentation, visit the NLSR homepage.

Overview

NLSR is a routing protocol for Named Data Networking (NDN) that populates the Routing Information Base (RIB) of an NDN router, such as NFD. NLSR continues to evolve alongside the core NDN protocol.

The main design goal of NLSR is to provide a routing protocol to populate NDN's RIB. NLSR calculates the routing table using link-state or hyperbolic routing and produces multiple faces for each reachable name prefix in a single authoritative domain. NLSR will continue to evolve over time to include neighbor discovery and to become a full fledged inter-domain routing protocol for NDN.

NLSR was mainly developed by members of the NSF-sponsored NDN project. See AUTHORS.md for details.

Source releases

The source code and installation instructions are available at the following locations:

Reporting bugs

Please submit any bug reports or feature requests to the NLSR issue tracker.

Additional resources

License

NLSR is free software distributed under the GNU General Public License version 3. See COPYING.md for details.

NLSR contains third-party software, licensed under the following licenses: