diff options
author | Mike Perry <mikeperry-git@torproject.org> | 2017-01-14 15:08:44 -0500 |
---|---|---|
committer | Mike Perry <mikeperry-git@torproject.org> | 2017-01-14 15:09:56 -0500 |
commit | f9251c1832ba9add93194814062fd2b0d88642ae (patch) | |
tree | fd535219544142be4a37e2d7996172452f9c8d82 /proposals/254-padding-negotiation.txt | |
parent | 08039970760f72b439398ae9eb42e786ccb6925e (diff) | |
download | torspec-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.txt | 36 |
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 |