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 --sysconfdir ## 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 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*