@@ -19,19 +19,19 @@ For a detailed description of the DSKE protocol, see the
1919If you are a software developer and would like more details about the implementation, see the
2020[ developer guide] ( developer-guide.md ) .
2121
22- ## Topology file
22+ ## Configuration file
2323
24- We first need a topology YAML file which describes the topology of the network.
24+ We first need a configuration YAML file which describes the topology of the network.
2525It lists the names of
2626the DSKE security hubs (hubs for short),
2727the DSKE clients (clients for short),
2828and the encryptors.
2929.
3030
31- The repository contains an example ` topology .yaml` file:
31+ The repository contains an example ` dske-config .yaml` file, which is the default configuration :
3232
3333<pre >
34- $ <b >cat topology .yaml</b >
34+ $ <b >cat dske-config .yaml</b >
3535hubs:
3636 - name: hank
3737 - name: helen
@@ -88,7 +88,7 @@ options:
8888You can also use the ` --help ` option to see the command line parameters for a specific sub-command:
8989
9090<pre >
91- $ <b >./manager.py topology.yaml etsi-qkd --help</b >
91+ $ <b >./manager.py etsi-qkd --help</b >
9292usage: manager.py configfile etsi-qkd [-h] master_sae_id slave_sae_id {get-status,get-key,get-key-with-key-ids,get-key-pair} ...
9393
9494positional arguments:
@@ -110,7 +110,7 @@ options:
110110To start all nodes in the DSKE topology, use the manager ` start ` command:
111111
112112<pre >
113- $ <b >./manager.py topology.yaml start</b >
113+ $ <b >./manager.py start</b >
114114Waiting for all nodes to be stopped
115115Starting hub hank on port 8100
116116Starting hub helen on port 8101
@@ -125,9 +125,6 @@ Starting client curtis on port 8109
125125Waiting for all nodes to be started
126126</pre >
127127
128- ` topology.yaml ` is the topology file that specifies the names of the hubs and clients that
129- are part of the topology.
130-
131128The output reports that 10 nodes are started in total: 5 hub nodes (hank, helen, hilary, holly,
132129and hugo) and 5 client nodes (carol, celia, cindy, connie, and curtis).
133130
@@ -139,7 +136,7 @@ each node.
139136To stop all nodes in the topology, use the manager ` stop ` command:
140137
141138<pre >
142- $ <b >./manager.py topology.yaml stop</b >
139+ $ <b >./manager.py stop</b >
143140Stopping client curtis on port 8109
144141Stopping client connie on port 8108
145142Stopping client cindy on port 8107
@@ -182,7 +179,7 @@ This is why the `start` command explicitly waits for all nodes to be started (it
182179reports ` Waiting for all nodes to be started ` at the end):
183180
184181<pre >
185- $ <b >./manager.py topology.yaml start</b >
182+ $ <b >./manager.py start</b >
186183Waiting for all nodes to be stopped
187184Starting hub hank on port 8100
188185...
@@ -200,7 +197,7 @@ This is why the `start` command explicitly waits for all needed TCP ports to be
200197(it reports ` Waiting for all nodes to be stopped ` at the beginning).
201198
202199<pre >
203- $ <b >./manager.py topology.yaml start</b >
200+ $ <b >./manager.py start</b >
204201<b >Waiting for all nodes to be stopped</b >
205202Starting hub hank on port 8100
206203...
@@ -213,7 +210,7 @@ If it takes longer than expected for a node to stop and for the TCP port to beco
213210waiting (this should not take longer than 60 seconds):
214211
215212<pre >
216- $ <b >./manager.py topology.yaml stop</b >
213+ $ <b >./manager.py stop</b >
217214Stopping client curtis on port 8109
218215...
219216Stopping hub hank on port 8100
@@ -230,7 +227,7 @@ client node.
230227For example, to start one individual client carol:
231228
232229<pre >
233- $ <b >./manager.py topology.yaml --client carol start</b >
230+ $ <b >./manager.py --client carol start</b >
234231Waiting for client carol to be stopped
235232Starting client carol on port 8105
236233Waiting for client carol to be started
@@ -241,15 +238,15 @@ hub node.
241238For example, to stop one individual hub hugo:
242239
243240<pre >
244- $ <b >./manager.py topology.yaml --hub hugo stop</b >
241+ $ <b >./manager.py --hub hugo stop</b >
245242Stopping hub hugo on port 8104
246243Waiting for hub hugo to be stopped
247244</pre >
248245
249246You can use the ` --client ` and ` --hub ` command line options multiple times.
250247For example:
251248
252- <pre >$ <b >./manager.py topology.yaml --client carol --client corrie --hub hank start</b >
249+ <pre >$ <b >./manager.py --client carol --client corrie --hub hank start</b >
253250Waiting for client carol, client corrie, hub hank to be stopped
254251Starting hub hank on port 8100
255252Starting client carol on port 8105
@@ -328,7 +325,7 @@ Use the manager `get-key` sub-command under the `etsi-qkd` command to invoke the
328325The ` get-key ` sub-command has the following command-line options:
329326
330327<pre >
331- $ <b >./manager.py topology.yaml etsi-qkd sam sunny get-key --help</b >
328+ $ <b >./manager.py etsi-qkd sam sunny get-key --help</b >
332329usage: manager.py configfile etsi-qkd master_sae_id slave_sae_id get-key [-h] [--size SIZE]
333330
334331options:
@@ -340,7 +337,7 @@ In the following example we invoke the Get Key API for the QKD link between mast
340337slave SAE Serena:
341338
342339<pre >
343- $ <b >./manager.py topology.yaml etsi-qkd sam serena get-key</b >
340+ $ <b >./manager.py etsi-qkd sam serena get-key</b >
344341Invoke ETSI QKD Get Key API on client (KME) carol port 8105 master encryptor (SAE) sam slave encryptor (SAE) serena:
345342{
346343 "keys": {
@@ -360,7 +357,7 @@ ETSI QKD 014 "Get Key" API to retrieve a key for a pair of SAEs on the slave SAE
360357The ` get-key ` sub-command has the following command-line options:
361358
362359<pre >
363- $ <b >./manager.py topology.yaml etsi-qkd sam serena get-key-with-key-ids --help</b >
360+ $ <b >./manager.py etsi-qkd sam serena get-key-with-key-ids --help</b >
364361usage: manager.py configfile etsi-qkd master_sae_id slave_sae_id get-key-with-key-ids [-h] key_id
365362
366363positional arguments:
@@ -375,7 +372,7 @@ SAE Sam and slave SAE Serena, where the Key ID is d6a116f1-104e-4213-8cf1-0557cf
375372Key ID returned by the Get Key API call above):
376373
377374<pre >
378- $ <b >./manager.py topology.yaml etsi-qkd sam serena get-key-with-key-ids 6a116f1-104e-4213-8cf1-0557cf33cb29</b >
375+ $ <b >./manager.py etsi-qkd sam serena get-key-with-key-ids 6a116f1-104e-4213-8cf1-0557cf33cb29</b >
379376Invoke ETSI QKD Get Key with Key IDs API on client (KME) celia port 8106 master encryptor (SAE) sam slave encryptor (SAE) serena:
380377{
381378 "keys": [
@@ -395,7 +392,7 @@ As a matter of convenience, there is also a `get-key-pair` sub-command to combin
395392The ` get-key-pair ` sub-command has the following command-line options:
396393
397394<pre >
398- $ <b >./manager.py topology.yaml etsi-qkd carol curtis get-key-pair --help</b >
395+ $ <b >./manager.py etsi-qkd carol curtis get-key-pair --help</b >
399396usage: manager.py configfile etsi-qkd master_sae_id slave_sae_id get-key-pair [-h] [--size SIZE]
400397
401398options:
@@ -406,7 +403,7 @@ options:
406403In the following example, we ask for a key pair between master SAE Sam and slave SAE Sunny:
407404
408405<pre >
409- $ <b >./manager.py topology.yaml etsi-qkd sam sunny get-key-pair</b >
406+ $ <b >./manager.py etsi-qkd sam sunny get-key-pair</b >
410407Invoke ETSI QKD Get Key API on client (KME) carol port 8105 master encryptor (SAE) sam slave encryptor (SAE) sunny:
411408{
412409 "keys": {
@@ -429,7 +426,7 @@ Key values match
429426And, finally, there is a ` status ` subcommand to invoke the "Status" ETSI QKD 014 API:
430427
431428<pre >
432- $ <b< >./manager.py topology.yaml etsi-qkd sam sunny get-status</b >
429+ $ <b< >./manager.py etsi-qkd sam sunny get-status</b >
433430Invoke ETSI QKD Status API on client (KME) carol port 8105 master encryptor (SAE) sam slave encryptor (SAE) sunny:
434431{
435432 "source_kme_id": "carol",
@@ -452,7 +449,7 @@ Use the manager `status` command (not to be confused with the `etsi-qkd status`
452449to report the status of each node in the topology:
453450
454451<pre >
455- $ <b >./manager.py topology.yaml status</b >
452+ $ <b >./manager.py status</b >
456453Status for hub hank on port 8100
457454{
458455 "name": "hank",
@@ -493,7 +490,7 @@ You can also use the `--client` or `--hub` command-line option to only report th
493490client or hub node, for example:
494491
495492<pre >
496- $ <b >./manager.py topology.yaml --client celia status</b >
493+ $ <b >./manager.py --client celia status</b >
497494Status for hub hank on port 8100
498495{
499496 "name": "hank",
@@ -537,7 +534,7 @@ A useful trick is to use the `tail -n +2` command to skip the first line of outp
537534the remaining output (which is JSON) through the ` jq ` command to colorize the JSON output:
538535
539536<pre >
540- $ <b >./manager.py topology.yaml --client carol status | tail -n +2 | jq</b >
537+ $ <b >./manager.py --client carol status | tail -n +2 | jq</b >
541538{
542539 "name": "carol",
543540 "encryptor_names": [
@@ -583,7 +580,7 @@ In the following example we display the information about the local pool for pee
583580on client carol:
584581
585582<pre >
586- $ <b >./manager.py topology.yaml --client carol status | tail -n +2 | jq '(.peer_hubs[] | select(.hub_name == "hank") .local_pool)'</b >
583+ $ <b >./manager.py --client carol status | tail -n +2 | jq '(.peer_hubs[] | select(.hub_name == "hank") .local_pool)'</b >
587584{
588585 "blocks": [
589586 {
0 commit comments