Project

General

Profile

Wiki » History » Version 125

Davide Pesavento, 01/03/2023 02:21 AM

1 4 Junxiao Shi
# NDN Forwarding Daemon (NFD)
2 2
3 51 Alex Afanasyev
**NDN Forwarding Daemon (NFD)** is a new NDN forwarder under active development.
4 2
5 40 Beichuan Zhang
NFD implements the following specifications:
6 2
7 121 Davide Pesavento
* [NDN packet format](https://named-data.net/doc/NDN-packet-spec/current/)
8 52 Alex Afanasyev
* [[Management|NFD Management protocol]]
9 109 Davide Pesavento
* [[ConfigFileFormat|NFD configuration file format]]
10
* [[NDNLPv2]]: a link protocol for NDN
11 65 Junxiao Shi
* [[ScopeControl|Namespace-based Scope Control]]: /localhost and /localhop
12 52 Alex Afanasyev
13
Other specifications:
14
15 40 Beichuan Zhang
* [[HubDiscovery|NDN hub discovery procedure]] to discover hub nodes on the NDN testbed.
16 4 Junxiao Shi
17 46 Alex Afanasyev
## User Knowledge Base
18
19 116 Davide Pesavento
* [NFD overview](https://named-data.net/doc/NFD/current/)
20
* [NFD FAQ](https://named-data.net/doc/NFD/current/FAQ.html)
21
* [ndn-cxx library](https://named-data.net/doc/ndn-cxx/current/), [application examples using ndn-cxx library](https://named-data.net/doc/ndn-cxx/current/examples.html)
22 83 Alex Afanasyev
* [[NFD autoconfiguration]]
23 122 Davide Pesavento
* [Why NDN packet is limited to 8800 octets](http://www.lists.cs.ucla.edu/pipermail/ndn-interest/2017-March/001623.html)
24 46 Alex Afanasyev
25 2
### Installation experiences for selected platforms
26
27
* Officially Supported Operating Systems
28 124 Davide Pesavento
    * [Ubuntu Linux with PPA](https://named-data.net/doc/NFD/current/INSTALL.html#install-nfd-on-ubuntu-linux-using-the-ndn-ppa-repository)
29 116 Davide Pesavento
    * [Installation from source on macOS and Ubuntu Linux](https://named-data.net/doc/NFD/current/INSTALL.html#building-from-source)
30 124 Davide Pesavento
    * CentOS Stream
31
    * Debian
32 72 Junxiao Shi
* Other Operating Systems
33
    * [[Install-Fedora|Fedora]]
34 124 Davide Pesavento
    * [Unofficial Debian APT repository](https://nfd-nightly.ndn.today)
35 123 Junxiao Shi
    * [FreeBSD](https://named-data.net/doc/ndn-cxx/current/INSTALL.html)
36 103 Davide Pesavento
* Virtualized/Containerized Environments
37 112 Junxiao Shi
    * [Windows Subsystem for Linux](https://yoursunny.com/t/2018/NFD-on-Windows-10-WSL/)
38 124 Davide Pesavento
* Embedded Devices (probably outdated)
39 72 Junxiao Shi
    * [[ndn-embedded:Cross-compiling NDN projects for home routers|OpenWrt and DD-WRT home routers]]
40
    * [[ndn-embedded:Cross-compiling NDN projects for Raspberry Pi|Raspberry Pi]]
41 82 Alex Afanasyev
    * [NDN on Galileo (Intel's x86 Arduino-certified development board)](http://schwannden.gitbooks.io/ndn-on-galileo/)
42 63 Alex Afanasyev
43 53 Alex Afanasyev
## NFD Developer Resources
44 4 Junxiao Shi
45 2
[//]: # (### UML diagrams)
46 124 Davide Pesavento
[//]: # (* [NFD-UML](http://named-data.net/doc/nfd-uml/) (outdated))
47 102 Davide Pesavento
48 90 Alex Afanasyev
[[Contributing Code]]
49 2
50 11 Beichuan Zhang
### Platform and libraries
51 124 Davide Pesavento
52
* [C++17](https://en.cppreference.com/w/cpp), [[CodeStyle|code style guidelines]]
53 2
* [[Boost|Boost >= 1.65.1]]
54 120 Davide Pesavento
* [ndn-cxx](https://named-data.net/doc/ndn-cxx/), Extended version of NDN C++ client library 
55 50 Alex Afanasyev
* [waf build system](https://waf.io/)
56 104 Davide Pesavento
57 2
### Development process
58 124 Davide Pesavento
59 67 Alex Afanasyev
* [Learn Git Branching game](http://pcottle.github.io/learnGitBranching/index.html)
60 105 Alex Afanasyev
* [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/)
61 124 Davide Pesavento
* [gerrit code review](https://gerrit.named-data.net/), more information:
62 80 Alex Afanasyev
  * [GerritJenkinsGit on OpenStack](https://wiki.openstack.org/wiki/GerritJenkinsGit)
63
  * [Gerrit on MediaWiki](http://www.mediawiki.org/wiki/Gerrit)
64 2
  * [Git and Gerrit in Action](https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track2session6.pdf)
65 7 Alex Afanasyev
  * [Using Gerrit Code Review in an Open Source Project](http://redmine.named-data.net/attachments/download/6/gerrit-slides-130203050220-phpapp01.pdf)
66
  * [Gerrit Code Review - A Quick Introduction](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.1/intro-quick.html)
67 102 Davide Pesavento
  * [git-review](http://www.mediawiki.org/wiki/Gerrit/git-review)
68 70 Alex Afanasyev
* [[CodeCoverage|Code Coverage]]
69 111 Davide Pesavento
* [[IntegrationTests|Integration Tests]]
70
71 125 Davide Pesavento
### HOWTOs for beginners
72 124 Davide Pesavento
73 95 Junxiao Shi
* [HOWTO assign a Redmine issue to yourself](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2015-February/000801.html)
74
* [HOWTO clone the NFD repository](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2015-April/001023.html)
75 2
* [HOWTO checkout two pending commits to local machine](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2015-June/001147.html)
76
* [HOWTO see details of Jenkins build error](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-February/001550.html)
77 99 Junxiao Shi
* [HOWTO reply to a review comment on Gerrit](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-March/001607.html)
78 100 Junxiao Shi
* [HOWTO write a bug report effectively](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html)
79 2
* [HOWTO solve "undefined symbol" error](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-August/001973.html)
80
* [HOWTO update NFD devguide](http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2017-March/002298.html)
81 125 Davide Pesavento
* [How I setup my NFD development machine](https://yoursunny.com/t/2018/NFD-devbox-ubuntu16/) (slightly outdated)
82 115 Junxiao Shi
83 98 Alex Afanasyev
### Advanced
84 2
85 98 Alex Afanasyev
* [Environment to analyze coredumps of NFD and other NDN apps](https://github.com/cawka/nfd-debug-environment)
86 95 Junxiao Shi
87 102 Davide Pesavento
### Historical information
88 109 Davide Pesavento
89 124 Davide Pesavento
* [[OS X with Homebrew|NDN on OS X with Homebrew]]
90 109 Davide Pesavento
* [[ccndKnowledge|Knowledge about ccnd]]
91 40 Beichuan Zhang
* [CCNx protocol](http://www.ccnx.org/releases/ccnx-0.7.2/doc/technical/CCNxProtocol.html)
92 5 Junxiao Shi
* [NDNFD](https://github.com/NDN-Routing/NDNFD)
93
94 74 Alex Afanasyev
### Misc
95 102 Davide Pesavento
96 74 Alex Afanasyev
* [[NDN Team License Boilerplate (NFD)]]
97 77 Alex Afanasyev
* [[ndn-cxx:NDN Team License Boilerplate (ndn-cxx)]]
98 2
* [[nlsr:NDN Team License Boilerplate (NLSR)]]
99 123 Junxiao Shi
* [ndnSIM](https://ndnsim.net/)