Project

General

Profile

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