From 82fa16eab10cb2c01622056ce544d32d97398e63 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 07:55:35 -0500 Subject: Make the relay command table contain _all_ commands. Formerly it didn't have conflux, HS, or padding commands. --- spec/tor-spec/relay-cells.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index 346899b..d80ab31 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -50,9 +50,21 @@ The relay commands are: | 14 | RELAY_EXTEND2 | forward | control | 15 | RELAY_EXTENDED2 | backward | control | 16..18 | Reserved for UDP; Not yet in use, see [prop339]. -| 19..22 | Reserved for Conflux, see [prop329]. -| 32..40 | Used for hidden services; see the [rendezvous spec]. -| 41..42 | Used for circuit padding; see ["Circuit-level padding"] in the padding spec. +| 19 | RELAY_CONFLUX_LINK | forward | control +| 20 | RELAY_CONFLUX_LINKED | backward | control +| 21 | RELAY_CONFLUX_LINKED_ACK | forward | control +| 22 | RELAY_CONFLUX_SWITCH | forward or backward | control +| 32 | RELAY_ESTABLISH_INTRO | forward | control +| 33 | RELAY_ESTABLISH_RENDEZVOUS | forward | control +| 34 | RELAY_INTRODUCE1 | forward | control +| 35 | RELAY_INTRODUCE2 | backward | control +| 36 | RELAY_RENDEZVOUS1 | forward | control +| 37 | RELAY_RENDEZVOUS2 | backward | control +| 38 | RELAY_INTRO_ESTABLISHED | backward | control +| 39 | RELAY_RENDEZVOUS_ESTABLISHED | backward | control +| 40 | RELAY_INTORDUCE_ACK | backward | control +| 41 | RELAY_PADDING_NEGOTIATE | forward | control +| 42 | RELAY_PADDING_NEGOTIATED | backward | control | 43 | XON (See Sec 4 of [prop324]) | forward or backward | | 44 | XOFF (See Sec 4 of [prop324]) | forward or backward | -- cgit v1.2.3-54-g00ecf From d362fb351f9062507f7a5059917ce86353df974e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 08:00:26 -0500 Subject: Remove RELAY_ prefix from command table. This will get us some horizontal space. --- spec/tor-spec/relay-cells.md | 60 ++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index d80ab31..3fabbcc 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -34,37 +34,37 @@ The relay commands are: | Command | Identifier | Direction | Control? | ------- | ---------- | --------- | -------- -| 1 | RELAY_BEGIN | forward | -| 2 | RELAY_DATA | forward or backward | -| 3 | RELAY_END | forward or backward | -| 4 | RELAY_CONNECTED | backward | -| 5 | RELAY_SENDME | forward or backward | sometimes control -| 6 | RELAY_EXTEND | forward | control -| 7 | RELAY_EXTENDED | backward | control -| 8 | RELAY_TRUNCATE | forward | control -| 9 | RELAY_TRUNCATED | backward | control -| 10 | RELAY_DROP | forward or backward | control -| 11 | RELAY_RESOLVE | forward | -| 12 | RELAY_RESOLVED | backward | -| 13 | RELAY_BEGIN_DIR | forward | -| 14 | RELAY_EXTEND2 | forward | control -| 15 | RELAY_EXTENDED2 | backward | control +| 1 | BEGIN | forward | +| 2 | DATA | forward or backward | +| 3 | END | forward or backward | +| 4 | CONNECTED | backward | +| 5 | SENDME | forward or backward | sometimes control +| 6 | EXTEND | forward | control +| 7 | EXTENDED | backward | control +| 8 | TRUNCATE | forward | control +| 9 | TRUNCATED | backward | control +| 10 | DROP | forward or backward | control +| 11 | RESOLVE | forward | +| 12 | RESOLVED | backward | +| 13 | BEGIN_DIR | forward | +| 14 | EXTEND2 | forward | control +| 15 | EXTENDED2 | backward | control | 16..18 | Reserved for UDP; Not yet in use, see [prop339]. -| 19 | RELAY_CONFLUX_LINK | forward | control -| 20 | RELAY_CONFLUX_LINKED | backward | control -| 21 | RELAY_CONFLUX_LINKED_ACK | forward | control -| 22 | RELAY_CONFLUX_SWITCH | forward or backward | control -| 32 | RELAY_ESTABLISH_INTRO | forward | control -| 33 | RELAY_ESTABLISH_RENDEZVOUS | forward | control -| 34 | RELAY_INTRODUCE1 | forward | control -| 35 | RELAY_INTRODUCE2 | backward | control -| 36 | RELAY_RENDEZVOUS1 | forward | control -| 37 | RELAY_RENDEZVOUS2 | backward | control -| 38 | RELAY_INTRO_ESTABLISHED | backward | control -| 39 | RELAY_RENDEZVOUS_ESTABLISHED | backward | control -| 40 | RELAY_INTORDUCE_ACK | backward | control -| 41 | RELAY_PADDING_NEGOTIATE | forward | control -| 42 | RELAY_PADDING_NEGOTIATED | backward | control +| 19 | CONFLUX_LINK | forward | control +| 20 | CONFLUX_LINKED | backward | control +| 21 | CONFLUX_LINKED_ACK | forward | control +| 22 | CONFLUX_SWITCH | forward or backward | control +| 32 | ESTABLISH_INTRO | forward | control +| 33 | ESTABLISH_RENDEZVOUS | forward | control +| 34 | INTRODUCE1 | forward | control +| 35 | INTRODUCE2 | backward | control +| 36 | RENDEZVOUS1 | forward | control +| 37 | RENDEZVOUS2 | backward | control +| 38 | INTRO_ESTABLISHED | backward | control +| 39 | RENDEZVOUS_ESTABLISHED | backward | control +| 40 | INTORDUCE_ACK | backward | control +| 41 | PADDING_NEGOTIATE | forward | control +| 42 | PADDING_NEGOTIATED | backward | control | 43 | XON (See Sec 4 of [prop324]) | forward or backward | | 44 | XOFF (See Sec 4 of [prop324]) | forward or backward | -- cgit v1.2.3-54-g00ecf From 3a3efa401424a05e1da780119a14001cf0a5560c Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 08:10:28 -0500 Subject: Use abbrevs to compress relay command table a bit more --- spec/tor-spec/relay-cells.md | 82 +++++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index 3fabbcc..a665c4f 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -32,41 +32,41 @@ enveloped relay message, encoded as follows: The relay commands are: -| Command | Identifier | Direction | Control? -| ------- | ---------- | --------- | -------- -| 1 | BEGIN | forward | -| 2 | DATA | forward or backward | -| 3 | END | forward or backward | -| 4 | CONNECTED | backward | -| 5 | SENDME | forward or backward | sometimes control -| 6 | EXTEND | forward | control -| 7 | EXTENDED | backward | control -| 8 | TRUNCATE | forward | control -| 9 | TRUNCATED | backward | control -| 10 | DROP | forward or backward | control -| 11 | RESOLVE | forward | -| 12 | RESOLVED | backward | -| 13 | BEGIN_DIR | forward | -| 14 | EXTEND2 | forward | control -| 15 | EXTENDED2 | backward | control -| 16..18 | Reserved for UDP; Not yet in use, see [prop339]. -| 19 | CONFLUX_LINK | forward | control -| 20 | CONFLUX_LINKED | backward | control -| 21 | CONFLUX_LINKED_ACK | forward | control -| 22 | CONFLUX_SWITCH | forward or backward | control -| 32 | ESTABLISH_INTRO | forward | control -| 33 | ESTABLISH_RENDEZVOUS | forward | control -| 34 | INTRODUCE1 | forward | control -| 35 | INTRODUCE2 | backward | control -| 36 | RENDEZVOUS1 | forward | control -| 37 | RENDEZVOUS2 | backward | control -| 38 | INTRO_ESTABLISHED | backward | control -| 39 | RENDEZVOUS_ESTABLISHED | backward | control -| 40 | INTORDUCE_ACK | backward | control -| 41 | PADDING_NEGOTIATE | forward | control -| 42 | PADDING_NEGOTIATED | backward | control -| 43 | XON (See Sec 4 of [prop324]) | forward or backward | -| 44 | XOFF (See Sec 4 of [prop324]) | forward or backward | +| Command | Identifier | Type +| ------- | ---------- | ---- +| 1 | BEGIN | **F** +| 2 | DATA | **F**/**B** +| 3 | END | **F**/**B** +| 4 | CONNECTED | **B** +| 5 | SENDME | **F**/**B**, **C?** +| 6 | EXTEND | **F**, **C** +| 7 | EXTENDED | **B**, **C** +| 8 | TRUNCATE | **F**, **C** +| 9 | TRUNCATED | **B**, **C** +| 10 | DROP | **F**/**B**, **C** +| 11 | RESOLVE | **F** +| 12 | RESOLVED | **B** +| 13 | BEGIN_DIR | **F** +| 14 | EXTEND2 | **F**, **C** +| 15 | EXTENDED2 | **B**, **C** +| 16..18 | Reserved; see [prop339]. +| 19 | CONFLUX_LINK | **F**, **C** +| 20 | CONFLUX_LINKED | **B**, **C** +| 21 | CONFLUX_LINKED_ACK | **F**, **C** +| 22 | CONFLUX_SWITCH | **F**/**B**, **C** +| 32 | ESTABLISH_INTRO | **F**, **C** +| 33 | ESTABLISH_RENDEZVOUS | **F**, **C** +| 34 | INTRODUCE1 | **F**, **C** +| 35 | INTRODUCE2 | **B**, **C** +| 36 | RENDEZVOUS1 | **F**, **C** +| 37 | RENDEZVOUS2 | **B**, **C** +| 38 | INTRO_ESTABLISHED | **B**, **C** +| 39 | RENDEZVOUS_ESTABLISHED | **B**, **C** +| 40 | INTRODUCE_ACK | **B**, **C** +| 41 | PADDING_NEGOTIATE | **F**, **C** +| 42 | PADDING_NEGOTIATED | **B**, **C** +| 43 | XON (See Sec 4 of [prop324]) | **F**/**B** +| 44 | XOFF (See Sec 4 of [prop324]) | **F**/**B** [prop324]: ../proposals/324-rtt-congestion-control.txt [prop329]: ../proposals/329-traffic-splitting.md @@ -74,10 +74,12 @@ The relay commands are: [rendezvous spec]: ../rend-spec/index.md ["Circuit-level padding"]: ../padding-spec/circuit-level-padding.md#circuit-level-padding -Commands labelled as "forward" must only be sent by the originator -of the circuit. Commands labelled as "backward" must only be sent by -other nodes in the circuit back to the originator. Commands marked -as either can be sent either by the originator or other nodes. +- **F** (Forward): Must only be sent by the originator of the circuit. +- **B** (Backward): Must only be sent by other nodes in the circuit + back towards the originator. +- **F**/**B** (Forward or backward): May be sent in either direction. +- **C**: (Control) must have a zero-valued stream ID. + (Other commands must have a nonzero stream ID.) The 'recognized' field is used as a simple indication that the cell is still encrypted. It is an optimization to avoid calculating @@ -112,7 +114,7 @@ All relay messages pertaining to the same tunneled stream have the same stream ID. StreamIDs are chosen arbitrarily by the OP. No stream may have a StreamID of zero. Rather, relay messages that affect the entire circuit rather than a particular stream use a StreamID of zero --- they are marked in the table above as "\[control\]" style +-- they are marked in the table above as "**C**" ([control") style cells. (Sendme cells are marked as "sometimes control" because they can include a StreamID or not depending on their purpose -- see [Flow control](./flow-control.md#flow-control).) -- cgit v1.2.3-54-g00ecf From 01cf324dd55b96ef9144c1db2cbb7d3d5db7cc48 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 08:26:39 -0500 Subject: Add links for the relay commands. --- spec/tor-spec/relay-cells.md | 91 +++++++++++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 34 deletions(-) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index a665c4f..8a0f2be 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -34,45 +34,68 @@ The relay commands are: | Command | Identifier | Type | ------- | ---------- | ---- -| 1 | BEGIN | **F** -| 2 | DATA | **F**/**B** -| 3 | END | **F**/**B** -| 4 | CONNECTED | **B** -| 5 | SENDME | **F**/**B**, **C?** -| 6 | EXTEND | **F**, **C** -| 7 | EXTENDED | **B**, **C** -| 8 | TRUNCATE | **F**, **C** -| 9 | TRUNCATED | **B**, **C** -| 10 | DROP | **F**/**B**, **C** -| 11 | RESOLVE | **F** -| 12 | RESOLVED | **B** -| 13 | BEGIN_DIR | **F** -| 14 | EXTEND2 | **F**, **C** -| 15 | EXTENDED2 | **B**, **C** +| 1 | [BEGIN] | **F** +| 2 | [DATA] | **F**/**B** +| 3 | [END] | **F**/**B** +| 4 | [CONNECTED] | **B** +| 5 | [SENDME] | **F**/**B**, **C?** +| 6 | [EXTEND] | **F**, **C** +| 7 | [EXTENDED] | **B**, **C** +| 8 | [TRUNCATE] | **F**, **C** +| 9 | [TRUNCATED] | **B**, **C** +| 10 | [DROP] | **F**/**B**, **C** +| 11 | [RESOLVE] | **F** +| 12 | [RESOLVED] | **B** +| 13 | [BEGIN_DIR] | **F** +| 14 | [EXTEND2] | **F**, **C** +| 15 | [EXTENDED2] | **B**, **C** | 16..18 | Reserved; see [prop339]. -| 19 | CONFLUX_LINK | **F**, **C** -| 20 | CONFLUX_LINKED | **B**, **C** -| 21 | CONFLUX_LINKED_ACK | **F**, **C** -| 22 | CONFLUX_SWITCH | **F**/**B**, **C** -| 32 | ESTABLISH_INTRO | **F**, **C** -| 33 | ESTABLISH_RENDEZVOUS | **F**, **C** -| 34 | INTRODUCE1 | **F**, **C** -| 35 | INTRODUCE2 | **B**, **C** -| 36 | RENDEZVOUS1 | **F**, **C** -| 37 | RENDEZVOUS2 | **B**, **C** -| 38 | INTRO_ESTABLISHED | **B**, **C** -| 39 | RENDEZVOUS_ESTABLISHED | **B**, **C** -| 40 | INTRODUCE_ACK | **B**, **C** -| 41 | PADDING_NEGOTIATE | **F**, **C** -| 42 | PADDING_NEGOTIATED | **B**, **C** -| 43 | XON (See Sec 4 of [prop324]) | **F**/**B** -| 44 | XOFF (See Sec 4 of [prop324]) | **F**/**B** +| 19 | [CONFLUX_LINK][prop329] | **F**, **C** +| 20 | [CONFLUX_LINKED][prop329] | **B**, **C** +| 21 | [CONFLUX_LINKED_ACK][prop329] | **F**, **C** +| 22 | [CONFLUX_SWITCH][prop329] | **F**/**B**, **C** +| 32 | [ESTABLISH_INTRO] | **F**, **C** +| 33 | [ESTABLISH_RENDEZVOUS] | **F**, **C** +| 34 | [INTRODUCE1] | **F**, **C** +| 35 | [INTRODUCE2] | **B**, **C** +| 36 | [RENDEZVOUS1] | **F**, **C** +| 37 | [RENDEZVOUS2] | **B**, **C** +| 38 | [INTRO_ESTABLISHED] | **B**, **C** +| 39 | [RENDEZVOUS_ESTABLISHED] | **B**, **C** +| 40 | [INTRODUCE_ACK] | **B**, **C** +| 41 | [PADDING_NEGOTIATE][circ-padding] | **F**, **C** +| 42 | [PADDING_NEGOTIATED][circ-padding] | **B**, **C** +| 43 | [XON][prop324] | **F**/**B** +| 44 | [XOFF][prop324] | **F**/**B** [prop324]: ../proposals/324-rtt-congestion-control.txt [prop329]: ../proposals/329-traffic-splitting.md [prop339]: ../proposals/339-udp-over-tor.md -[rendezvous spec]: ../rend-spec/index.md -["Circuit-level padding"]: ../padding-spec/circuit-level-padding.md#circuit-level-padding +[circ-padding]: ../padding-spec/circuit-level-padding.md#circuit-level-padding +[BEGIN]: ./opening-streams.md#opening +[CONNECTED]: ./opening-streams.md#opening +[DATA]: ./opening-streams.md#transmitting +[DROP]: ./opening-streams.md#transmitting +[BEGIN_DIR]: ./opening-streams.md#opening-a-directory-stream +[END]: ./closing-streams.md#closing-streams +[RESOLVE]: ./remote-hostname-lookup.md +[RESOLVED]: ./remote-hostname-lookup.md +[EXTEND]: ./create-created-cells.md#EXTEND +[EXTEND2]: ./create-created-cells.md#EXTEND +[EXTENDED]: ./create-created-cells.md#EXTEND +[EXTENDED2]: ./create-created-cells.md#EXTEND +[TRUNCATE]: ./tearing-down-circuits.md +[TRUNCATED]: ./tearing-down-circuits.md +[SENDME]: ./flow-control.md#sendme-message-format.md +[ESTABLISH_INTRO]: ../rend-spec/introduction-protocol.md#EST_INTRO +[INTRO_ESTABLISHED]: ../rend-spec/introduction-protocol.md#INTRO_ESTABLISHED +[INTRODUCE1]: ../rend-spec/introduction-protocol.md#SEND_INTRO1 +[INTRODUCE2]: ../rend-spec/introduction-protocol.md#PROCESS_INTRO2 +[INTRODUCE_ACK]: ../rend-spec/introduction-protocol.md#SEND_INTRO1 +[ESTABLISH_RENDEZVOUS]: ../rend-spec/rendezvous-protocol.md#EST_REND_POINT +[RENDEZVOUS_ESTABLISHED]: ../rend-spec/rendezvous-protocol.md#EST_REND_POINT +[RENDEZVOUS1]: ../rend-spec/rendezvous-protocol.md#JOIN_REND +[RENDEZVOUS2]: ../rend-spec/rendezvous-protocol.md#JOIN_REND - **F** (Forward): Must only be sent by the originator of the circuit. - **B** (Backward): Must only be sent by other nodes in the circuit -- cgit v1.2.3-54-g00ecf From 71f93be06060bda008264e1572254e8de1206895 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 08:36:20 -0500 Subject: Add description column to relay command table. --- spec/tor-spec/relay-cells.md | 70 ++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index 8a0f2be..cc7ea88 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -32,41 +32,41 @@ enveloped relay message, encoded as follows: The relay commands are: -| Command | Identifier | Type -| ------- | ---------- | ---- -| 1 | [BEGIN] | **F** -| 2 | [DATA] | **F**/**B** -| 3 | [END] | **F**/**B** -| 4 | [CONNECTED] | **B** -| 5 | [SENDME] | **F**/**B**, **C?** -| 6 | [EXTEND] | **F**, **C** -| 7 | [EXTENDED] | **B**, **C** -| 8 | [TRUNCATE] | **F**, **C** -| 9 | [TRUNCATED] | **B**, **C** -| 10 | [DROP] | **F**/**B**, **C** -| 11 | [RESOLVE] | **F** -| 12 | [RESOLVED] | **B** -| 13 | [BEGIN_DIR] | **F** -| 14 | [EXTEND2] | **F**, **C** -| 15 | [EXTENDED2] | **B**, **C** -| 16..18 | Reserved; see [prop339]. -| 19 | [CONFLUX_LINK][prop329] | **F**, **C** -| 20 | [CONFLUX_LINKED][prop329] | **B**, **C** -| 21 | [CONFLUX_LINKED_ACK][prop329] | **F**, **C** -| 22 | [CONFLUX_SWITCH][prop329] | **F**/**B**, **C** -| 32 | [ESTABLISH_INTRO] | **F**, **C** -| 33 | [ESTABLISH_RENDEZVOUS] | **F**, **C** -| 34 | [INTRODUCE1] | **F**, **C** -| 35 | [INTRODUCE2] | **B**, **C** -| 36 | [RENDEZVOUS1] | **F**, **C** -| 37 | [RENDEZVOUS2] | **B**, **C** -| 38 | [INTRO_ESTABLISHED] | **B**, **C** -| 39 | [RENDEZVOUS_ESTABLISHED] | **B**, **C** -| 40 | [INTRODUCE_ACK] | **B**, **C** -| 41 | [PADDING_NEGOTIATE][circ-padding] | **F**, **C** -| 42 | [PADDING_NEGOTIATED][circ-padding] | **B**, **C** -| 43 | [XON][prop324] | **F**/**B** -| 44 | [XOFF][prop324] | **F**/**B** +| Command | Identifier | Type | Description +| ------- | ---------- | ---- | ----------- +| 1 | [BEGIN] | **F** | Open a stream +| 2 | [DATA] | **F**/**B** | Transmit data +| 3 | [END] | **F**/**B** | Close a stream +| 4 | [CONNECTED] | **B** | Stream has successfully opened +| 5 | [SENDME] | **F**/**B**, **C?** | Acknowledge traffic +| 6 | [EXTEND] | **F**, **C** | Extend a circuit with TAP (obsolete) +| 7 | [EXTENDED] | **B**, **C** | Finish extending a circuit with TAP (obsolete) +| 8 | [TRUNCATE] | **F**, **C** | Remove nodes from a circuit (unused) +| 9 | [TRUNCATED] | **B**, **C** | Report circuit truncation (unused) +| 10 | [DROP] | **F**/**B**, **C** | Long-range padding +| 11 | [RESOLVE] | **F** | Hostname lookup +| 12 | [RESOLVED] | **B** | Hostname lookup reply +| 13 | [BEGIN_DIR] | **F** | Open stream to directory cache +| 14 | [EXTEND2] | **F**, **C** | Extend a circuit +| 15 | [EXTENDED2] | **B**, **C** | Finish extending a circuit +| 16..18 | Reserved | | For UDP; see [prop339]. +| 19 | [CONFLUX_LINK][prop329] | **F**, **C** | Link circuits into a bundle +| 20 | [CONFLUX_LINKED][prop329] | **B**, **C** | Acknowledge link request +| 21 | [CONFLUX_LINKED_ACK][prop329] | **F**, **C** | Acknowledge CONFLUX_LINKED message (for timing) +| 22 | [CONFLUX_SWITCH][prop329] | **F**/**B**, **C** | Switch between circuits in a bundle +| 32 | [ESTABLISH_INTRO] | **F**, **C** | Create introduction point +| 33 | [ESTABLISH_RENDEZVOUS] | **F**, **C** | Create rendezvous point +| 34 | [INTRODUCE1] | **F**, **C** | Introduction request (to intro point) +| 35 | [INTRODUCE2] | **B**, **C** | Introduction request (to service) +| 36 | [RENDEZVOUS1] | **F**, **C** | Rendezvous request (to rendezvous point) +| 37 | [RENDEZVOUS2] | **B**, **C** | Rendezvous request (to client) +| 38 | [INTRO_ESTABLISHED] | **B**, **C** | Acknowledge ESTABLISH_INTRO +| 39 | [RENDEZVOUS_ESTABLISHED] | **B**, **C** | Acknowledge ESTABLISH_RENDEZVOUS +| 40 | [INTRODUCE_ACK] | **B**, **C** | Acknowledge INTRODUCE1 +| 41 | [PADDING_NEGOTIATE][circ-padding] | **F**, **C** | Negotiate circuit padding +| 42 | [PADDING_NEGOTIATED][circ-padding] | **B**, **C** | Negotiate circuit padding +| 43 | [XON][prop324] | **F**/**B** | Stream-level flow control +| 44 | [XOFF][prop324] | **F**/**B** | Stream-level flow control [prop324]: ../proposals/324-rtt-congestion-control.txt [prop329]: ../proposals/329-traffic-splitting.md -- cgit v1.2.3-54-g00ecf From 3786ba99e77c3f70465f093dea02a785c3caf4ca Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 08:41:37 -0500 Subject: Add headings to table of relay commands --- spec/tor-spec/relay-cells.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index cc7ea88..f9fda7f 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -34,6 +34,7 @@ The relay commands are: | Command | Identifier | Type | Description | ------- | ---------- | ---- | ----------- +| Core protocol | 1 | [BEGIN] | **F** | Open a stream | 2 | [DATA] | **F**/**B** | Transmit data | 3 | [END] | **F**/**B** | Close a stream @@ -50,10 +51,12 @@ The relay commands are: | 14 | [EXTEND2] | **F**, **C** | Extend a circuit | 15 | [EXTENDED2] | **B**, **C** | Finish extending a circuit | 16..18 | Reserved | | For UDP; see [prop339]. +| Conflux | 19 | [CONFLUX_LINK][prop329] | **F**, **C** | Link circuits into a bundle | 20 | [CONFLUX_LINKED][prop329] | **B**, **C** | Acknowledge link request | 21 | [CONFLUX_LINKED_ACK][prop329] | **F**, **C** | Acknowledge CONFLUX_LINKED message (for timing) | 22 | [CONFLUX_SWITCH][prop329] | **F**/**B**, **C** | Switch between circuits in a bundle +| Onion services | 32 | [ESTABLISH_INTRO] | **F**, **C** | Create introduction point | 33 | [ESTABLISH_RENDEZVOUS] | **F**, **C** | Create rendezvous point | 34 | [INTRODUCE1] | **F**, **C** | Introduction request (to intro point) @@ -63,8 +66,10 @@ The relay commands are: | 38 | [INTRO_ESTABLISHED] | **B**, **C** | Acknowledge ESTABLISH_INTRO | 39 | [RENDEZVOUS_ESTABLISHED] | **B**, **C** | Acknowledge ESTABLISH_RENDEZVOUS | 40 | [INTRODUCE_ACK] | **B**, **C** | Acknowledge INTRODUCE1 +| Circuit padding | 41 | [PADDING_NEGOTIATE][circ-padding] | **F**, **C** | Negotiate circuit padding | 42 | [PADDING_NEGOTIATED][circ-padding] | **B**, **C** | Negotiate circuit padding +| Flow control | 43 | [XON][prop324] | **F**/**B** | Stream-level flow control | 44 | [XOFF][prop324] | **F**/**B** | Stream-level flow control -- cgit v1.2.3-54-g00ecf From eceb28954d00e9aa66bef00ceb7b64e612ec730b Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Feb 2024 08:59:07 -0500 Subject: fix a link --- spec/tor-spec/relay-cells.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/tor-spec/relay-cells.md b/spec/tor-spec/relay-cells.md index f9fda7f..3089d32 100644 --- a/spec/tor-spec/relay-cells.md +++ b/spec/tor-spec/relay-cells.md @@ -91,7 +91,7 @@ The relay commands are: [EXTENDED2]: ./create-created-cells.md#EXTEND [TRUNCATE]: ./tearing-down-circuits.md [TRUNCATED]: ./tearing-down-circuits.md -[SENDME]: ./flow-control.md#sendme-message-format.md +[SENDME]: ./flow-control.md#sendme-message-format [ESTABLISH_INTRO]: ../rend-spec/introduction-protocol.md#EST_INTRO [INTRO_ESTABLISHED]: ../rend-spec/introduction-protocol.md#INTRO_ESTABLISHED [INTRODUCE1]: ../rend-spec/introduction-protocol.md#SEND_INTRO1 -- cgit v1.2.3-54-g00ecf