nfdc-route
==========

SYNOPSIS
--------
| nfdc route [list [[nexthop] <FACEID|FACEURI>] [origin <ORIGIN>]]
| nfdc route show [prefix] <PREFIX>
| nfdc route add [prefix] <PREFIX> [nexthop] <FACEID|FACEURI> [origin <ORIGIN>]
|                [cost <COST>] [no-inherit] [capture] [expires <EXPIRATION-MILLIS>]
| nfdc route remove [prefix] <PREFIX> [nexthop] <FACEID|FACEURI> [origin <ORIGIN>]
| nfdc fib [list]

DESCRIPTION
-----------
In NFD, the routing information base (RIB) stores static or dynamic routing information
registered by applications, operators, and NFD itself.
Each *route* in the RIB indicates that contents under a name prefix may be available via a nexthop.
A route contains a name prefix, a nexthop face, the origin, a cost, and a set of route inheritance flags;
refer to NFD Management protocol for more information.

The **nfdc route list** command lists RIB routes, optionally filtered by nexthop and origin.

The **nfdc route show** command shows RIB routes at a specified name prefix.

The **nfdc route add** command requests to add a route.
If a route with the same prefix, nexthop, and origin already exists,
it is updated with the specified cost, route inheritance flags, and expiration period.
This command returns when the request has been accepted, but does not wait for RIB update completion.
If no face matching the specified URI is found, nfdc will attempt to implicitly create a face with
this URI before adding the route.

The **nfdc route remove** command removes a route with matching prefix, nexthop, and origin.

The **nfdc fib list** command shows the forwarding information base (FIB),
which is calculated from RIB routes and used directly by NFD forwarding.

OPTIONS
-------
<PREFIX>
    Name prefix of the route.

<FACEID>
    Numerical identifier of the face.
    It is displayed in the output of **nfdc face list** and **nfdc face create** commands.

<FACEURI>
    An URI representing the remote endpoint of a face.
    In **nfdc route add** command, it must uniquely match an existing face.
    In **nfdc route remove** command, it must match one or more existing faces.

<ORIGIN>
    Origin of the route, i.e. who is announcing the route.
    The default is 255, indicating a static route.

<COST>
    The administrative cost of the route.
    The default is 0.

no-inherit
    Unset CHILD_INHERIT flag in the route.

capture
    Set CAPTURE flag in the route.

<EXPIRATION-MILLIS>
    Expiration time of the route, in milliseconds.
    When the route expires, NFD removes it from the RIB.
    The default is infinite, which keeps the route active until the nexthop face is destroyed.

EXIT CODES
----------
0: Success

1: An unspecified error occurred

2: Malformed command line

3: Face not found

4: FaceUri canonization failed

5: Ambiguous: multiple matching faces are found (**nfdc route add** only)

6: Route not found (**nfdc route list** and **nfdc route show** only)

EXAMPLES
--------
nfdc route list
    List all routes.

nfdc route list nexthop 300
    List routes whose nexthop is face 300.

nfdc route list origin static
    List static routes.

nfdc route show prefix /localhost/nfd
    List routes with name prefix "/localhost/nfd".

nfdc route add prefix /ndn nexthop 300 cost 100
    Add a route with prefix "/ndn" toward face 300, with administrative cost 100.

nfdc route add prefix / nexthop udp://router.example.net
    Add a route with prefix "/" toward a face with the specified remote FaceUri.

nfdc route remove prefix /ndn nexthop 300 origin static
    Remove the route whose prefix is "/ndn", nexthop is face 300, and origin is "static".

SEE ALSO
--------
nfd(1), nfdc(1)
