Prepare 0.5.0 release
Small fix to properly handle ndnsec identity check message and also update copyright years in several files.
Change-Id: I1fae8749f7d755f4af1ccca519c236480ff3f824
diff --git a/AUTHORS.md b/AUTHORS.rst
similarity index 80%
rename from AUTHORS.md
rename to AUTHORS.rst
index 4b7ca13..2bd28bb 100644
--- a/AUTHORS.md
+++ b/AUTHORS.rst
@@ -1,4 +1,5 @@
-# Mini-NDN Authors
+Mini-NDN Authors
+=================
The following lists maintainers, primary developers, and all much-appreciated contributors to Mini-NDN in alphabetic order.
The specific contributions of individual authors can be obtained from the git history of the [official Mini-NDN repository](https://github.com/named-data/mini-ndn).
@@ -8,22 +9,29 @@
* Muktadir R. Chowdhury <https://github.com/alvyC>
* Damian Coomes <https://github.com/dmcoomes>
* ***(Maintainer)*** Saurab Dulal <https://dulalsaurab.github.io>
+* Laqin Fan <https://github.com/laqinfan>
* ***(Former Maintainer)*** Ashlesh Gawande <https://www.linkedin.com/in/agawande>
* Nicholas Gordon <https://github.com/gorgonical>
-* ***(Maintainer)*** Alexander Lane <https://github.com/zephyrmoth>
+* Giovanni Grieco <https://github.com/GiovanniGrieco>
+* ***(Maintainer)*** Alexander Lane <https://github.com/awlane>
* Vince Lehman <http://vslehman.com>
* Philipp Moll <https://github.com/phylib>
* Eric Newberry <https://ericnewberry.com>
* Junxiao Shi <https://cs.arizona.edu/~shijunxiao>
* Jeff Thompson <https://remap.ucla.edu/jeff-thompson>
* Yucheng Zhang <https://peterskycloud.wixsite.com/yzportfolio>
+* Italo Valcy S Brito <https://github.com/italovalcy>
-## Technical Advisors
+
+Technical Advisors
+-------------------
* Lan Wang <http://www.cs.memphis.edu/~lanwang>
* Beichuan Zhang <http://cs.arizona.edu/~bzhang>
-## The Mini-CCNx team
+
+The Mini-CCNx team
+-------------------
* Carlos Cabral <https://github.com/carlosmscabral>
* Caio de Moraes Elias <https://github.com/ocaio>
diff --git a/docs/authors.rst b/docs/authors.rst
new file mode 100644
index 0000000..94292d0
--- /dev/null
+++ b/docs/authors.rst
@@ -0,0 +1 @@
+.. include:: ../AUTHORS.rst
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
index 54591c1..45fb6f2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -53,4 +53,9 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
\ No newline at end of file
+html_static_path = ['_static']
+
+# Need to specify the line below if custom conf.py
+# https://github.com/readthedocs/readthedocs.org/issues/2569
+# https://stackoverflow.com/questions/56336234/build-fail-sphinx-error-contents-rst-not-found
+master_doc = 'index'
diff --git a/docs/experiment.rst b/docs/experiment.rst
index 58cc303..af95117 100644
--- a/docs/experiment.rst
+++ b/docs/experiment.rst
@@ -128,6 +128,10 @@
in the ``minindn/apps`` folder. Or users may choose to directly run their application on nodes
such as ndnpingserver is run in ``minindn/helpers/experiment.py``.
+**Note:** A certain log-level can be set-up for all the NFD or NLSR nodes at once by passing it as an argument during the startup.
+
+``nfds = AppManager(self.ndn, self.ndn.net.hosts, Nfd, logLevel='DEBUG')`` (same for NLSR)
+
Execution
---------
@@ -233,3 +237,25 @@
``/tmp/minindn/<node-name>/security`` Note that no NLSR publishes the root
certificate, Mini-NDN installs root.cert in security folder for each
NLSR.
+
+Routing Options
+----------------
+
+Link State Routing (NLSR)
+_________________________
+By default, Mini-NDN uses `NLSR <https://github.com/named-data/NLSR>`__ for route management i.e route computation, route installation and so on. Additionally, the command line utility ``nlsrc`` can be used to advertise and withdraw prefixes and route status.
+
+
+NDN Routing Helper
+____________________
+Computes link-state or hyperbolic route/s from a given minindn topology and installs them in the FIB. The major benefit of the routing helper is to eliminate the overhead of NLSR when using larger topology. See ``examples/static_routing_experiment.py`` on how to use the helper class.
+
+**IMPORTANT:** NLSR and NDN Routing Helper are mutually exclusive, meaning you can only use one at a time, not both.
+
+**Note:** The current version of ``ndn_routing_helper`` is still in the experimental phase. It doesn't support node or link failure and runtime prefix advertisement/withdrawal. If you find any bug please report `here <https://redmine.named-data.net/projects/mini-ndn>`__ or contact the :doc:`authors <authors>`.
+
+IP Routing Helper
+____________________
+
+The routing helper allows to run IP-based evaluations with Mini-NDN. It configures static IP routes to all nodes, which means that all nodes can reach all other nodes in the network
+reachable, even when relaying is required. Please see ``examples/ip_rounting_experiment.py`` for a simple example.
diff --git a/docs/index.rst b/docs/index.rst
index d7d8f01..afc5d11 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -27,3 +27,4 @@
* `Mininet Documentation <http://mininet.org/>`_
* `Mini-NDN redmine <https://redmine.named-data.net/projects/mini-ndn>`_
* `Mailing list <http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn>`_
+* :doc:`Mini-NDN Team <authors>`
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 79cbb0f..67c5fc4 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -1,6 +1,62 @@
Release Notes
=============
+Mini-NDN version 0.5.0 (Major changes since version 0.4.0)
+----------------------------------------------------------
+
+**Breaking Changes**:
+
+- `Mini-NDN re-design <https://redmine.named-data.net/issues/5062>`__: simple and robust design with better quality, control, and more consistency with Mininet
+
+**New features**:
+
+- Add a script to generate up-to-date NDN testbed topologies for Mini-NDN
+
+- Add Mini-NDN utility application for PCAP logging
+
+- Add NDN routing helper to compute centralized LS and HR routes
+
+- Add routing helper to allow IP communication in experiments
+
+- Add startup experiments for NLSR and current testbed topology
+
+- Move the NDNPing wrapper method to a helper class
+
+- Create a helper class to provide a wrapper around ``nfdc``
+
+**Improvements and Bug Fixes**:
+
+- Change workDir and resultDir to be class attribute
+
+- Quiet apt install for Vagrant
+
+- Fix route computation bug in ``ndn_routing_helper``
+
+- Fix overwriting of existing prefixes in ``ndn_routing_helper``
+
+- Move log files to resultDir after evaluation finishes
+
+- Check for duplicate HR coordinates in the topology file
+
+- Check PSync integration and add a tests case for it
+
+- Bug fixes in nfdc and experiments
+
+- Added functionality to check Mini-NDN dependencies
+
+- Parser fix to avoid an infinite loop
+
+- Allow use of NFD and NLSR PPA with Mini-NDN
+
+- Remove arbitrary arguments in favor of parsing arguments from experiment files
+
+- Auto-complete command-line arguments
+
+- Add option to set CS size
+
+- Adjust to use ndn-cxx logging
+
+
Mini-NDN version 0.4.0 (changes since version 0.3.0)
----------------------------------------------------
diff --git a/examples/ip_rounting_experiment.py b/examples/ip_rounting_experiment.py
index 8237b9b..7f3829f 100644
--- a/examples/ip_rounting_experiment.py
+++ b/examples/ip_rounting_experiment.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/examples/mnndn.py b/examples/mnndn.py
index d989633..d56c35f 100644
--- a/examples/mnndn.py
+++ b/examples/mnndn.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/examples/static_routing_experiment.py b/examples/static_routing_experiment.py
index a5d9b04..e683bc9 100644
--- a/examples/static_routing_experiment.py
+++ b/examples/static_routing_experiment.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/minindn/helpers/experiment.py b/minindn/helpers/experiment.py
index 226684e..a29272a 100644
--- a/minindn/helpers/experiment.py
+++ b/minindn/helpers/experiment.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/minindn/helpers/ndnpingclient.py b/minindn/helpers/ndnpingclient.py
index 8220a2d..37b63db 100644
--- a/minindn/helpers/ndnpingclient.py
+++ b/minindn/helpers/ndnpingclient.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/minindn/helpers/nfdc.py b/minindn/helpers/nfdc.py
index 4a9ebf2..16dabb8 100644
--- a/minindn/helpers/nfdc.py
+++ b/minindn/helpers/nfdc.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/minindn/helpers/process_monitor.py b/minindn/helpers/process_monitor.py
index 4fa3738..a202965 100644
--- a/minindn/helpers/process_monitor.py
+++ b/minindn/helpers/process_monitor.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
diff --git a/minindn/minindn.py b/minindn/minindn.py
index aa879cb..7b9c658 100644
--- a/minindn/minindn.py
+++ b/minindn/minindn.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#
@@ -26,7 +26,7 @@
import time
import os
import configparser
-from subprocess import call, check_output
+from subprocess import call, Popen, PIPE
import shutil
import glob
@@ -98,11 +98,13 @@
self.ethernetPairConnectivity()
try:
- Minindn.ndnSecurityDisabled = '/dummy/KEY/-%9C%28r%B8%AA%3B%60' in \
- check_output('ndnsec-get-default -k'.split()). \
- decode('utf-8').split('\n')
- if Minindn.ndnSecurityDisabled:
- info('Dummy key chain patch is installed in ndn-cxx. Security will be disabled.\n')
+ process = Popen(['ndnsec-get-default', '-k'], stdout=PIPE, stderr=PIPE)
+ output, error = process.communicate()
+ if process.returncode == 0:
+ Minindn.ndnSecurityDisabled = '/dummy/KEY/-%9C%28r%B8%AA%3B%60' in output
+ info('Dummy key chain patch is installed in ndn-cxx. Security will be disabled.\n')
+ else:
+ debug(error)
except:
pass
diff --git a/minindn/util.py b/minindn/util.py
index dd46557..8584ffc 100644
--- a/minindn/util.py
+++ b/minindn/util.py
@@ -1,6 +1,6 @@
# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
-# Copyright (C) 2015-2019, The University of Memphis,
+# Copyright (C) 2015-2020, The University of Memphis,
# Arizona Board of Regents,
# Regents of the University of California.
#