NLSR Management » History » Version 2
Muktadir Chowdhury, 02/27/2015 06:22 AM
| 1 | 1 | Muktadir Chowdhury | NLSR Management |
|---|---|---|---|
| 2 | =============== |
||
| 3 | 2 | Muktadir Chowdhury | |
| 4 | NLSR Management provides: |
||
| 5 | |||
| 6 | - command to add(advertise) routes to name prefix list |
||
| 7 | - command to remove(withdraw) routes to name prefix list |
||
| 8 | |||
| 9 | ### 1. Control Commands |
||
| 10 | |||
| 11 | ## Add a name prefix |
||
| 12 | #command-verb: advertise |
||
| 13 | This command adds a name prefix to the name prefix list. This command can be accepted on ```ndn:/localhost/nlsr/routeUpdate``` prefix. |
||
| 14 | |||
| 15 | # Control Parameters |
||
| 16 | - Name (required) |
||
| 17 | |||
| 18 | ## Remove a name prefix |
||
| 19 | # command-verb: withdraw |
||
| 20 | This command removes a name prefix from the name prefix list. This command can be accepted on ```ndn:/localhost/nlsr/routeUpdate``` prefix. |
||
| 21 | # Control Parameters |
||
| 22 | - Name (required) |
||
| 23 | |||
| 24 | ### 2. Request format |
||
| 25 | NLSR control commands are signed interests, whose name has the following form: ```/<prefix>/<management-module>/<command-verb>/<control-parameters>/<signed-interests-components>``` |
||
| 26 | |||
| 27 | - ```<prefix>``` is ```/localhost/nlsr ```. Each individual command may specify additional prefixes under which that command could be accepted. |
||
| 28 | - ```<management-module> ```is the name of management module to which the command needs to be dispatched. For example, the name of the management module of the task I’m doing now would be ```routeUpdate```. |
||
| 29 | - ```<command-verb>``` is the command to be executed. For this task this would be either ```withdraw``` or ```advertise```. |
||
| 30 | - <control-parameters> is a ControlParameters TLV block wrapped in a NameComponent. |
||
| 31 | - <signed-interest-components> are four additional components defined by [ndn-cxx:SignedInterest|Signed Interest] spec. |
||
| 32 | So, putting everything together, the complete name of a command interest would be ```localhost/nlsr/routeUpdate/advertise``` or ```localhost/nlsr/routeUpdate/withdraw``` |
||
| 33 | |||
| 34 | ### 2. Response Format |
||
| 35 | |||
| 36 | A response from the command interface is a Data that matches the request Interest. The payload of this Data is a ControlResponse block. |
||
| 37 | |||
| 38 | ##StatusCode: Going to use the codes that has been used by nfd-control-command. |
||
| 39 | StatusCode Description |
||
| 40 | ------------|--------------------------------- |
||
| 41 | 200 | OK |
||
| 42 | 400 | ControlParameters is incorrect |
||
| 43 | 403 | Command Interest is not authorized |
||
| 44 | 501 | Module or verb is not supported |