YaNFD - Yet another Named Data Networking Forwarding Daemon
YaNFD is a forwarding daemon for the Named Data Networking platform written in Go.
It is compatible with existing NDN applications and utilizes the management tools and protocols developed for the NFD forwarder.
Prerequisites
YaNFD requires Go 1.23 or later.
YaNFD has been developed and tested on Linux.
However, we have designed it with support for Windows, macOS, and BSD in mind.
We have received reports that YaNFD operates properly on Windows and macOS; this has not been evaluated by the developers.
Usage
Install the YaNFD binary with the following command:
go install github.com/named-data/ndnd/fw/cmd/yanfd@latest
To run YaNFD, run the yanfd (or yanfd.exe) executable.
To view a list of available options, specify the -help argument.
Configuration
YaNFD's configuration has two components.
Startup configuration sets default ports, queue sizes, logging levels, and other important options.
Runtime configuration is used to create NDN faces, set routes and strategies, and other related tasks.
Startup configuration for YaNFD is performed via a YAML file.
A sample configuration file is provided at yanfd.sample.yml.
The configuration file location is specified as the first CLI argument when starting YaNFD.
yanfd /etc/ndn/yanfd.yml
Runtime configuration is performed via the NFD Management Protocol.
Building from source
Linux, macOS, BSD
To build and install YaNFD on Unix-like platforms, run:
make
sudo make install
Windows
To build and install YaNFD on Windows, run the go build command in the Makefile manually:
go build github.com/named-data/ndnd/fw/cmd/yanfd
Publications