aboutsummaryrefslogtreecommitdiff
path: root/proposals/316-flashflow.md
diff options
context:
space:
mode:
authorMatt Traudt <sirmatt@ksu.edu>2020-08-20 19:57:04 -0400
committerMatt Traudt <sirmatt@ksu.edu>2020-08-21 09:39:06 -0400
commit437a0a0eaa5a1ced39c55b1602b20ee130191032 (patch)
treec03d7b226fdb82a73fcd6b3c3d3fb2781d4e250c /proposals/316-flashflow.md
parentcf1a42403ab79ab9843b2f6c2b21ddf4ba888096 (diff)
downloadtorspec-437a0a0eaa5a1ced39c55b1602b20ee130191032.tar.gz
torspec-437a0a0eaa5a1ced39c55b1602b20ee130191032.zip
Make meas cell contents match current reality and teor's comments
Diffstat (limited to 'proposals/316-flashflow.md')
-rw-r--r--proposals/316-flashflow.md39
1 files changed, 16 insertions, 23 deletions
diff --git a/proposals/316-flashflow.md b/proposals/316-flashflow.md
index b46bc79..5c4e1ca 100644
--- a/proposals/316-flashflow.md
+++ b/proposals/316-flashflow.md
@@ -8,8 +8,6 @@ Status: Draft
# Markdown revision TODO:
-- `[ ]` foo
-
- `[ ]` hyperlink sources
- `[ ]` make section numbers work, or don't use them, or ...?
- `[.]` do coords need to communicate? No. Specify better in Measurement
@@ -234,21 +232,21 @@ with the target.
The payload of MEAS_PARAMS cells [XXX more may need to be added]:
```
-- version [1 byte]
-- meas_duration [1 byte]
-- num_measurers [1 byte]
+- meas_duration [2 bytes] [1, 600]
+- num_measurers [1 byte] [1, 10]
- measurer_info [num_measurers times]
- - ipv4_addr [4 bytes]
- - num_conns [2 bytes]
```
-version dictates how this MEAS_PARAMS cell shall be parsed. meas_duration
+meas_duration
is the duration, in seconds, that the actual measurement will last.
-num_measurers is how many measurer_info structs follow. For each
-measurer, the ipv4_addr it will use when connecting to the target is
-provided, as is num_conns, the number of TCP connections that measurer
-will open with the target. Future versions of FlashFlow and MEAS_PARAMS
+num_measurers is how many link_specifier structs follow containing information
+on the measurers that the relay should expect.
+Future versions of FlashFlow and MEAS_PARAMS
will use TLS certificates instead of IP addresses.
+[XXX probably need diff layout to allow upgrade to TLS certs instead of
+link_specifier structs. probably using ext-type-length-value like teor
+suggests]
+[XXX want to specify number of conns to expect from each measurer here?]
MEAS_PARAMS_OK has no payload: it's just padding bytes to make the cell
PAYLOAD_LEN (509) bytes long.
@@ -259,12 +257,12 @@ The payload of MEAS_ECHO cells:
- arbitrary bytes [PAYLOAD_LEN bytes]
```
-The payload of MEAS_BG cells:
+The payload of MEAS_BG cells [XXX more for extra info? like CPU usage]:
```
-- second [1 byte]
-- sent_bg_bytes [4 bytes]
-- recv_bg_bytes [4 bytes]
+- second [2 byte] [1, 600]
+- sent_bg_bytes [4 bytes] [0, 2^32-1]
+- recv_bg_bytes [4 bytes] [0, 2^32-1]
```
second is the number of seconds since the measurement began. MEAS_BG
@@ -274,11 +272,10 @@ subsequent cell will increment it by one. sent_bg_bytes is the number of
background traffic bytes sent in the last second (since the last MEAS_BG
cell). recv_bg_bytes is the same but for received bytes.
-The payload of MEAS_ERR cells:
+The payload of MEAS_ERR cells [XXX need field for more info]:
```
-- err_code [1 byte]
-- err_str [possibly zero-len null-terminated string]
+- err_code [1 byte] [0, 255]
```
The error code is one of:
@@ -288,10 +285,6 @@ The error code is one of:
255 -- OTHER
```
-The error string is optional in all cases. It isn't present if the first
-byte of err_str is null, otherwise it is present. It ends at the first
-null byte or the end of the cell, whichever comes first.
-
### Measurement Mode
The relay considers the measurement to have started the moment it