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 eitherwithdraw
oradvertise
.<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 6 years ago · 44 revisions