Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 1 | nfdc-face |
| 2 | ========= |
| 3 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 4 | Synopsis |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 5 | -------- |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 6 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 7 | | **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 | |
| 16 | Description |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 17 | ----------- |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 18 | |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 19 | In NFD, a face is the generalization of network interface. |
| 20 | It could be a physical network interface to communicate on a physical link, |
| 21 | an overlay communication channel between NFD and a remote node, |
| 22 | or an inter-process communication channel between NFD and a local application. |
| 23 | |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 24 | The **nfdc face list** command shows a list of faces, their properties, and statistics, |
| 25 | optionally filtered by remote endpoint, local endpoint, and FaceUri scheme. |
| 26 | When multiple filters are specified, returned faces must satisfy all filters. |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 27 | |
Junxiao Shi | 1f481fa | 2017-01-26 15:14:43 +0000 | [diff] [blame] | 28 | The **nfdc face show** command shows properties and statistics of one specific face. |
| 29 | |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 30 | The **nfdc face create** command creates a UDP unicast, TCP, or Ethernet unicast face. |
Eric Newberry | 13ff259 | 2020-03-06 17:32:29 -0800 | [diff] [blame] | 31 | If the face already exists, the specified arguments will be used to update its properties, if |
| 32 | possible. |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 33 | Local FaceUri is required for creating Ethernet unicast faces; otherwise it must be omitted. |
Eric Newberry | 84d3adc | 2017-08-09 23:31:40 -0400 | [diff] [blame] | 34 | The NDNLPv2 unicast reliability feature may be explicitly enabled by specifying **reliability on** |
| 35 | or explicitly disabled by specifying **reliability off**. |
| 36 | If enabled, this feature must also be enabled on the other endpoint to function properly. |
Eric Newberry | de33245 | 2018-01-30 11:45:32 -0700 | [diff] [blame] | 37 | Reliability is disabled by default. |
| 38 | The 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 Newberry | 17d1849 | 2018-02-10 22:50:06 -0700 | [diff] [blame] | 40 | Congestion marking is enabled by default on TCP, UDP, and Unix stream faces and is disabled by |
| 41 | default on all other face types. |
Eric Newberry | de33245 | 2018-01-30 11:45:32 -0700 | [diff] [blame] | 42 | Parameters for this feature can set with the **congestion-marking-interval** option (specified in |
| 43 | milliseconds) and the **default-congestion-threshold** option (specified in bytes). |
Eric Newberry | 13ff259 | 2020-03-06 17:32:29 -0800 | [diff] [blame] | 44 | The effective MTUs of unicast Ethernet and UDP faces may be overridden using the **mtu** parameter |
| 45 | (specified in bytes). |
| 46 | The forwarder may limit the range of this override MTU and will use the minimum of it and the MTU |
| 47 | of the underlying Ethernet or UDP transport. |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 48 | |
Junxiao Shi | 05dd444 | 2017-02-06 22:50:07 +0000 | [diff] [blame] | 49 | The **nfdc face destroy** command destroys an existing face. |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 50 | |
Junxiao Shi | 1d7fef5 | 2017-02-02 05:33:14 +0000 | [diff] [blame] | 51 | The **nfdc channel list** command shows a list of channels. |
| 52 | Channels are listening sockets that can accept incoming connections and create new faces. |
| 53 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 54 | Options |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 55 | ------- |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 56 | |
| 57 | .. option:: <FACEID> |
| 58 | |
Junxiao Shi | 1f481fa | 2017-01-26 15:14:43 +0000 | [diff] [blame] | 59 | Numerical identifier of the face. |
Junxiao Shi | 1d7fef5 | 2017-02-02 05:33:14 +0000 | [diff] [blame] | 60 | It is displayed in the output of **nfdc face list** and **nfdc face create** commands. |
Junxiao Shi | 1f481fa | 2017-01-26 15:14:43 +0000 | [diff] [blame] | 61 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 62 | .. option:: <FACEURI> |
| 63 | |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 64 | A URI representing the remote or local endpoint of a face. |
| 65 | Examples: |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 66 | |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 67 | - 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 Pesavento | 4c95771 | 2024-01-01 15:40:06 -0500 | [diff] [blame] | 73 | - unix:///run/nfd/nfd.sock |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 74 | - fd://6 |
| 75 | - ether://[08:00:27:01:01:01] |
| 76 | - dev://eth0 |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 77 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 78 | 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 Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 82 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 83 | .. option:: <SCHEME> |
| 84 | |
Junxiao Shi | 0d97692 | 2017-04-01 14:35:21 +0000 | [diff] [blame] | 85 | The scheme portion of either remote or local endpoint. |
| 86 | Examples: |
| 87 | |
| 88 | - udp4 |
| 89 | - unix |
| 90 | - dev |
| 91 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 92 | .. option:: <PERSISTENCY> |
| 93 | |
Junxiao Shi | 1d7fef5 | 2017-02-02 05:33:14 +0000 | [diff] [blame] | 94 | 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 Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 98 | .. option:: <MTU> |
Eric Newberry | de33245 | 2018-01-30 11:45:32 -0700 | [diff] [blame] | 99 | |
Eric Newberry | 13ff259 | 2020-03-06 17:32:29 -0800 | [diff] [blame] | 100 | 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 Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 105 | .. option:: <MARKING-INTERVAL> |
Junxiao Shi | 1f481fa | 2017-01-26 15:14:43 +0000 | [diff] [blame] | 106 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 107 | The initial marking interval (in milliseconds) during an incident of congestion. |
Junxiao Shi | 1f481fa | 2017-01-26 15:14:43 +0000 | [diff] [blame] | 108 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 109 | .. option:: <CONGESTION-THRESHOLD> |
Junxiao Shi | 1f481fa | 2017-01-26 15:14:43 +0000 | [diff] [blame] | 110 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 111 | 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 Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 114 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 115 | Exit Status |
| 116 | ----------- |
Junxiao Shi | 05dd444 | 2017-02-06 22:50:07 +0000 | [diff] [blame] | 117 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 118 | 0 |
| 119 | Success. |
Junxiao Shi | 1d7fef5 | 2017-02-02 05:33:14 +0000 | [diff] [blame] | 120 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 121 | 1 |
| 122 | An unspecified error occurred. |
| 123 | |
| 124 | 2 |
| 125 | Malformed command line. |
| 126 | |
| 127 | 3 |
| 128 | Face not found (**nfdc face show** and **nfdc face destroy** only). |
| 129 | |
| 130 | 4 |
| 131 | FaceUri canonization failed (**nfdc face create** and **nfdc face destroy** only). |
| 132 | |
| 133 | 5 |
| 134 | Ambiguous: multiple matching faces are found (**nfdc face destroy** only). |
| 135 | |
| 136 | Examples |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 137 | -------- |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 138 | |
| 139 | ``nfdc face list`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 140 | List all faces. |
| 141 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 142 | ``nfdc face list scheme udp4`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 143 | List all UDP-over-IPv4 faces. |
| 144 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 145 | ``nfdc face show id 300`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 146 | Show information about the face whose FaceId is 300. |
| 147 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 148 | ``nfdc face create remote udp://router.example.net`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 149 | Create a face with the specified remote FaceUri, keeping all other settings at their defaults. |
| 150 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 151 | ``nfdc face create remote ether://[08:00:27:01:01:01] local dev://eth2 persistency permanent`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 152 | Create a face with the specified remote FaceUri, local FaceUri, and persistency. |
| 153 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 154 | ``nfdc face create remote udp://router.example.net reliability on`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 155 | Create a face with the specified remote FaceUri and enable NDNLP reliability. |
| 156 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 157 | ``nfdc face create remote udp://router.example.net congestion-marking-interval 100 default-congestion-threshold 65536`` |
Eric Newberry | 17d1849 | 2018-02-10 22:50:06 -0700 | [diff] [blame] | 158 | 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 Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 161 | ``nfdc face create remote udp://router.example.net congestion-marking off`` |
Eric Newberry | 17d1849 | 2018-02-10 22:50:06 -0700 | [diff] [blame] | 162 | Create a face with the specified remote FaceUri and explicitly disable congestion marking. |
Eric Newberry | de33245 | 2018-01-30 11:45:32 -0700 | [diff] [blame] | 163 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 164 | ``nfdc face create remote udp://router.example.net mtu 4000`` |
Eric Newberry | 13ff259 | 2020-03-06 17:32:29 -0800 | [diff] [blame] | 165 | Create a face with the specified remote FaceUri and set the override MTU to 4000 bytes. |
Eric Newberry | 4f8dd96 | 2018-06-17 21:32:07 -0700 | [diff] [blame] | 166 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 167 | ``nfdc face destroy 300`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 168 | Destroy the face whose FaceId is 300. |
| 169 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 170 | ``nfdc face destroy udp4://192.0.2.1:6363`` |
Junxiao Shi | 0e13e1e | 2018-01-22 08:29:12 +0000 | [diff] [blame] | 171 | Destroy the face whose remote FaceUri is "udp4://192.0.2.1:6363". |
| 172 | |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 173 | See Also |
Junxiao Shi | 6c13562 | 2016-11-21 14:30:33 +0000 | [diff] [blame] | 174 | -------- |
Davide Pesavento | 543b152 | 2024-06-25 17:00:32 -0400 | [diff] [blame^] | 175 | |
| 176 | :manpage:`nfdc(1)` |