diff --git a/AUTHORS.md b/AUTHORS.md index b9bdca0..f3b71d3 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -2,7 +2,7 @@ The following lists maintainers, primary developers, and all much-appreciated contributors to NLSR in alphabetical order. The specific contributions of individual authors can be obtained from the git history of the [official NLSR repository](https://github.com/named-data/NLSR). -If you would like to become a contributor to the official repository, please follow the recommendations in . +If you would like to become a contributor to the official repository, please follow the recommendations in . * Alexander Afanasyev * Adam Alyyan diff --git a/README-dev.md b/README-dev.md index 27aa479..060c556 100644 --- a/README-dev.md +++ b/README-dev.md @@ -1,7 +1,7 @@ # Notes for NLSR developers If you are new to the NDN software community, please read the -[Contributor's Guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md). +[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md). ## Licensing requirements diff --git a/README.md b/README.md index 6ce446b..ccdf706 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,13 @@ ![Language](https://img.shields.io/badge/C%2B%2B-17-blue) ![Latest version](https://img.shields.io/github/v/tag/named-data/NLSR?label=Latest%20version) -For complete documentation and more extensive information, -please visit the [NLSR homepage](https://named-data.net/doc/NLSR/current/). +> For more extensive documentation, please visit the [NLSR homepage](https://docs.named-data.net/NLSR/current/). ## Overview -NLSR is a routing protocol in NDN that populates NDN's Routing Information Base. -NLSR will continue to evolve alongside the Named Data Networking -[protocol](https://named-data.net/doc/NDN-packet-spec/current/). +NLSR is a routing protocol for Named Data Networking (NDN) that populates the Routing Information +Base (RIB) of an NDN router, such as [NFD](https://github.com/named-data/NFD). NLSR continues to +evolve alongside the core [NDN protocol](https://docs.named-data.net/NDN-packet-spec/current/). 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 @@ -23,20 +22,22 @@ fledged inter-domain routing protocol for NDN. NLSR was mainly developed by members of the NSF-sponsored [NDN project team]( https://named-data.net/project/participants/). See [`AUTHORS.md`](AUTHORS.md) for details. -Bug reports and feedback are highly appreciated and can be submitted through the -[NLSR issue tracker](https://redmine.named-data.net/projects/nlsr/issues). - ## Source releases The source code and installation instructions are available at the following locations: -- [Installation](https://named-data.net/doc/NLSR/current/INSTALL.html) -- [Getting started with NLSR](https://named-data.net/doc/NLSR/current/GETTING-STARTED.html) +- [Installation](https://docs.named-data.net/NLSR/current/INSTALL.html) +- [Getting started with NLSR](https://docs.named-data.net/NLSR/current/GETTING-STARTED.html) - [NLSR GitHub repository](https://github.com/named-data/NLSR) +## Reporting bugs + +Please submit any bug reports or feature requests to the +[NLSR issue tracker](https://redmine.named-data.net/projects/nlsr/issues). + ## Additional resources -- [Contributor's Guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md) +- [Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md) - [NLSR Wiki](https://redmine.named-data.net/projects/nlsr/wiki) - [NLSR Issue Tracker](https://redmine.named-data.net/projects/nlsr/issues) - [NLSR Mailing List Sign Up](https://listserv.memphis.edu/scripts/wa.exe?GETPW1) diff --git a/docs/GETTING-STARTED.rst b/docs/GETTING-STARTED.rst index aa83b24..7909828 100644 --- a/docs/GETTING-STARTED.rst +++ b/docs/GETTING-STARTED.rst @@ -7,14 +7,13 @@ Getting Started with NLSR Getting Source -------------- -- `GitHub NLSR repository `_ +- `GitHub NLSR repository `__ Installation ------------ :doc:`INSTALL` - Important Notes About Configuration ----------------------------------- @@ -23,10 +22,9 @@ specified in ``nlsr.conf``. Instead, it relies on the pre-existence of the Faces in NFD. NLSR will obtain this information from NFD, and configure its neighbors using this information. -For people who were relying on NLSR to automagically configure their -networks, this must now be done with ``nfdc``. Its documentation can -be found `here -`_ +For users who were relying on NLSR to automagically configure their networks, +this must now be done with ``nfdc``. See ``man nfdc`` for its documentation +(`online version `__). Configuration ------------- @@ -70,19 +68,20 @@ value are enabled. ERROR error messages FATAL fatal (will be logged unconditionally) -To obtain logs for NLSR, set the NDN_LOG environment variable with the correct prefix and -log-level settings. For example, running the following command will display all log +To obtain logs for NLSR, set the ``NDN_LOG`` environment variable with the correct prefix +and log-level settings. For example, running the following command will display all log messages in NLSR with a DEBUG level or below. -:: +.. code-block:: sh NDN_LOG='nlsr.*=DEBUG' nlsr -If the user is presented with an error message `User does not have read and write -permission on the directory` it can be circumvented by running the application with sudo: +If the user is presented with an error message "User does not have read and write +permission on the directory" it can be circumvented by running the application with sudo: -:: +.. code-block:: sh sudo env NDN_LOG='nlsr.*=DEBUG' nlsr -Use `man ndn-log` for more detailed instructions. +See ``man ndn-log`` for more details (`online version +`__). diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst index 519841b..828f021 100644 --- a/docs/INSTALL.rst +++ b/docs/INSTALL.rst @@ -7,28 +7,30 @@ NLSR Installation Instructions Prerequisites ------------- -- `NFD `_ and its dependencies +- `NFD `__ and its dependencies. - Refer to `Getting started with NFD `_ - for detailed installation and running instruction. + Check out the `documentation `__ + for detailed installation and running instructions. -- PSync library +- PSync library [optional but recommended, enabled by default] Download the PSync library and build it according to the instructions available at https://github.com/named-data/PSync#build -- [Optional] ChronoSync library +- ChronoSync library [optional] For testing purposes, NLSR can be optionally built with Chronosync support. Download the ChronoSync library and build it according to the instructions available at https://github.com/named-data/ChronoSync#build -- [Optional] SVS library +- SVS library [optional] NLSR can be used with State Vector Sync as the underlying Sync protocol. Download the ndn-svs library and build it according to the instructions available at https://github.com/named-data/ndn-svs#installation +Note that at least one sync library must be enabled. + Build ----- diff --git a/docs/ROUTER-CONFIG.rst b/docs/ROUTER-CONFIG.rst index 89ac3f5..ec7cbe3 100644 --- a/docs/ROUTER-CONFIG.rst +++ b/docs/ROUTER-CONFIG.rst @@ -49,16 +49,15 @@ Type the following in the terminal: If you see ``error while connecting to the forwarder (No such file or directory)``, ``nfd`` is not running. Follow the instructions in `Getting started with NFD -`_ to run nfd. +`_ to run nfd. Since v0.4.0, NLSR no longer creates Faces for the neighbors that are specified in ``nlsr.conf``. Instead, it relies on the pre-existence of the Faces in NFD. NLSR will obtain this information from NFD, and configure its neighbors using this information. -To create faces it is now necessary to use the ``nfdc`` command. Its documentation can -be found `here -`_ +To create faces it is now necessary to use the ``nfdc`` command. See ``man nfdc`` for +its documentation (`online version `__). Step 2. Determining FaceUri --------------------------- diff --git a/docs/index.rst b/docs/index.rst index fa1ee00..626006e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,9 +14,9 @@ NLSR: Named Data Link State Routing Protocol release-notes releases -**NLSR** is a routing protocol for NDN that populates NDN's Routing Information Base. -NLSR will continue to evolve alongside the Named Data Networking `protocol -`__. +**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 FIB. NLSR calculates the routing table using link-state or hyperbolic routing and produces multiple @@ -78,6 +78,8 @@ License NLSR is free software distributed under the GNU General Public License version 3. See `COPYING.md `__ for details. +.. _NDN protocol: https://docs.named-data.net/NDN-packet-spec/current/ +.. _NFD: https://github.com/named-data/NFD .. _NLSR Wiki: https://redmine.named-data.net/projects/nlsr/wiki .. _NLSR Paper: https://named-data.net/wp-content/uploads/2016/01/ndn-0037-1-nlsr.pdf .. _NLSR Mailing List: https://listserv.memphis.edu/scripts/wa.exe?SUBED1=NLSR-HELP-L&A=1 diff --git a/docs/release-notes/release-notes-0.1.0.rst b/docs/release-notes/release-notes-0.1.0.rst index b94e3ae..eba10b4 100644 --- a/docs/release-notes/release-notes-0.1.0.rst +++ b/docs/release-notes/release-notes-0.1.0.rst @@ -4,19 +4,20 @@ NLSR version 0.1.0 (initial release) Release date: August 25, 2014 The main design goal of NLSR is to provide a routing protocol to populate `NFD's -`_ RIB. NLSR calculates the routing table using +`__ 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. -**Included features**: +Included features +^^^^^^^^^^^^^^^^^ - Advertise availability of content through the configured router -- Use `ChronoSync `_ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs +- Use `ChronoSync `__ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs - Produce a list of ranked forwarding options for each name prefix to facilitate NDN's adaptive forwarding strategies -- Configure maximum number of faces per prefix in NFD’s RIB +- Configure maximum number of faces per prefix in NFD's RIB - Set up NFD tunnels to neighbors automatically and maintain the tunnels to neighbors @@ -27,4 +28,4 @@ prefix in a single authoritative domain. - Use a hierarchical trust model for routing within a single administrative domain -- Keep NFD’s RIB updated on failure and recovery +- Keep NFD's RIB updated on failure and recovery diff --git a/wscript b/wscript index 136349d..93e19db 100644 --- a/wscript +++ b/wscript @@ -1,6 +1,6 @@ # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- """ -Copyright (c) 2014-2022, The University of Memphis, +Copyright (c) 2014-2023, The University of Memphis, Regents of the University of California, Arizona Board of Regents. @@ -68,7 +68,7 @@ def configure(conf): conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG') pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig') - conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'], + conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.1', '--cflags', '--libs'], uselib_store='NDN_CXX', pkg_config_path=pkg_config_path) boost_libs = ['system', 'iostreams', 'filesystem', 'regex'] @@ -82,11 +82,11 @@ def configure(conf): 'For more information, see https://redmine.named-data.net/projects/nfd/wiki/Boost') if conf.options.with_chronosync: - conf.check_cfg(package='ChronoSync', args=['ChronoSync >= 0.5.4', '--cflags', '--libs'], + conf.check_cfg(package='ChronoSync', args=['ChronoSync >= 0.5.5', '--cflags', '--libs'], uselib_store='CHRONOSYNC', pkg_config_path=pkg_config_path) if conf.options.with_psync: - conf.check_cfg(package='PSync', args=['PSync >= 0.3.0', '--cflags', '--libs'], + conf.check_cfg(package='PSync', args=['PSync >= 0.4.0', '--cflags', '--libs'], uselib_store='PSYNC', pkg_config_path=pkg_config_path) if conf.options.with_svs: