log
{
}

face_system
{
  unix
  {
    listen yes
    path /var/run/nfd.sock
  }

  tcp
  {
    listen yes
    port 6363
  }

  udp
  {
    port 6363
    idle_timeout 600
    keep_alive_interval 25

    mcast no ; Turn off UDP multicast.
  }

  ether
  {
    mcast no ; Turn off Ethernet multicast.
  }
}

authorizations
{
  authorize
  {
    certfile keys/default.ndncert
    privileges
    {
      faces
      fib
      strategy-choice
    }
  }
}
