NLSR Management » History » Revision 43
« Previous |
Revision 43/44
(diff)
| Next »
Saurab Dulal, 01/03/2019 02:03 PM
NLSR Management¶
NLSR Management provides:
- command to add(advertise) routes to name prefix list
- command to remove(withdraw) routes from name prefix list
1. Control Commands¶
1.1 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)
1.2 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 command interests (https://redmine.named-data.net/projects/ndn-cxx/wiki/CommandInterest), whose name has the following form:
/<prefix>/<management-module>/<command-verb>/<control-parameters>/<timestamp>/<random-value>/<SignatureInfo>/<SignatureValue>
<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 would beprefix-update.<command-verb>is the command to be executed. For this case this would be eitherwithdraworadvertise.<control-parameters>is a ControlParameters TLV block wrapped in a NameComponent.<timestamp>is interest's timestamp that is used to prevent replay attack.<random-value>aka Nonce that ensures the uniqueness of an interest.<SignatureInfo>and<SignatureValue>are 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/<control-parameters>/<timestamp>/<random-value>/<SignatureInfo>/<SignatureValue>
or
/localhost/nlsr/prefix-update/withdraw/<control-parameters>/<timestamp>/<random-value>/<SignatureInfo>/<SignatureValue>
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 loosely follows the HTTP semantics described in RFC2616 section 10 (RFC2616)
| StatusCode | Description |
|---|---|
| 200 | OK |
| 204 | Prefix is already advertised/withdrawn |
| 205 | Saving or deleting a prefix from the configuration file |
| 400 | ControlParameters is incorrect |
| 403 | Command Interest is not authorized |
| 406 | Prefix is already saved or deleted from the configuration file. |
| 501 | Module or verb is not supported |
| 503 | Feature is disabled |
Updated by Saurab Dulal almost 7 years ago · 44 revisions