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 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>`_.
