YaNFD

module
v0.0.0-...-d9b08a0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2021 License: MIT

README

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.16+, although it may be possible to use older versions of Go. Go will handle the installation of all other prerequisites.

YaNFD has been developed and tested on Linux (namely, Ubuntu). However, we have designed it with support for Windows, macOS, and BSD in mind. We have received reports that YaNFD operates properly on Windows (with minor changes -- see below) and macOS, but this has not been evaluated by the developers.

Keep in mind that the build scripts mentioned below will not work for Windows and, currently, one must build and install YaNFD manually on that platform.

Building and Installing

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, please run the go build command in the Makefile manually. At the moment, you will need to manually install the executable (yanfd.exe) and the configuration file (yanfd.toml.sample) to a location of your choice.

Configuration

YaNFD's configuration is split into two components: startup configuration and runtime configuration. Startup configuration sets default ports, queue sizes, logging levels, and other important options. Meanwhile, runtime configuration is used to create NDN faces, set routes and strategies, and other related tasks.

Startup configuration

Startup configuration for YaNFD is performed via a TOML file, by default read from /usr/local/etc/ndn/yanfd.toml on Unix-like systems. Note that you will need to copy the sample config file installed to /usr/local/etc/ndn/yanfd.toml.sample to this location before running YaNFD for the first time. The configuration options are documented via comments in the sample file.

On Windows, at this time, you will need to specify the location of the configuration file manually when starting YaNFD via the --config argument.

Runtime configuration

Runtime configuration is performed via the NFD Management Protocol. At the moment, this requires the installation of the NFD package to obtain the nfdc configuration utility. YaNFD supports the majority of this management protocol, but some features are currently unsupported, such as ContentStore management.

Running

To run YaNFD, run the yanfd (or yanfd.exe) executable. To view a list of available options, specify the --help argument.

After starting YaNFD, you can treat it like NFD from an application and configuration perspective.

Directories

Path Synopsis
cmd
ndn
tlv

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL