NFD - Named Data Networking Forwarding Daemon
=============================================

NFD is a network forwarder that implements and evolves together with the Named Data
Networking (NDN) `protocol <http://named-data.net/doc/ndn-tlv/>`__. After the initial
release, NFD will become a core component of the `NDN Platform
<http://named-data.net/codebase/platform/>`__ and will follow the same release cycle.

NFD Documentation
-----------------

.. toctree::
   :hidden:
   :maxdepth: 3

   README
   getting-started
   FAQ
   manpages

..
   INSTALL

* :doc:`README`

* :doc:`getting-started`

* :doc:`FAQ`

* :doc:`manpages`

**Additional documentation**

* `NFD Developer's Guide <http://named-data.net/wp-content/uploads/2014/07/NFD-developer-guide.pdf>`_

* `NFD Wiki <http://redmine.named-data.net/projects/nfd/wiki>`_

  + `NFD Management protocol <http://redmine.named-data.net/projects/nfd/wiki/Management>`_
  + `NFD Configuration file format <http://redmine.named-data.net/projects/nfd/wiki/ConfigFileFormat>`_

* `API documentation (doxygen) <doxygen/annotated.html>`_

Downloading
-----------

* `Source code GitHub git repository <https://github.com/named-data/NFD>`_.

* :ref:`MacPorts NDN repository <How to start using NDN MacPorts repository on OSX>`

* :ref:`Ubuntu NDN PPA repository <How to start using NDN PPA repository on Ubuntu Linux>`

License
-------

NFD is an open and free software package licensed under GPL 3.0 license and is the
centerpiece of our committement to making NDN's core technology open and free to all
Internet users and developers. For more information about the licensing details and
limitation, refer to `COPYING.md <https://github.com/named-data/NFD/blob/master/COPYING.md>`_.
