blob: c6fb3b897bdd1947187ddb8eb061b8ebbe48099a [file] [log] [blame]
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>] [-e expiration time] [-o origin] <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).
``-e <expiration time>``
Expiration time of the RIB entry in milliseconds. If not specified, the entry remains in FIB
for the lifetime of the associated face.
``-o <origin>``
Origin of the registration request (default is 255).
0 for Local producer applications, 128 for NLSR, 255 for static routes.
``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 [-o origin] <prefix> <faceId>``
``-o <origin>``
Origin of the unregistration request (default is 255).
``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 [-P] <faceUri>``
``-P``
create permanent (instead of persistent) face:
.. note::
Persistent (default) faces remain open until they are explicitly destroyed or
there is a transport failure. Permanent faces remain open until they are
explicitly destroyed; any transport failures will be recovered internally.
``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/multicast
ndn:/localhost/nfd/strategy/client-control
ndn:/localhost/nfd/strategy/ncc
ndn:/localhost/nfd/strategy/access
``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.
Exit Codes
----------
0: Success
1: An unspecified error occurred
2: Malformed command line
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