Introduction
============

What is Mini-NDN?
-----------------

Mini-NDN is a lightweight networking emulation tool that enables testing, experimentation, and
research on the NDN platform. It was initially based on `Mini-CCNx <https://github.com/chesteve/mn-ccnx>`__
which was a fork of `Mininet <https://github.com/mininet/mininet>`__. Mini-NDN uses the NDN libraries,
NFD, NLSR, and tools released by the `NDN project <https://named-data.net/codebase/platform/>`__
to emulate an NDN network on a single system.

The first release of Mini-NDN is developed by members of the NSF-sponsored NDN project team.
Mini-NDN is open to contribution from the public.

.. image:: minindnnet.svg

License
_______

Mini-NDN is free and open source software distributed under the GNU General Public License
version 3. For more information about licensing details and limitations, please refer to
`COPYING.md <https://github.com/named-data/mini-ndn/blob/master/COPYING.md>`__.

Feedback/Mailing List
_____________________

Bug reports and feedback are highly appreciated and can be made through our
`Redmine site <https://redmine.named-data.net/projects/mini-ndn>`__ and the
`mini-ndn mailing list <https://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn>`__.

If you are new to the NDN software community and intend to contribute to the codebase, please read our
`Contributor's Guide <https://github.com/named-data/.github/blob/main/CONTRIBUTING.md>`__.
