From f9251c1832ba9add93194814062fd2b0d88642ae Mon Sep 17 00:00:00 2001 From: Mike Perry Date: Sat, 14 Jan 2017 15:08:44 -0500 Subject: Update Prop254 to match implementation. --- proposals/254-padding-negotiation.txt | 36 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'proposals/254-padding-negotiation.txt') 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 -- cgit v1.2.3-54-g00ecf