diff --git a/docs/manpages/nfdc.rst b/docs/manpages/nfdc.rst
new file mode 100644
index 0000000..c2006c1
--- /dev/null
+++ b/docs/manpages/nfdc.rst
@@ -0,0 +1,179 @@
+nfdc
+====
+
+Usage
+-----
+
+::
+
+    nfdc [-h] COMMAND [<command options>]
+
+
+Description
+-----------
+
+``nfdc`` is a tool to manipulate routing information base (RIB), forwarding information
+base (FIB), and StrategyChoices table (i.e., which strategy should be used by which
+namespaces).
+
+Options
+-------
+
+``-h``
+  Print usage information.
+
+``COMMAND``
+
+  ``register``
+    Register a new or update existing routing entry in Routing Information Base (RIB).
+
+    ``register [-I] [-C] [-c <cost>] <prefix> <faceId | faceUri>``
+
+      ``-I``
+        Unset CHILD_INHERIT flag from the routing entry.
+
+      ``-C``
+        Set CAPTURE flag in the routing entry.
+
+      ``-c <cost>``
+        Cost for the RIB entry (default is 0).
+
+      ``prefix``
+        A prefix of an existing or to be created RIB entry, for which routing entry is
+        requested to be added or updated.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+      ``faceUri``
+        URI of the existing or to be created Face.
+
+  ``unregister``
+    Unregister an existing routing entry from Routing Information Base (RIB).
+
+    ``unregister <prefix> <faceId>``
+
+      ``prefix``
+        A prefix of an existing RIB entry, from which routing entry is requested to be
+        removed.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+  ``create``
+    Create a UDP unicast or TCP Face
+
+    ``create <faceUri>``
+
+      ``faceUri``
+        UDP unicast or TCP Face URI::
+
+            UDP unicast:    udp[4|6]://<remote-IP-or-host>[:<remote-port>]
+            TCP:            tcp[4|6]://<remote-IP-or-host>[:<remote-port>]
+
+  ``destroy``
+    Create an existing UDP unicast or TCP Face.
+
+    ``destroy <faceId | faceUri>``
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+      ``faceUri``
+        UDP unicast or TCP Face URI::
+
+            UDP unicast:    udp[4|6]://<remote-IP-or-host>[:<remote-port>]
+            TCP:            tcp[4|6]://<remote-IP-or-host>[:<remote-port>]
+
+  ``set-strategy``
+    Select strategy to be used for the specified namespace
+
+    ``set-strategy <namespace> <strategy-name>``
+
+      ``namespace``
+        Namespace that will use the specified strategy.
+
+        Note that more specific namespace(s) can use different strategy or strategies.
+        For example, if namespace ``/A/B/C`` was using strategy
+        ``ndn:/localhost/nfd/strategy/best-route`` before running ``set-strategy`` on
+        ``/A`` namespace, it will continue using the same strategy no matter which
+        namespace was specified for ``/A``.
+
+      ``strategy-name``
+        Name of one of the available strategies.
+
+        Currently, NFD supports the following strategies::
+
+            ndn:/localhost/nfd/strategy/best-route
+            ndn:/localhost/nfd/strategy/broadcast
+            ndn:/localhost/nfd/strategy/client-control
+            ndn:/localhost/nfd/strategy/ncc
+
+  ``unset-strategy``
+    Unset the strategy for a given ``namespace``.
+
+    Effectively, this command select parent's namespace strategy to be used for the
+    specified ``namespace``.
+
+    ``unset-strategy <namespace>``
+
+      ``namespace``
+        Namespace from which namespace customization should be removed.
+
+  ``add-nexthop``
+    Directly add nexthop entry info NFD's Forwarding Information Base (FIB).  This command
+    is intended only for debugging purposes.  Normally, prefix-nexhop association should
+    be registered in Routing Information Base using ``register`` command.
+
+    ``add-nexthop [-c <cost>] <prefix> <faceId | faceUri>``
+
+      ``-c <cost>``
+        Cost for the nexthop entry to be inserted (default is 0).
+
+      ``prefix``
+        A prefix of an existing or to be created FIB entry, to which nexthop
+        entry is requested to be added.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command
+
+      ``faceUri``
+        URI of the existing or to be created Face.
+
+  ``remove-nexthop``
+    Directly remove nexthop entry from NFD'S FIB.  This command
+    is intended only for debugging purposes.  Normally, prefix-nexhop association should
+    be unregistered from Routing Information Base using ``unregister`` command.
+
+    ``remove-nexthop <prefix> <faceId>``
+
+      ``prefix``
+        A prefix of an existing FIB entry, from which nexthop entry is requested to be removed.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+        Note that when ``faceId`` is the last Face associated with ``prefix`` FIB entry,
+        the whole FIB entry will be removed.
+
+
+
+Examples
+--------
+
+Add a namespace to a face uri:
+
+::
+
+    nfdc register ndn:/app1/video udp://192.168.1.2
+
+Set strategy to a name:
+
+::
+
+    nfdc set-strategy ndn:/app1/video ndn:/localhost/nfd/strategy/broadcast
