Project

General

Profile

NLSR Management » History » Revision 13

Revision 12 (Muktadir Chowdhury, 04/23/2015 08:50 AM) → Revision 13/44 (Muktadir Chowdhury, 04/23/2015 09:02 AM)

NLSR Management 
 =============== 

 NLSR Management provides: 

 - command to add(advertise) routes to name prefix list 
 - command to remove(withdraw) routes to name prefix list 

 ## 1. Control Commands 

 ### Add a name prefix 

 ### command-verb: advertise 
 This command adds a name prefix to the name prefix list. This command can be accepted on ```ndn:/localhost/nlsr/prefix-update``` prefix. 

 ### Control Parameters 
 - Name (required) 

 ### Remove a name prefix 

 ### command-verb: withdraw 
 This command removes a name prefix from the name prefix list. This command can be accepted on ```ndn:/localhost/nlsr/prefix-update``` prefix. 

 ### Control Parameters 
 - Name (required) 

 ## 2. Request format 
 NLSR control commands are signed interests, whose name has the following form: ```/<prefix>/<management-module>/<command-verb>/<control-parameters>/<signed-interests-components>``` 

 - ```<prefix>``` is ```/localhost/nlsr ```. Each individual command may specify additional prefixes under which that command could be accepted. 
 - ```<management-module> ```is the name of management module to which the command needs to be dispatched. For example, the name of the management module in this case of the task I’m doing now would be ```prefix-update```. 
 - ```<command-verb>``` is the command to be executed. For this case task this would be either ```withdraw``` or ```advertise```. 
 - <control-parameters> is a ControlParameters TLV block wrapped in a NameComponent. 
 - <signed-interest-components> are four additional components defined by [ndn-cxx:SignedInterest|Signed Interest] spec. 
 So, putting everything together, the complete name of a command interest would be ```localhost/nlsr/prefix-update/advertise``` ```localhost/nlsr/routeUpdate/advertise``` or ```localhost/nlsr/prefix-update/withdraw``` ```localhost/nlsr/routeUpdate/withdraw``` 

 ## 3. Response Format 

 A response from the command interface is a Data that matches the request Interest. The payload of this Data is a ControlResponse block. 


 ### StatusCode 

 StatusCode    | 	 Description 
 ------------|------------------------------------ 
 200           | 		 OK 
 400 	     | ControlParameters is incorrect 
 403 	     | Command Interest is not authorized 
 501 	     | Module or verb is not supported