nfd

Named Data Networking Forwarding Daemon

https://github.com/named-data/nfd

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    26 of 53 committers (49.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.4%) to scientific vocabulary

Keywords

cpp forwarding ndn networking packet-forwarder router
Last synced: 6 months ago · JSON representation ·

Repository

Named Data Networking Forwarding Daemon

Basic Info
Statistics
  • Stars: 184
  • Watchers: 27
  • Forks: 156
  • Open Issues: 0
  • Releases: 1
Topics
cpp forwarding ndn networking packet-forwarder router
Created about 12 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation Authors

README-dev.md

Notes for NFD developers

If you are new to the NDN software community, please read our Contributor's Guide.

Code style

NFD code is subject to NFD code style.

Licensing

Contributions to NFD must be licensed under the GPL v3 or a compatible license. If you choose the GPL v3, please use the following license boilerplate in all .hpp and .cpp files:

cpp /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ /* * Copyright (c) [Year(s)], [Copyright Holder(s)]. * * This file is part of NFD (Named Data Networking Forwarding Daemon). * See AUTHORS.md for complete list of NFD authors and contributors. * * NFD is free software: you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Foundation, * either version 3 of the License, or (at your option) any later version. * * NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>. */

If you are affiliated to an NSF-supported NDN project institution, please use the NDN Team License Boilerplate.

Logging

Fine-grained per-module logging can be configured via the NDN_LOG environment variable. This is especially useful when running unit tests or tools such as nfdc that do not have a configuration file. See ndn-log(7) manual page for syntax and examples.

Unit tests

To run the unit tests, NFD needs to be configured and built with unit test support:

shell ./waf configure --with-tests # --debug is also strongly recommended while developing ./waf

The simplest way to run the tests is to launch the compiled binary without any parameters:

```shell

Run core tests

./build/unit-tests-core

Run NFD daemon tests

./build/unit-tests-daemon

Run tools tests (e.g., nfdc)

./build/unit-tests-tools ```

The Boost.Test framework is very flexible and allows a number of run-time customization of what tests should be run. For example, it is possible to choose to run only a specific test suite, only a specific test case within a suite, specific test cases across multiple test suites, and so on:

```shell

Run only the PIT tests inside the Table test suite of NFD daemon tests

./build/unit-tests-daemon -t Table/TestPit

Run only the test case "Find" from the previous test suite

./build/unit-tests-daemon -t Table/TestPit/Find

Run the "Basic" test case from all NFD RIB test suites

./build/unit-tests-daemon -t Rib/*/Basic ```

By default, Boost.Test framework will produce verbose output only when a test case fails. If it is desired to see verbose output (result of each test assertion), add -l all option to ./build/unit-tests command. To see test progress, you can use -l test_suite, or -p to show a progress bar:

```shell

Show report all log messages including the passed test notification

./build/unit-tests-daemon -l all

Show test suite messages

./build/unit-tests-daemon -l test_suite

Show nothing

./build/unit-tests-daemon -l nothing

Show progress bar

./build/unit-tests-tools -p ```

There are many more command line options available, information about which can be obtained either from the command line using the --help switch, or online on the Boost.Test website.

Owner

  • Name: Named Data Networking
  • Login: named-data
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use NFD in your research, please cite it as below.
license: GPL-3.0-or-later
repository-code: "https://github.com/named-data/NFD"
title: Named Data Networking Forwarding Daemon
url: "https://docs.named-data.net/NFD/"
preferred-citation:
  authors:
    - name: Named Data Networking Project Team
  date-published: "2021-07-30"
  journal: NDN Technical Report NDN-0021
  month: 7
  title: NFD Developer's Guide
  type: generic
  url: "https://named-data.net/publications/techreports/ndn-0021-11-nfd-guide/"
  version: 11
  year: 2021

GitHub Events

Total
  • Watch event: 11
  • Push event: 20
  • Pull request event: 1
  • Fork event: 6
  • Commit comment event: 3
Last Year
  • Watch event: 11
  • Push event: 20
  • Pull request event: 1
  • Fork event: 6
  • Commit comment event: 3

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 1,447
  • Total Committers: 53
  • Avg Commits per committer: 27.302
  • Development Distribution Score (DDS): 0.694
Top Committers
Name Email Commits
Junxiao Shi g****t@m****m 443
Davide Pesavento d****a@g****m 320
Alexander Afanasyev aa@c****u 290
Steve DiBenedetto d****e@c****u 56
Eric Newberry e****y@e****u 51
Vince Lehman v****n@m****u 23
Teng Liang p****1@g****m 22
Chengyu Fan c****n@g****m 22
Yanbiao Li l****9@g****m 21
Eric Newberry e****y@c****u 19
Weiwei Liu s****0@g****m 12
Hila Ben Abraham h****a@g****m 12
Ashlesh Gawande a****e@m****u 12
Md Ashiqur Rahman m****n@e****u 12
Obaid s****n@m****u 11
Ju Pan j****4@g****m 10
Wentao Shang w****g@g****m 10
Nick Gordon n****n@m****u 9
Yukai Tu t****4@g****m 9
Haowei Yuan h****n@w****u 7
Minsheng Zhang j****5@g****m 6
Yingdi Yu y****i@g****m 6
Spyridon Mastorakis s****s@g****m 4
Joao Pereira j****a@g****m 4
Ilya Moiseenko i****o@u****u 4
Syed Obaid o****d@g****m 4
HangZhang h****g@g****m 4
Yumin Xia me@y****m 3
susmit s****t@c****u 3
Saurab Dulal s****l@m****u 3
and 23 more...

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • maxim-lobanov/setup-xcode v1 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite