NLSR Management » History » Version 43
Saurab Dulal, 01/03/2019 02:03 PM
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 | 21 | Muktadir Chowdhury | - command to remove(withdraw) routes from name prefix list |
8 | 2 | Muktadir Chowdhury | |
9 | 3 | Muktadir Chowdhury | ## 1. Control Commands |
10 | 2 | Muktadir Chowdhury | |
11 | 19 | Muktadir Chowdhury | ### 1.1 Add a name prefix |
12 | 10 | Muktadir Chowdhury | |
13 | 19 | Muktadir Chowdhury | #### command-verb: advertise |
14 | 10 | Muktadir Chowdhury | This command adds a name prefix to the name prefix list. This command can be accepted on ```ndn:/localhost/nlsr/prefix-update``` prefix. |
15 | 2 | Muktadir Chowdhury | |
16 | 19 | Muktadir Chowdhury | #### Control Parameters |
17 | 2 | Muktadir Chowdhury | - Name (required) |
18 | |||
19 | 19 | Muktadir Chowdhury | ### 1.2 Remove a name prefix |
20 | 11 | Muktadir Chowdhury | |
21 | 19 | Muktadir Chowdhury | #### command-verb: withdraw |
22 | 11 | Muktadir Chowdhury | This command removes a name prefix from the name prefix list. This command can be accepted on ```ndn:/localhost/nlsr/prefix-update``` prefix. |
23 | |||
24 | 19 | Muktadir Chowdhury | #### Control Parameters |
25 | 2 | Muktadir Chowdhury | - Name (required) |
26 | |||
27 | 3 | Muktadir Chowdhury | ## 2. Request format |
28 | 36 | Muktadir Chowdhury | NLSR control commands are command interests (https://redmine.named-data.net/projects/ndn-cxx/wiki/CommandInterest), whose name has the following form: |
29 | 1 | Muktadir Chowdhury | |
30 | 39 | Muktadir Chowdhury | /<prefix>/<management-module>/<command-verb>/<control-parameters>/<timestamp>/<random-value>/<SignatureInfo>/<SignatureValue> |
31 | 41 | Muktadir Chowdhury | |
32 | |||
33 | 13 | Muktadir Chowdhury | - ```<prefix>``` is ```/localhost/nlsr ```. Each individual command may specify additional prefixes under which that command could be accepted. |
34 | - ```<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 would be ```prefix-update```. |
||
35 | 1 | Muktadir Chowdhury | - ```<command-verb>``` is the command to be executed. For this case this would be either ```withdraw``` or ```advertise```. |
36 | 35 | Muktadir Chowdhury | - ```<control-parameters>``` is a ControlParameters TLV block wrapped in a NameComponent. |
37 | 1 | Muktadir Chowdhury | - ```<timestamp>``` is interest's timestamp that is used to prevent replay attack. |
38 | 35 | Muktadir Chowdhury | - ```<random-value>``` aka Nonce that ensures the uniqueness of an interest. |
39 | 36 | Muktadir Chowdhury | - ```<SignatureInfo>``` and ```<SignatureValue>``` are additional components defined by [ndn-cxx:SignedInterest|Signed Interest] spec. |
40 | 42 | Muktadir Chowdhury | |
41 | So, putting everything together, the complete name of a command interest would be |
||
42 | |||
43 | /localhost/nlsr/prefix-update/advertise/<control-parameters>/<timestamp>/<random-value>/<SignatureInfo>/<SignatureValue> |
||
44 | or |
||
45 | |||
46 | /localhost/nlsr/prefix-update/withdraw/<control-parameters>/<timestamp>/<random-value>/<SignatureInfo>/<SignatureValue> |
||
47 | 2 | Muktadir Chowdhury | |
48 | 6 | Muktadir Chowdhury | ## 3. Response Format |
49 | 1 | Muktadir Chowdhury | |
50 | 2 | Muktadir Chowdhury | A response from the command interface is a Data that matches the request Interest. The payload of this Data is a ControlResponse block. |
51 | |||
52 | 1 | Muktadir Chowdhury | ### StatusCode |
53 | 32 | Ashlesh Gawande | StatusCode loosely follows the HTTP semantics described in RFC2616 section 10 ([RFC2616](https://www.ietf.org/rfc/rfc2616.txt)) |
54 | 6 | Muktadir Chowdhury | |
55 | 3 | Muktadir Chowdhury | StatusCode | Description |
56 | ------------|------------------------------------ |
||
57 | 2 | Muktadir Chowdhury | 200 | OK |
58 | 22 | Laqin Fan | 204 | Prefix is already advertised/withdrawn |
59 | 43 | Saurab Dulal | 205 | Saving or deleting a prefix from the configuration file |
60 | 2 | Muktadir Chowdhury | 400 | ControlParameters is incorrect |
61 | 403 | Command Interest is not authorized |
||
62 | 43 | Saurab Dulal | 406 | Prefix is already saved or deleted from the configuration file. |
63 | 2 | Muktadir Chowdhury | 501 | Module or verb is not supported |
64 | 1 | Muktadir Chowdhury | 503 | Feature is disabled |