refs #1199 Change-Id: Idf2181dde857970f026e8147b60d09dea45007a1
NFD - Named Data Networking Forwarding Daemon
Default Paths
This README uses SYSCONFDIR when referring to the default locations of
various NFD configuration files. By default, SYSCONFDIR is set to
/usr/local/etc. If you override PREFIX, then SYSCONFDIR will
default to PREFIX/etc.
You may override SYSCONFDIR and PREFIX by specifying their
corresponding options during installation:
./waf install --prefix <path/for/prefix> --sysconfdir <some/other/path>
Running and Configuring NFD
NFD's runtime settings may be modified via configuration file. After
installation, a working sample configuration is provided at
SYSCONFDIR/ndn/nfd.conf.sample. At startup, NFD will attempt to
read the default configuration file location:
SYSCONFDIR/ndn/nfd.conf.
You may also specify an alternative configuration file location by running NFD with:
nfd --config </path/to/nfd.conf>
Once again, note that you may simply copy or rename the provided sample configuration and have an almost fully configured NFD. However, this NFD will be unable to add FIB entries or perform other typical operation tasks until you authorize an NDN certificate with the appropriate privileges.
Installing an NDN Certificate for Command Authentication
Many NFD management protocols require signed commands to be processed (e.g. FIB modification, Face creation/destructions, etc.). You will need an NDN certificate to use any application that issues signed commands.
If you do not already have NDN certificate, you can generate one with the following commands:
Generate and install a self-signed identity certificate:
ndnsec-keygen /`whoami` | ndnsec-install-cert -
Note that the argument to ndnsec-key will be the identity name of the
new key (in this case, /your-username). Identity names are
hierarchical NDN names and may have multiple components
(e.g. /ndn/ucla/edu/alice). You may create additional keys and
identities as you see fit.
Dump the NDN certificate to a file:
The following commands assume that you have not modified
PREFIX or SYSCONFDIR If you have, please substitute
/usr/local/etc for the appropriate value (the overriden
SYSCONFDIR or PREFIX/etc if you changed PREFIX).
sudo mkdir -p /usr/local/etc/ndn/keys
ndnsec-cert-dump -i /`whoami` > default.ndncert
sudo mv default.ndncert /usr/local/etc/ndn/keys/default.ndncert
Running NFD with Ethernet Face Support
The ether configuration file section contains settings for Ethernet faces and channels. These settings will NOT work without root or setting the appropriate permissions:
sudo setcap cap_net_raw,cap_net_admin=eip /full/path/nfd
You may need to install a package to use setcap:
Ubuntu:
sudo apt-get install libcap2-bin
Mac OS X:
curl https://bugs.wireshark.org/bugzilla/attachment.cgi?id=3373 -o ChmodBPF.tar.gz
tar zxvf ChmodBPF.tar.gz
open ChmodBPF/Install\ ChmodBPF.app
or manually:
sudo chgrp admin /dev/bpf*
sudo chmod g+rw /dev/bpf*