FaceMgmt » History » Revision 3
Revision 2 (Alex Afanasyev, 01/30/2014 04:15 PM) → Revision 3/120 (Alex Afanasyev, 01/30/2014 05:15 PM)
# NFD Face Management protocol
The **Face Management protocol** allows an entity to request NFD daemon create and destroy the faces.
The ace Management protocol uses [[Signed Interests]]-Data exchange.
The command request and response follows the [[ControlCommand|NFD Control Command specification]]
## Command format
### Request
Request is a signed Interest with the following name:
/localhost/nfd/faces/<command-verb>/<command-options>/<timestamp>/<SignatureInfo>/<SignatureValue>
\ / \ / \ /
-------- -------- ------------- --------------- -------------------- --------------------
\/ \/ \/
NFD Control Command FaceManager command Signed Interest related information
to FaceManager and command options
Command options is defined as a TLV-encoded ``FaceManagementOptions`` block.
Each individual command defines a subset of required and optional elements in the ``FaceManagementOptions`` block.
FaceManagementOptions ::= FACE-MANAGEMENT-OPTIONS-TYPE TLV-LENGTH
FaceId?
... TBD
// Name defined in NDN-TLV spec
FaceId ::= FACEID-TYPE TLV-LENGTH
nonNegativeInteger
### Response
Command response is a Data packet that contains TLV-encoded ``ControlResponse`` block, defined in [[ControlCommand|NFD Control Command specification]].
The response has StatusCode 200 if the command succeeds.
<!-- Alex: Should positive responses contain TLV-Encoded ``FaceManagementOptions`` block related to the command (after StatusText)? -->
Any other status code (4xx, 5xx, [?]) mean error.
Description of the error can be present in ``StatusText`` field of ``ControlResponse`` command.
### Operations
**Face management protocol** protocol supports five operations:
* create a face (command-verb: ``create``)
* destroy a face (command-verb: ``destroy``)
## Create a face
**command-verb:** ``create``
Required fields in ``FaceManagementOptions`` block:
## Destroy a face
**command-verb:** ``destroy``
Required fields in ``FaceManagementOptions`` block:
## TLV-TYPE assignments
Type | Assigned value | Assigned value (hex)
------------------------------------------- | ----------------- | --------------------
FibManagementOptions | 108 | 0x6c 0x7b
FaceId | 105 | 0x69