docs: Documentation update for 0.1.0 release
Change-Id: I5d7c0f3b4242103d6ad4e864316fb50c3634f21b
diff --git a/docs/FAQ.rst b/docs/FAQ.rst
new file mode 100644
index 0000000..6004e85
--- /dev/null
+++ b/docs/FAQ.rst
@@ -0,0 +1,231 @@
+FAQ
+===
+
+How to change default paths?
+----------------------------
+
+Paths to where NFD is installed can be configured during ``./waf
+configure``:
+
+- Installation prefix (default ``/usr/local``):
+
+ ::
+
+ ./waf configure --prefix=/usr
+
+- Location of NFD configuration file (default: ``${prefix}/etc``):
+
+ ::
+
+ ./waf configure --prefix=/usr --sysconfdir=/etc
+
+- Location of manpages (default: ``${prefix}/share/man``)
+
+ ::
+
+ ./waf configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man
+
+How to run NFD on Raspberry Pi?
+-------------------------------
+
+To run NFD on the Raspberry Pi, you need to either enable IPv6 support
+in Raspberry Pi or disable IPv6 support in NFD.
+
+To enable IPv6 in Raspberry Pi:
+
+::
+
+ sudo modprobe ipv6
+
+To disable IPv6 in NFD, replace ``enable_v6 yes`` with ``enable_v6 no``
+in ``tcp`` and ``udp`` sections of ``/usr/local/etc/ndn/nfd.conf``:
+
+::
+
+ ...
+ tcp
+ {
+ listen yes
+ port 6363
+ enable_v4 yes
+ enable_v6 no
+ }
+
+ udp
+ {
+ port 6363
+ enable_v4 yes
+ enable_v6 no
+ idle_timeout 600
+ keep_alive_interval 25
+
+ mcast yes
+ mcast_port 56363
+ mcast_group 224.0.23.170
+ }
+ ...
+
+
+How to run NFD as non-root user?
+--------------------------------
+
+
+How to enable 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*
+
+How to enable UDP multicast support in multi-homed Linux machines
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+The UDP configuration file section contains settings for unicast and multicast UDP
+faces. If the Linux box is equipped with multiple network interfaces with multicast
+capabilities, the settings for multicast faces will **NOT** work without root
+or setting the appropriate permissions:
+
+::
+
+ sudo setcap cap_net_raw=eip /full/path/nfd
+
+.. _How to configure NFD security:
+
+How to configure NFD security?
+------------------------------
+
+.. note:: Sample configuration file of NFD allow any user to manage faces, FIB, RIB, and
+ StrategyChoice. The following description can be used to restrict certain operations
+ to certain users.
+
+ More extensive documentation about NFD's security and options to configure trust model
+ for NFD is currently in preparation.
+
+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
+
+.. _How to start using NDN MacPorts repository on OSX:
+
+How to start using NDN MacPorts repository on OSX?
+--------------------------------------------------
+
+OSX users have an opportunity to seamlessly install and run NFD and other related
+applications via `MacPorts <https://www.macports.org/>`_. If you are not using MacPorts
+yet, go to `MacPorts website <https://www.macports.org/install.php>`_ and download and
+install the MacPorts package.
+
+NFD and related ports are not part of the official MacPorts repository and in order to use
+it, you need to add NDN MacPorts repository to the local configuration. In particular,
+you will need to modify the list of source URLs for MacPorts. For example, if your
+MacPorts are installed in ``/opt/local``, add the following line
+`/opt/local/etc/macports/sources.conf` before or after the default port repository:
+
+::
+
+ rsync://macports.named-data.net/macports/
+
+After this step, you can use ``sudo port selfupdate`` to fetch updated port definitions.
+
+The following command will install NFD using MacPorts:
+
+::
+
+ sudo port install nfd
+
+.. note::
+ You have to have XCode installed on your machine. For latest versions of OSX (Lion or
+ Mountain Lion) you can install it from AppStore for free, for older versions you have to
+ go to developer.apple.com and download old version of XCode that is appropriate for your
+ system.
+
+
+One of the advantages of using MacPorts is that you can easily upgrade NFD and other
+packages to the most recent version available. The following commands will do this job:
+
+::
+
+ sudo port selfupdate
+ sudo port upgrade nfd
+
+.. _How to start using NDN PPA repository on Ubuntu Linux:
+
+How to start using NDN PPA repository on Ubuntu Linux?
+------------------------------------------------------
+
+NFD binaries and related tools for Ubuntu 12.04, 13.10, and 14.04 can be installed using
+PPA packages from named-data repository. First, you will need to add ``named-data/ppa``
+repository to binary package sources and update list of available packages:
+
+::
+
+ sudo add-apt-repository ppa:named-data/ppa
+
+ # if you do not have add-apt-repository command installed:
+ sudo apt-get install python-software-properties
+ sudo apt-get update
+
+After that, NFD can be easily installed in a standard way, i.e., either using ``apt-get`` as shown
+below or using any other package manager (e.g., Synaptic Package Manager):
+
+::
+
+ sudo apt-get install nfd
+
+For the list of available packages, refer to `NDN PPA repository
+<https://launchpad.net/~named-data/+archive/ppa>`_.