nfdc-face
=========

SYNOPSIS
--------
| nfdc face [list]
| nfdc face show <FACEID>
| nfdc face create [remote] <FACEURI> [[persistency] <PERSISTENCY>]
| nfdc destroy <FACEID|FACEURI>
| nfdc channel [list]

DESCRIPTION
-----------
In NFD, a face is the generalization of network interface.
It could be a physical network interface to communicate on a physical link,
an overlay communication channel between NFD and a remote node,
or an inter-process communication channel between NFD and a local application.

The **nfdc face list** command shows a list of faces, their properties, and statistics.

The **nfdc face show** command shows properties and statistics of one specific face.

The **nfdc face create** command creates a unicast UDP or TCP face.

The **nfdc destroy** command destroys an existing face.
It has no effect if the specified face does not exist.

The **nfdc channel list** command shows a list of channels.
Channels are listening sockets that can accept incoming connections and create new faces.

OPTIONS
-------
<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.
    Its syntax is:

    - udp[4|6]://<IP-or-host>[:<port>]
    - tcp[4|6]://<IP-or-host>[:<port>]

    When a hostname is specified, a DNS query is used to obtain the IP address.

<PERSISTENCY>
    Either "persistent" or "permanent".
    A "persistent" face (the default) is closed when a socket error occurs.
    A "permanent" face survives socket errors, and is closed only with a **nfdc destroy** command.

EXIT CODES
----------

0: Success

1: An unspecified error occurred

2: Malformed command line

3: Face not found (**nfdc face show** only)

4: FaceUri canonization failed (**nfdc face create** only)

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