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.
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.
Install the YaNFD binary with the following command:
go install github.com/named-data/ndnd/fw/cmd/yanfd@latestTo run YaNFD, run the yanfd (or yanfd.exe) executable.
To view a list of available options, specify the -help argument.
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.ymlRuntime configuration is performed via the NFD Management Protocol.
To build and install YaNFD on Unix-like platforms, run:
make
sudo make installTo 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- Eric Newberry, Xinyu Ma, and Lixia Zhang. 2021. YaNFD: Yet another named data networking forwarding daemon. In Proceedings of the 8th ACM Conference on Information-Centric Networking (ICN '21).