Wiki » History » Revision 112
Revision 111 (Davide Pesavento, 02/01/2018 09:21 PM) → Revision 112/125 (Junxiao Shi, 03/03/2018 03:28 PM)
# NDN Forwarding Daemon (NFD)
**NDN Forwarding Daemon (NFD)** is a new NDN forwarder under active development.
NFD implements the following specifications:
* [NDN packet format](http://named-data.net/doc/ndn-tlv/)
* [[Management|NFD Management protocol]]
* [[ConfigFileFormat|NFD configuration file format]]
* [[NDNLPv2]]: a link protocol for NDN
* [[ScopeControl|Namespace-based Scope Control]]: /localhost and /localhop
Other specifications:
* [[HubDiscovery|NDN hub discovery procedure]] to discover hub nodes on the NDN testbed.
## User Knowledge Base
* [NFD overview](http://named-data.net/doc/NFD/current/)
* [NFD FAQ](http://named-data.net/doc/NFD/current/FAQ.html)
* [ndn-cxx library](http://named-data.net/doc/ndn-cxx/current/), [application examples using ndn-cxx library](http://named-data.net/doc/ndn-cxx/current/examples.html)
* [[NFD autoconfiguration]]
### Installation experiences for selected platforms
* Officially Supported Operating Systems
* [[OS X with Homebrew|macOS with Homebrew]]
* [macOS with MacPorts](http://named-data.net/doc/NFD/current/INSTALL.html#install-nfd-using-the-ndn-macports-repository-on-os-x)
* [Ubuntu Linux with PPA](http://named-data.net/doc/NFD/current/INSTALL.html#install-nfd-using-the-ndn-ppa-repository-on-ubuntu-linux)
* [Installation from source on macOS and Ubuntu Linux](http://named-data.net/doc/NFD/current/INSTALL.html#building-from-source)
* Other Operating Systems
* [[Install-centos|CentOS]]
* [[Install-Fedora|Fedora]]
* [[Compiling on FreeBSD 10.0|FreeBSD 10]]
* Virtualized/Containerized Environments
* [Vagrant](https://github.com/named-data-education/ndn-with-vagrant)
* [Docker](https://github.com/named-data-education/ndn-with-docker)
* [Windows Subsystem for Linux](https://yoursunny.com/t/2018/NFD-on-Windows-10-WSL/)
* Embedded Devices
* [[ndn-embedded:Cross-compiling NDN projects for home routers|OpenWrt and DD-WRT home routers]]
* [[ndn-embedded:Cross-compiling NDN projects for Raspberry Pi|Raspberry Pi]]
* [NDN on Galileo (Intel's x86 Arduino-certified development board)](http://schwannden.gitbooks.io/ndn-on-galileo/)
## NFD Developer Resources
[//]: # (### UML diagrams)
[//]: # (* [NFD-UML](http://named-data.net/doc/nfd-uml/) (outdated))
[[Contributing Code]]
### Platform and libraries
* [C++11](http://en.cppreference.com/w/cpp), [[CodeStyle|code style guidelines]]
* [[Boost|Boost >= 1.54.0]]
* [Boost Unit Test Framework](http://www.boost.org/doc/libs/1_54_0/libs/test/doc/html/index.html), more information on [[UnitTesting|unit testing]]
* [ndn-cxx](https://named-data.net/doc/ndn-cxx/), Extended version of NDN C++ client library
* [waf build system](https://waf.io/)
### Development process
* [Learn Git Branching game](http://pcottle.github.io/learnGitBranching/index.html)
* [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/)
* [gerrit code review](http://gerrit.named-data.net/), more information:
* [GerritJenkinsGit on OpenStack](https://wiki.openstack.org/wiki/GerritJenkinsGit)
* [Gerrit on MediaWiki](http://www.mediawiki.org/wiki/Gerrit)
* [Git and Gerrit in Action](https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track2session6.pdf)
* [Using Gerrit Code Review in an Open Source Project](http://redmine.named-data.net/attachments/download/6/gerrit-slides-130203050220-phpapp01.pdf)
* [Gerrit Code Review - A Quick Introduction](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.1/intro-quick.html)
* [git-review](http://www.mediawiki.org/wiki/Gerrit/git-review)
* [[CodeCoverage|Code Coverage]]
* [[IntegrationTests|Integration Tests]]
### HOWTOs for n00bs
* [HOWTO assign a Redmine issue to yourself](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2015-February/000801.html)
* [HOWTO clone the NFD repository](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2015-April/001023.html)
* [HOWTO checkout two pending commits to local machine](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2015-June/001147.html)
* [HOWTO see details of Jenkins build error](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-February/001550.html)
* [HOWTO reply to a review comment on Gerrit](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-March/001607.html)
* [HOWTO write a bug report effectively](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html)
* [HOWTO solve "undefined symbol" error](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-August/001973.html)
* [HOWTO update NFD devguide](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2017-March/002298.html)
* [How I Setup my NFD Development Machine](https://yoursunny.com/t/2017/NFD-devbox/)
### Advanced
* [Environment to analyze coredumps of NFD and other NDN apps](https://github.com/cawka/nfd-debug-environment)
### Historical information
* [[ccndKnowledge|Knowledge about ccnd]]
* [CCNx protocol](http://www.ccnx.org/releases/ccnx-0.7.2/doc/technical/CCNxProtocol.html)
* [NDNFD](https://github.com/NDN-Routing/NDNFD)
### Misc
* [[NDN Team License Boilerplate (NFD)]]
* [[ndn-cxx:NDN Team License Boilerplate (ndn-cxx)]]
* [[nlsr:NDN Team License Boilerplate (NLSR)]]
* [ndnSIM](http://ndnsim.net/)