aboutsummaryrefslogtreecommitdiff
path: root/spec/tor-spec/cell-packet-format.md
diff options
context:
space:
mode:
authorJim Newsome <jnewsome@torproject.org>2023-11-06 11:08:28 -0600
committerJim Newsome <jnewsome@torproject.org>2023-11-06 11:08:28 -0600
commit1744bee8ec9fec2cc288fb160ad071ad02996570 (patch)
treeb33051a8967d0ab26cc5ebe0f0242463f3de65c9 /spec/tor-spec/cell-packet-format.md
parenta008942db4bd7a6e51c7bd6730383efce641fa5c (diff)
downloadtorspec-1744bee8ec9fec2cc288fb160ad071ad02996570.tar.gz
torspec-1744bee8ec9fec2cc288fb160ad071ad02996570.zip
cell-packet-format: fix section references
Diffstat (limited to 'spec/tor-spec/cell-packet-format.md')
-rw-r--r--spec/tor-spec/cell-packet-format.md45
1 files changed, 22 insertions, 23 deletions
diff --git a/spec/tor-spec/cell-packet-format.md b/spec/tor-spec/cell-packet-format.md
index 138a946..10c647b 100644
--- a/spec/tor-spec/cell-packet-format.md
+++ b/spec/tor-spec/cell-packet-format.md
@@ -46,28 +46,28 @@ values:
| Value | Identifier | Description |
----------------------------------------------------------------------
-| 0 | `PADDING` | Padding (See Sec 7.2) |
-| 1 | `CREATE` | Create a circuit (See Sec 5.1) |
-| 2 | `CREATED` | Acknowledge create (See Sec 5.1) |
-| 3 | `RELAY` | End-to-end data (See Sec 5.5 and 6) |
-| 4 | `DESTROY` | Stop using a circuit (See Sec 5.4) |
-| 5 | `CREATE_FAST` | Create a circuit, no KP (See Sec 5.1) |
-| 6 | `CREATED_FAST` | Circuit created, no KP (See Sec 5.1) |
-| 8 | `NETINFO` | Time and address info (See Sec 4.5) |
-| 9 | `RELAY_EARLY` | End-to-end data; limited (See Sec 5.6) |
-| 10 | `CREATE2` | Extended CREATE cell (See Sec 5.1) |
-| 11 | `CREATED2` | Extended CREATED cell (See Sec 5.1) |
-| 12 | `PADDING_NEGOTIATE` | Padding negotiation (See Sec 7.2) |
+| 0 | `PADDING` | Padding (See [Link padding](./flow-control.md#link-padding)) |
+| 1 | `CREATE` | Create a circuit (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) |
+| 2 | `CREATED` | Acknowledge create (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) |
+| 3 | `RELAY` | End-to-end data (See [Routing relay cells](./routing-relay-cells.md#routing-relay-cells) and [Relay cells](./relay-cells.md#relay-cells)) |
+| 4 | `DESTROY` | Stop using a circuit (See [Tearing down circuits](./tearing-down-circuits.md#tearing-down-circuits)) |
+| 5 | `CREATE_FAST` | Create a circuit, no KP (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) |
+| 6 | `CREATED_FAST` | Circuit created, no KP (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) |
+| 8 | `NETINFO` | Time and address info (See [`NETINFO` cells](./negotiating-channels.md#NETINFO-cells)) |
+| 9 | `RELAY_EARLY` | End-to-end data; limited (See [Handling `RELAY_EARLY` cells](./relay-early.md#handling-relay-early-cells)) |
+| 10 | `CREATE2` | Extended CREATE cell (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) |
+| 11 | `CREATED2` | Extended CREATED cell (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) |
+| 12 | `PADDING_NEGOTIATE` | Padding negotiation (See [Flow control](./flow-control.md#flow-control)) |
Variable-length command values are:
| Value | Identifier | Description |
------------------------------------------------------------------
-| 7 | `VERSIONS` | Negotiate proto version (See Sec 4) |
-| 128 | `VPADDING` | Variable-length padding (See Sec 7.2) |
-| 129 | `CERTS` | Certificates (See Sec 4.2) |
-| 130 | `AUTH_CHALLENGE` | Challenge value (See Sec 4.3) |
-| 131 | `AUTHENTICATE` | Client authentication (See Sec 4.5) |
+| 7 | `VERSIONS` | Negotiate proto version (See [Negotiating versions with `VERSIONS` cells](./negotiating-channels.md#VERSIONS-cells)) |
+| 128 | `VPADDING` | Variable-length padding (See [Flow control](./flow-control.md#flow-control)) |
+| 129 | `CERTS` | Certificates (See [`CERTS cells`](./negotiating-channels.md#CERTS-cells)) |
+| 130 | `AUTH_CHALLENGE` | Challenge value (See [`AUTH_CHALLENGE` cells](./negotiating-channels.md#AUTH-CHALLENGE-cells)) |
+| 131 | `AUTHENTICATE` | Client authentication (See [`AUTHENTICATE` cells](./negotiating-channels.md#AUTHENTICATE-cells)) |
| 132 | `AUTHORIZE` | Client authorization (Not yet used) |
The interpretation of `Payload` depends on the type of the cell.
@@ -76,7 +76,7 @@ The interpretation of `Payload` depends on the type of the cell.
* `CREATE`/`CREATE2`: Payload contains the handshake challenge.
* `CREATED`/`CREATED2`: Payload contains the handshake response.
* `RELAY`/`RELAY_EARLY`: Payload contains the relay header and relay body.
-* `DESTROY`: Payload contains a reason for closing the circuit. (see 5.4)
+* `DESTROY`: Payload contains a reason for closing the circuit. (see [Tearing down circuits](./tearing-down-circuits.md#tearing-down-circuits))
Upon receiving any other value for the command field, an OR must
drop the cell. Since more cell types may be added in the future, ORs
@@ -97,7 +97,7 @@ Senders set padding bytes depending on the cell's command:
* Padding bytes SHOULD be set to NUL.
We recommend random padding in `RELAY`/`RELAY_EARLY` cells, so that the cell
-content is unpredictable. See the format of relay cells in section 6.1
+content is unpredictable. See the format of relay cells in [Relay cells](./relay-cells.md#relay-cells)
for detail.
For other cells, TLS authenticates cell content, so randomized padding
@@ -110,12 +110,11 @@ If there is no other traffic, ORs and OPs send one another a `PADDING`
cell every few minutes.
`CREATE`, `CREATE2`, `CREATED`, `CREATED2`, and `DESTROY` cells are used to
-manage circuits; see section 5 below.
+manage circuits; see [Circuit management](./circuit-management.md#circuit-management).
`RELAY` cells are used to send commands and data along a circuit; see
-section 6 below.
+[Application connections and stream management](./streams.md#application-connections-and-stream-management).
`VERSIONS` and `NETINFO` cells are used to set up connections in link
protocols v2 and higher; in link protocol v3 and higher, `CERTS`,
-`AUTH_CHALLENGE`, and `AUTHENTICATE` may also be used. See section 4
-below.
+`AUTH_CHALLENGE`, and `AUTHENTICATE` may also be used. See [Negotiating and initializing connections](./negotiating-channels.md#negotiating-and-initializing-connections).