blob: 2e7bdebcad98e03e39c3854e8e6588a9b7f0bfe1 [file] [log] [blame] [view]
Davide Pesaventof6be8e32020-04-30 16:06:03 -04001# NLSR: Named Data Link State Routing Protocol
2
Davide Pesavento50213142024-04-22 03:44:05 -04003![Latest version](https://img.shields.io/github/v/tag/named-data/NLSR?label=Latest%20version)
4![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
Davide Pesaventoba8a4ed2021-10-13 21:28:43 -04005[![CI](https://github.com/named-data/NLSR/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/NLSR/actions/workflows/ci.yml)
Davide Pesaventoc56457b2024-05-08 17:18:33 -04006[![Docker](https://github.com/named-data/NLSR/actions/workflows/docker.yml/badge.svg)](https://github.com/named-data/NLSR/actions/workflows/docker.yml)
Davide Pesaventoba8a4ed2021-10-13 21:28:43 -04007[![Docs](https://github.com/named-data/NLSR/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/NLSR/actions/workflows/docs.yml)
akmhoquedbfd7912014-01-31 20:15:39 -06008
Davide Pesavento50213142024-04-22 03:44:05 -04009> [!TIP]
10> For more extensive documentation, visit the [NLSR homepage](https://docs.named-data.net/NLSR/current/).
Junxiao Shif09e2632015-01-02 18:15:01 -070011
akmhoquecc827532014-07-09 08:48:49 -050012## Overview
akmhoquedbfd7912014-01-31 20:15:39 -060013
Davide Pesavento1e9faf12023-01-21 16:04:50 -050014NLSR is a routing protocol for Named Data Networking (NDN) that populates the Routing Information
15Base (RIB) of an NDN router, such as [NFD](https://github.com/named-data/NFD). NLSR continues to
16evolve alongside the core [NDN protocol](https://docs.named-data.net/NDN-packet-spec/current/).
akmhoquedbfd7912014-01-31 20:15:39 -060017
Davide Pesaventof6be8e32020-04-30 16:06:03 -040018The main design goal of NLSR is to provide a routing protocol to populate NDN's RIB.
akmhoquecc827532014-07-09 08:48:49 -050019NLSR calculates the routing table using link-state or hyperbolic routing and produces
20multiple faces for each reachable name prefix in a single authoritative domain. NLSR
21will continue to evolve over time to include neighbor discovery and to become a full
22fledged inter-domain routing protocol for NDN.
akmhoquedbfd7912014-01-31 20:15:39 -060023
Davide Pesaventoc56457b2024-05-08 17:18:33 -040024NLSR was mainly developed by members of the NSF-sponsored [NDN project](
Davide Pesavento1b640fd2023-01-04 21:00:05 -050025https://named-data.net/project/participants/). See [`AUTHORS.md`](AUTHORS.md) for details.
26
Davide Pesaventof6be8e32020-04-30 16:06:03 -040027## Source releases
akmhoquedbfd7912014-01-31 20:15:39 -060028
Davide Pesaventoc1d0e8e2022-06-15 14:26:02 -040029The source code and installation instructions are available at the following locations:
akmhoquedbfd7912014-01-31 20:15:39 -060030
Davide Pesavento1e9faf12023-01-21 16:04:50 -050031- [Installation](https://docs.named-data.net/NLSR/current/INSTALL.html)
32- [Getting started with NLSR](https://docs.named-data.net/NLSR/current/GETTING-STARTED.html)
Davide Pesavento1b640fd2023-01-04 21:00:05 -050033- [NLSR GitHub repository](https://github.com/named-data/NLSR)
akmhoquedbfd7912014-01-31 20:15:39 -060034
Davide Pesavento1e9faf12023-01-21 16:04:50 -050035## Reporting bugs
36
37Please submit any bug reports or feature requests to the
38[NLSR issue tracker](https://redmine.named-data.net/projects/nlsr/issues).
39
Davide Pesaventoc1d0e8e2022-06-15 14:26:02 -040040## Additional resources
akmhoquedbfd7912014-01-31 20:15:39 -060041
Davide Pesavento1e9faf12023-01-21 16:04:50 -050042- [Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md)
Davide Pesaventoc1d0e8e2022-06-15 14:26:02 -040043- [NLSR Wiki](https://redmine.named-data.net/projects/nlsr/wiki)
44- [NLSR Issue Tracker](https://redmine.named-data.net/projects/nlsr/issues)
Ashlesh Gawandeb4567f42017-04-28 14:40:39 -050045- [NLSR Mailing List Sign Up](https://listserv.memphis.edu/scripts/wa.exe?GETPW1)
46- [NLSR Mailing List](https://listserv.memphis.edu/scripts/wa.exe?SUBED1=NLSR-HELP-L&A=1)
47- [NLSR Mailing List Archives](https://listserv.memphis.edu/scripts/wa.exe?A0=NLSR-HELP-L)
dmcoomesa47255c2017-09-29 16:08:32 -050048- [NLSR Developer's guide](https://github.com/named-data/NLSR/blob/developers-guide/NLSR-Developers-Guide.pdf)
Davide Pesavento1b640fd2023-01-04 21:00:05 -050049
50## License
51
52NLSR is free software distributed under the GNU General Public License version 3.
53See [`COPYING.md`](COPYING.md) for details.
Davide Pesavento50213142024-04-22 03:44:05 -040054
55NLSR contains third-party software, licensed under the following licenses:
56
57- The *waf* build system is licensed under the [3-clause BSD license](waf)