I've prepared two versions:

Something like what Lucas said: 
https://github.com/quicwg/quic-bit-grease/pull/30
Minimal: https://github.com/quicwg/quic-bit-grease/pull/29

I'll leave this to those that had more trouble with the language to let me know 
what they prefer.


On Mon, Jul 4, 2022, at 19:07, Andrew Alston - IETF wrote:
> Sorry for the delayed response,
> 
> I think Lucas’s statement is fair here – so if we can agree on t hat – 
> I’d be ok with clearing my discuss on this one 
> 
> Thanks
> 
> Andrew
> 
> 
> *From:* Lucas Pardue <[email protected]> 
> *Sent:* Friday, July 1, 2022 3:58 AM
> *To:* Martin Thomson <[email protected]>
> *Cc:* Andrew Alston - IETF <[email protected]>; The IESG 
> <[email protected]>; [email protected]; WG Chairs 
> <[email protected]>; QUIC WG <[email protected]>
> *Subject:* Re: Andrew Alston's Discuss on 
> draft-ietf-quic-bit-grease-04: (with DISCUSS)
> 
> Hey Martin, all,
> 
> I think you're correct in pointing out that the term unpredictable is a 
> term of art within the context of QUIC that this draft operates. 
> However, I find also in RFC 9000 that supporting text for various 
> unpredictable elements usually provides a justification or some 
> guidance. Arguably, the justification _is_ the entire document, but in 
> the context of other grease-like mechanisms in the IETF, it seems a 
> single bit might need a more holistic approach beyond just the value 
> itself. 
> 
> The closest parallel, for me, is the spin bit text that goes so far as saying 
>> [if your TPs let you randomize] It is RECOMMENDED that
>    endpoints set the spin bit to a random value either chosen
>    independently for each packet or chosen independently for each
>    connection ID.
> 
> Stating explicitly that the unpredictability can be per connection or 
> per packet might be all that's need to make the intent crystal clear, 
> while leaving the actual decisions to implementations.
> Cheers
> Lucas
> 
> 
> On Fri, Jul 1, 2022 at 12:45 AM Martin Thomson <[email protected]> wrote:
>> I'm surprised at this question.  We used the word "unpredictable" in RFC 
>> 9000 a few times, with exactly this meaning and had no issue.  See for 
>> example:
>> 
>> > When an Initial packet is sent by a client that has not previously 
>> > received an Initial or Retry packet from the server, the client populates 
>> > the Destination Connection ID field with an unpredictable value.
>> 
>> Or
>> 
>> > To initiate path validation, an endpoint sends a PATH_CHALLENGE frame 
>> > containing an unpredictable payload on the path to be validated.
>> 
>> Or
>> 
>> Stateless Reset {
>>   Fixed Bits (2) = 1,
>>   Unpredictable Bits (38..),
>>   Stateless Reset Token (128),
>> }
>> 
>> As you say, a bit can assume one of two values, 0 or 1.  Setting a bit to a 
>> predictable value would mean choosing 0 or 1 in a way that someone might be 
>> able to guess the next value.  Always 1, always 0, or alternating 0 and 1 
>> are examples of predictable methods of selecting a value.  Setting a bit to 
>> an unpredictable value would mean setting it to either 0 or 1 such that 
>> someone else is unlikely to correctly guess the next value.  A random draw 
>> is unpredictable, but there are other methods that would also be 
>> unpredictable.
>> 
>> On Thu, Jun 30, 2022, at 22:52, Andrew Alston via Datatracker wrote:
>> > Andrew Alston has entered the following ballot position for
>> > draft-ietf-quic-bit-grease-04: Discuss
>> >
>> > When responding, please keep the subject line intact and reply to all
>> > email addresses included in the To and CC lines. (Feel free to cut this
>> > introductory paragraph, however.)
>> >
>> >
>> > Please refer to 
>> > https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/
>> >  
>> > for more information about how to handle DISCUSS and COMMENT positions.
>> >
>> >
>> > The document, along with other ballot positions, can be found here:
>> > https://datatracker.ietf.org/doc/draft-ietf-quic-bit-grease/
>> >
>> >
>> >
>> > ----------------------------------------------------------------------
>> > DISCUSS:
>> > ----------------------------------------------------------------------
>> >
>> > Thanks for the work on this document,
>> >
>> > Hopefully this discuss will be relatively easy to resolve - and may result 
>> > from
>> > a lack of understanding - but -
>> >
>> >    Endpoints that receive the grease_quic_bit transport parameter from a
>> >    peer SHOULD set the QUIC Bit to an unpredictable value unless another
>> >    extension assigns specific meaning to the value of the bit.
>> >
>> > Now, this is in reference to a bit - which can only be 0 or 1 - and the
>> > document further goes on to clarify certain situations where this bit 
>> > should be
>> > set or unset - so I am not at all sure what this paragraph really means and
>> > hoping this can be clarified because I'm not sure how this will be 
>> > interpreted
>> > on implementation.

Reply via email to