aboutsummaryrefslogtreecommitdiff
path: root/proposals/254-padding-negotiation.txt
diff options
context:
space:
mode:
authorMike Perry <mikeperry-git@torproject.org>2017-01-14 15:08:44 -0500
committerMike Perry <mikeperry-git@torproject.org>2017-01-14 15:09:56 -0500
commitf9251c1832ba9add93194814062fd2b0d88642ae (patch)
treefd535219544142be4a37e2d7996172452f9c8d82 /proposals/254-padding-negotiation.txt
parent08039970760f72b439398ae9eb42e786ccb6925e (diff)
downloadtorspec-f9251c1832ba9add93194814062fd2b0d88642ae.tar.gz
torspec-f9251c1832ba9add93194814062fd2b0d88642ae.zip
Update Prop254 to match implementation.
Diffstat (limited to 'proposals/254-padding-negotiation.txt')
-rw-r--r--proposals/254-padding-negotiation.txt36
1 files changed, 16 insertions, 20 deletions
diff --git a/proposals/254-padding-negotiation.txt b/proposals/254-padding-negotiation.txt
index e4da004..c3d9ecd 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -41,31 +41,27 @@ Proposal 251[1]).
In that scenario, the primary negotiation mechanism we need is a way for
mobile clients to tell their Guards to stop padding, or to pad less
-often. The following Trunnel payloads should cover the needed
+often. The following Trunnel payload should cover the needed
parameters:
- const CELL_PADDING_COMMAND_STOP = 1;
- const CELL_PADDING_COMMAND_START = 2;
+ const CHANNELPADDING_COMMAND_STOP = 1;
+ const CHANNELPADDING_COMMAND_START = 2;
- /* This command tells the relay to stop sending any periodic
- CELL_PADDING cells. */
- struct cell_padding_stop {
- u8 command IN [CELL_PADDING_COMMAND_STOP];
- };
-
- /* This command tells the relay to alter its min and max netflow
- timeout range values, and send padding at that rate (resuming
- if stopped). */
- struct cell_padding_start {
- u8 command IN [CELL_PADDING_COMMAND_START];
+ /* The start command tells the relay to alter its min and max netflow
+ timeout range values, and send padding at that rate (resuming
+ if stopped). The stop command tells the relay to stop sending
+ link-level padding. */
+ struct channelpadding_negotiate {
+ u8 version IN [0];
+ u8 command IN [CHANNELPADDING_COMMAND_START, CHANNELPADDING_COMMAND_STOP];
- /* Min must not be lower than the current consensus parameter
- nf_ito_low. */
- u16 ito_low_ms;
+ /* Min must not be lower than the current consensus parameter
+ nf_ito_low. Ignored if command is stop. */
+ u16 ito_low_ms;
- /* Max must not be lower than ito_low_ms */
- u16 ito_high_ms;
- };
+ /* Max must not be lower than ito_low_ms. Ignored if command is stop. */
+ u16 ito_high_ms;
+ };
More complicated forms of link-level padding can still be specified
using the primitives in Section 3, by using "leaky pipe" topology to