# nfd.conf
#
# NDN Forwarding Daemon

description "NDN forwarding daemon"
author      "Alexander Afanasyev <alexander.afanasyev@ucla.edu>"

start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]

respawn
respawn limit unlimited

env HOME=/var/lib/ndn/nfd
export HOME

exec /usr/bin/nfd --config /etc/ndn/nfd.conf 2>> /var/log/ndn/nfd.log

post-start script
  if [ -f /etc/ndn/nfd-init.sh ]; then
      sleep 2 # post-start is executed just after nfd process starts, but there is no guarantee
              # that all initialization has been finished
      . /etc/ndn/nfd-init.sh
  fi
end script

post-stop exec sleep 2

# The following option is useful, but not supported on Ubuntu 12.04
# reload signal SIGHUP
