blob: d9022afadeb425985c0b44bc4a40ad259a8c88b8 [file] [log] [blame]
Junxiao Shi6c135622016-11-21 14:30:33 +00001nfdc-face
2=========
3
Davide Pesavento543b1522024-06-25 17:00:32 -04004Synopsis
Junxiao Shi6c135622016-11-21 14:30:33 +00005--------
Junxiao Shi6c135622016-11-21 14:30:33 +00006
Davide Pesavento543b1522024-06-25 17:00:32 -04007| **nfdc face** [**list** [[**remote**] *FACEURI*] [**local** *FACEURI*] [**scheme** *SCHEME*]]
8| **nfdc face** **show** [**id**] *FACEID*
9| **nfdc face** **create** [**remote**] *FACEURI* [[**persistency**] *PERSISTENCY*] [**local** *FACEURI*]
10| [**mtu** *MTU*] [**reliability** **on**\|\ **off**] [**congestion-marking** **on**\|\ **off**]
11| [**congestion-marking-interval** *MARKING-INTERVAL*]
12| [**default-congestion-threshold** *CONGESTION-THRESHOLD*]
13| **nfdc face** **destroy** [**face**] *FACEID*\|\ *FACEURI*
14| **nfdc channel** [**list**]
15
16Description
Junxiao Shi6c135622016-11-21 14:30:33 +000017-----------
Davide Pesavento543b1522024-06-25 17:00:32 -040018
Junxiao Shi6c135622016-11-21 14:30:33 +000019In NFD, a face is the generalization of network interface.
20It could be a physical network interface to communicate on a physical link,
21an overlay communication channel between NFD and a remote node,
22or an inter-process communication channel between NFD and a local application.
23
Junxiao Shi0d976922017-04-01 14:35:21 +000024The **nfdc face list** command shows a list of faces, their properties, and statistics,
25optionally filtered by remote endpoint, local endpoint, and FaceUri scheme.
26When multiple filters are specified, returned faces must satisfy all filters.
Junxiao Shi6c135622016-11-21 14:30:33 +000027
Junxiao Shi1f481fa2017-01-26 15:14:43 +000028The **nfdc face show** command shows properties and statistics of one specific face.
29
Junxiao Shi0d976922017-04-01 14:35:21 +000030The **nfdc face create** command creates a UDP unicast, TCP, or Ethernet unicast face.
Eric Newberry13ff2592020-03-06 17:32:29 -080031If the face already exists, the specified arguments will be used to update its properties, if
32possible.
Junxiao Shi0d976922017-04-01 14:35:21 +000033Local FaceUri is required for creating Ethernet unicast faces; otherwise it must be omitted.
Eric Newberry84d3adc2017-08-09 23:31:40 -040034The NDNLPv2 unicast reliability feature may be explicitly enabled by specifying **reliability on**
35or explicitly disabled by specifying **reliability off**.
36If enabled, this feature must also be enabled on the other endpoint to function properly.
Eric Newberryde332452018-01-30 11:45:32 -070037Reliability is disabled by default.
38The send queue congestion detection and signaling feature may be explicitly enabled by specifying
39**congestion-marking on** or explicitly disabled by specifying **congestion-marking off**.
Eric Newberry17d18492018-02-10 22:50:06 -070040Congestion marking is enabled by default on TCP, UDP, and Unix stream faces and is disabled by
41default on all other face types.
Eric Newberryde332452018-01-30 11:45:32 -070042Parameters for this feature can set with the **congestion-marking-interval** option (specified in
43milliseconds) and the **default-congestion-threshold** option (specified in bytes).
Eric Newberry13ff2592020-03-06 17:32:29 -080044The effective MTUs of unicast Ethernet and UDP faces may be overridden using the **mtu** parameter
45(specified in bytes).
46The forwarder may limit the range of this override MTU and will use the minimum of it and the MTU
47of the underlying Ethernet or UDP transport.
Junxiao Shi6c135622016-11-21 14:30:33 +000048
Junxiao Shi05dd4442017-02-06 22:50:07 +000049The **nfdc face destroy** command destroys an existing face.
Junxiao Shi6c135622016-11-21 14:30:33 +000050
Junxiao Shi1d7fef52017-02-02 05:33:14 +000051The **nfdc channel list** command shows a list of channels.
52Channels are listening sockets that can accept incoming connections and create new faces.
53
Davide Pesavento543b1522024-06-25 17:00:32 -040054Options
Junxiao Shi6c135622016-11-21 14:30:33 +000055-------
Davide Pesavento543b1522024-06-25 17:00:32 -040056
57.. option:: <FACEID>
58
Junxiao Shi1f481fa2017-01-26 15:14:43 +000059 Numerical identifier of the face.
Junxiao Shi1d7fef52017-02-02 05:33:14 +000060 It is displayed in the output of **nfdc face list** and **nfdc face create** commands.
Junxiao Shi1f481fa2017-01-26 15:14:43 +000061
Davide Pesavento543b1522024-06-25 17:00:32 -040062.. option:: <FACEURI>
63
Junxiao Shi0d976922017-04-01 14:35:21 +000064 A URI representing the remote or local endpoint of a face.
65 Examples:
Junxiao Shi6c135622016-11-21 14:30:33 +000066
Junxiao Shi0d976922017-04-01 14:35:21 +000067 - udp4://192.0.2.1:6363
68 - udp6://[2001:db8::1]:6363
69 - udp://example.net
70 - tcp4://192.0.2.1:6363
71 - tcp6://[2001:db8::1]:6363
72 - tcp://example.net
Davide Pesavento4c957712024-01-01 15:40:06 -050073 - unix:///run/nfd/nfd.sock
Junxiao Shi0d976922017-04-01 14:35:21 +000074 - fd://6
75 - ether://[08:00:27:01:01:01]
76 - dev://eth0
Junxiao Shi6c135622016-11-21 14:30:33 +000077
Davide Pesavento543b1522024-06-25 17:00:32 -040078 See the `FaceUri section <https://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#FaceUri>`__
79 of the NFD Face Management protocol for more details on the syntax.
80 If a hostname is specified, :program:`nfdc` will perform a DNS resolution to obtain the
81 corresponding IP address.
Junxiao Shi6c135622016-11-21 14:30:33 +000082
Davide Pesavento543b1522024-06-25 17:00:32 -040083.. option:: <SCHEME>
84
Junxiao Shi0d976922017-04-01 14:35:21 +000085 The scheme portion of either remote or local endpoint.
86 Examples:
87
88 - udp4
89 - unix
90 - dev
91
Davide Pesavento543b1522024-06-25 17:00:32 -040092.. option:: <PERSISTENCY>
93
Junxiao Shi1d7fef52017-02-02 05:33:14 +000094 Either "persistent" or "permanent".
95 A "persistent" face (the default) is closed when a socket error occurs.
96 A "permanent" face survives socket errors, and is closed only with a **nfdc destroy** command.
97
Davide Pesavento543b1522024-06-25 17:00:32 -040098.. option:: <MTU>
Eric Newberryde332452018-01-30 11:45:32 -070099
Eric Newberry13ff2592020-03-06 17:32:29 -0800100 The MTU used to override the MTU of the underlying transport on Ethernet and UDP faces.
101 This MTU serves as an upper bound for the MTU provided by the transport.
102 The range of acceptable values may be limited by the forwarder.
103 To unset this override, specify the MTU as "auto".
104
Davide Pesavento543b1522024-06-25 17:00:32 -0400105.. option:: <MARKING-INTERVAL>
Junxiao Shi1f481fa2017-01-26 15:14:43 +0000106
Davide Pesavento543b1522024-06-25 17:00:32 -0400107 The initial marking interval (in milliseconds) during an incident of congestion.
Junxiao Shi1f481fa2017-01-26 15:14:43 +0000108
Davide Pesavento543b1522024-06-25 17:00:32 -0400109.. option:: <CONGESTION-THRESHOLD>
Junxiao Shi1f481fa2017-01-26 15:14:43 +0000110
Davide Pesavento543b1522024-06-25 17:00:32 -0400111 This value serves two purposes:
112 It is the maximum bound of the congestion threshold for the face, as well as the default
113 threshold used if the face does not support retrieving the capacity of the send queue.
Junxiao Shi6c135622016-11-21 14:30:33 +0000114
Davide Pesavento543b1522024-06-25 17:00:32 -0400115Exit Status
116-----------
Junxiao Shi05dd4442017-02-06 22:50:07 +0000117
Davide Pesavento543b1522024-06-25 17:00:32 -04001180
119 Success.
Junxiao Shi1d7fef52017-02-02 05:33:14 +0000120
Davide Pesavento543b1522024-06-25 17:00:32 -04001211
122 An unspecified error occurred.
123
1242
125 Malformed command line.
126
1273
128 Face not found (**nfdc face show** and **nfdc face destroy** only).
129
1304
131 FaceUri canonization failed (**nfdc face create** and **nfdc face destroy** only).
132
1335
134 Ambiguous: multiple matching faces are found (**nfdc face destroy** only).
135
136Examples
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000137--------
Davide Pesavento543b1522024-06-25 17:00:32 -0400138
139``nfdc face list``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000140 List all faces.
141
Davide Pesavento543b1522024-06-25 17:00:32 -0400142``nfdc face list scheme udp4``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000143 List all UDP-over-IPv4 faces.
144
Davide Pesavento543b1522024-06-25 17:00:32 -0400145``nfdc face show id 300``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000146 Show information about the face whose FaceId is 300.
147
Davide Pesavento543b1522024-06-25 17:00:32 -0400148``nfdc face create remote udp://router.example.net``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000149 Create a face with the specified remote FaceUri, keeping all other settings at their defaults.
150
Davide Pesavento543b1522024-06-25 17:00:32 -0400151``nfdc face create remote ether://[08:00:27:01:01:01] local dev://eth2 persistency permanent``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000152 Create a face with the specified remote FaceUri, local FaceUri, and persistency.
153
Davide Pesavento543b1522024-06-25 17:00:32 -0400154``nfdc face create remote udp://router.example.net reliability on``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000155 Create a face with the specified remote FaceUri and enable NDNLP reliability.
156
Davide Pesavento543b1522024-06-25 17:00:32 -0400157``nfdc face create remote udp://router.example.net congestion-marking-interval 100 default-congestion-threshold 65536``
Eric Newberry17d18492018-02-10 22:50:06 -0700158 Create a face with the specified remote FaceUri. Set the base congestion marking interval to
159 100 ms and the default congestion threshold to 65536 bytes.
160
Davide Pesavento543b1522024-06-25 17:00:32 -0400161``nfdc face create remote udp://router.example.net congestion-marking off``
Eric Newberry17d18492018-02-10 22:50:06 -0700162 Create a face with the specified remote FaceUri and explicitly disable congestion marking.
Eric Newberryde332452018-01-30 11:45:32 -0700163
Davide Pesavento543b1522024-06-25 17:00:32 -0400164``nfdc face create remote udp://router.example.net mtu 4000``
Eric Newberry13ff2592020-03-06 17:32:29 -0800165 Create a face with the specified remote FaceUri and set the override MTU to 4000 bytes.
Eric Newberry4f8dd962018-06-17 21:32:07 -0700166
Davide Pesavento543b1522024-06-25 17:00:32 -0400167``nfdc face destroy 300``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000168 Destroy the face whose FaceId is 300.
169
Davide Pesavento543b1522024-06-25 17:00:32 -0400170``nfdc face destroy udp4://192.0.2.1:6363``
Junxiao Shi0e13e1e2018-01-22 08:29:12 +0000171 Destroy the face whose remote FaceUri is "udp4://192.0.2.1:6363".
172
Davide Pesavento543b1522024-06-25 17:00:32 -0400173See Also
Junxiao Shi6c135622016-11-21 14:30:33 +0000174--------
Davide Pesavento543b1522024-06-25 17:00:32 -0400175
176:manpage:`nfdc(1)`