FaceMgmt » History » Revision 4
Revision 3 (Alex Afanasyev, 01/30/2014 05:15 PM) → Revision 4/118 (Alex Afanasyev, 01/30/2014 05:37 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) ------------------------------------------- | ----------------- | -------------------- FaceManagementOptions FibManagementOptions | 108 | 0x6c FaceId | 105 | 0x69