Skip to content

Commit

Permalink
build: bump ndn-cxx, ChronoSync, PSync dependencies
Browse files Browse the repository at this point in the history
Also fix a few outdated URLs in docs

Change-Id: I4269ca53f55433568e8fd93eec497697c01b3c6d
  • Loading branch information
Pesa committed Jan 21, 2023
1 parent 1b640fd commit 1e9faf1
Show file tree
Hide file tree
Showing 9 changed files with 52 additions and 48 deletions.
2 changes: 1 addition & 1 deletion AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion README-dev.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down
25 changes: 12 additions & 13 deletions docs/GETTING-STARTED.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@ Getting Started with NLSR
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
-----------------------------------

Expand All @@ -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
<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
-------------
Expand Down Expand Up @@ -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
<https://docs.named-data.net/ndn-cxx/current/manpages/ndn-log.html>`__).
14 changes: 8 additions & 6 deletions docs/INSTALL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,30 @@ NLSR Installation Instructions
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
-----

Expand Down
7 changes: 3 additions & 4 deletions docs/ROUTER-CONFIG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
<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
---------------------------
Expand Down
8 changes: 5 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
<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
Expand Down Expand Up @@ -78,6 +78,8 @@ License
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
Expand Down
11 changes: 6 additions & 5 deletions docs/release-notes/release-notes-0.1.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
<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 NFDs 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

Expand All @@ -27,4 +28,4 @@ prefix in a single authoritative domain.

- Use a hierarchical trust model for routing within a single administrative domain

- Keep NFDs RIB updated on failure and recovery
- Keep NFD's RIB updated on failure and recovery
8 changes: 4 additions & 4 deletions wscript
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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']
Expand All @@ -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:
Expand Down

0 comments on commit 1e9faf1

Please sign in to comment.