Subject: [tcpm] [Errata Held for Document Update] RFC7323 (5585)

From: RFC Errata System <[email-masked]>
Date: Mon, 18 Mar 2019 07:10:14 -0700 (PDT)

The following errata report has been held for document update 
for RFC7323, "TCP Extensions for High Performance". 

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata/eid5585

--------------------------------------
Status: Held for Document Update
Type: Editorial

Reported by: Marco Caspers <[email-masked]>
Date Reported: 2018-12-27
Held by: Mirja Kühlewind (IESG)

Section: 2.2

Original Text
-------------
2.2.  Window Scale Option

   The three-byte Window Scale option MAY be sent in a <SYN> segment by
   a TCP.  It has two purposes: (1) indicate that the TCP is prepared to
   both send and receive window scaling, and (2) communicate the
   exponent of a scale factor to be applied to its receive window.
   Thus, a TCP that is prepared to scale windows SHOULD send the option,
   even if its own scale factor is 1 and the exponent 0.  The scale
   factor is limited to a power of two and encoded logarithmically, so
   it may be implemented by binary shift operations.  The maximum scale
   exponent is limited to 14 for a maximum permissible receive window
   size of 1 GiB (2^(14+16)).

Corrected Text
--------------
2.2.  Window Scale Option

   The three-byte Window Scale option MAY be sent in a <SYN> segment by
   a TCP.  It has two purposes: (1) indicate that the TCP is prepared to
   both send and receive window scaling, and (2) communicate the
   exponent of a scale factor to be applied to its receive window.
   Thus, a TCP that is prepared to scale windows SHOULD send the option,
   even if its own scale factor is 1 and the exponent 0.  The scale
   factor is limited to a power of two and encoded logarithmically, so
   it may be implemented by binary shift operations.  The maximum scale
   exponent is limited to 14 for a maximum permissible receive window
   size of approximately 1 GiB ((2^30-1) - (2^14-1)).

Notes
-----
Left shift inserts zero's on the right hand side so the maximum window size is actually 16KiB shy of 1 GiB. The exact calculation would be  ((2^30-1) - (2^14-1)). As it is stated as "approximately 1 GiB" the text is not incorrect but it would be good to provide the complete calculation in a document update to avoid invalid implementations.

--------------------------------------
RFC7323 (draft-ietf-tcpm-1323bis-21)
--------------------------------------
Title               : TCP Extensions for High Performance
Publication Date    : September 2014
Author(s)           : D. Borman, B. Braden, V. Jacobson, R. Scheffenegger, Ed.
Category            : PROPOSED STANDARD
Source              : TCP Maintenance and Minor Extensions
Area                : Transport
Stream              : IETF
Verifying Party     : IESG