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

   overview
   INSTALL
   FAQ
   manpages

* :doc:`overview`

  A brief overview of NFD and its major modules.

* :doc:`INSTALL`

  Instructions for obtaining, installing, and running NFD.

* :doc:`FAQ`

  Suggestions for configuring and running non-standard NFD setups.

* :doc:`manpages`

**Additional documentation**

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

  A comprehensive guide to the design and implementation of NFD. The developer's guide also contains
  suggestions and hints for anyone wanting to modify or extend NFD.

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

  The NFD Wiki contains detailed protocol specifications and
  information for building on unsupported platforms.

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

* `Release Notes <RELEASE_NOTES.html>`_

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