S3.2.1 says:

   A value of 0 indicates the absence of a valid RTT sample.  The sender
   MUST set the value to 0 if it does not yet have an RTT estimate.

I would also say "A packet without an RTT Estimate option is considered to carry an RTT Estimate value of zero."

S3.3 says:

   When the Send RTT Estimate Feature is enabled, the sender MUST
   provide an RTT Estimate Option on all of its Data, DataAck, Sync, and
   SyncAck packets.  It MAY in addition provide the RTT Estimate Option
   on other packet types, such as DCCP-Ack.

I am concerned about interaction of this with:

   The sender is permitted to send up to MAX_INVALID_RTT=2 successive
   0-valued RTT estimate options.  If the receiver encounters more than
   MAX_INVALID_RTT RTT Estimate options in succession, it MUST behave as
   if the Send RTT Estimate Feature were off, and disregard all
   subsequent RTT Estimate options.

* You meant "more than MAX_INVALID_RTT ***zero-valued*** RTT Estimate options in succession".

* The interaction with e.g. streams of DCCP-Acks, which only MAY include RTT Estimate options, worries me. Perhaps you want to specify "data-carrying packets" or something similar.

* "it MUST behave as if the Send RTT Estimate Feature were off": This is problematic, since it could be interpreted as changing the Send RTT Estimate feature one-sidedly. Can you define this differently/more explicitly? The MUST/SHOULD balance is also iffy, since above tracking CCval is a "SHOULD" not a "MUST". Suggestion:

   If the receiver encounters more than MAX_INVALID_RTT successive
   data-carrying packets with RTT Estimate value zero, the receiver
   SHOULD fall back on CCval-based RTT estimation for future packets in
   the half-connection.

I think this points out the problem, is sufficient, and avoids unnecessary constraints.

Eddie

Reply via email to