build: bump ndn-cxx, ChronoSync, PSync dependencies
Also fix a few outdated URLs in docs
Change-Id: I4269ca53f55433568e8fd93eec497697c01b3c6d
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 <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>.
+If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/main/CONTRIBUTING.md>.
* Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
* Adam Alyyan <https://github.com/a64adam>
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 @@
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 Source
--------------
-- `GitHub NLSR repository <https://github.com/named-data/NLSR>`_
+- `GitHub NLSR repository <https://github.com/named-data/NLSR>`__
Installation
------------
:doc:`INSTALL`
-
Important Notes About Configuration
-----------------------------------
@@ -23,10 +22,9 @@
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
-<https://named-data.net/doc/NFD/current/manpages/nfdc.html>`_
+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 <https://docs.named-data.net/NFD/current/manpages/nfdc.html>`__).
Configuration
-------------
@@ -70,19 +68,20 @@
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
+<https://docs.named-data.net/ndn-cxx/current/manpages/ndn-log.html>`__).
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 @@
Prerequisites
-------------
-- `NFD <https://named-data.net/doc/NFD/>`_ and its dependencies
+- `NFD <https://github.com/named-data/NFD>`__ and its dependencies.
- Refer to `Getting started with NFD <https://named-data.net/doc/NFD/current/INSTALL.html>`_
- for detailed installation and running instruction.
+ Check out the `documentation <https://docs.named-data.net/NFD/current/INSTALL.html>`__
+ 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 @@
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
-<http://named-data.net/doc/NFD/current/INSTALL.html>`_ to run nfd.
+<https://docs.named-data.net/NFD/current/INSTALL.html>`_ 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
-<https://named-data.net/doc/NFD/current/manpages/nfdc.html>`_
+To create faces it is now necessary to use the ``nfdc`` command. See ``man nfdc`` for
+its documentation (`online version <https://docs.named-data.net/NFD/current/manpages/nfdc.html>`__).
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 @@
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
-<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`_. 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 @@
NLSR is free software distributed under the GNU General Public License version 3.
See `COPYING.md <https://github.com/named-data/NLSR/blob/master/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 @@
Release date: August 25, 2014
The main design goal of NLSR is to provide a routing protocol to populate `NFD's
-<https://named-data.net/doc/NFD/>`_ RIB. NLSR calculates the routing table using
+<https://github.com/named-data/NFD>`__ 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 <https://github.com/named-data/ChronoSync>`_ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs
+- Use `ChronoSync <https://github.com/named-data/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 @@
- 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 @@
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 @@
'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: