RFC Errata

Errata Search

Source of RFC
Summary Table Full Records

RFC 7323, "TCP Extensions for High Performance", September 2014

Source of RFC: tcpm (tsv)

Errata ID: 5586
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: Marco Caspers
Date Reported: 2018-12-27
Rejected by: Mirja Kühlewind
Date Rejected: 2020-03-06

Section 2.3 says:

Since the max window is 2^S (where S is the scaling shift count)
times at most 2^16 - 1 (the maximum unscaled window), the maximum
window is guaranteed to be < 2^30 if S <= 14.  Thus, the shift count
MUST be limited to 14 (which allows windows of 2^30 = 1 GiB).  If a
Window Scale option is received with a shift.cnt value larger than
14, the TCP SHOULD log the error but MUST use 14 instead of the
specified value.  This is safe as a sender can always choose to only
scaling by a factor larger than 14 and the sender is only scaling by
14, then the receive window used by the sender will appear smaller
than it is in reality.

It should say:

Since the max window is 2^S (where S is the scaling shift count)
times at most 2^16 - 1 (the maximum unscaled window), the maximum
window is guaranteed to be < 2^30-2^14 if S <= 14.  Thus, the shift
count
MUST be limited to 14 (which allows windows of 2^30-2^14 ~ 1 GiB).
If a
Window Scale option is received with a shift.cnt value larger than
14, the TCP SHOULD log the error but MUST use 14 instead of the
specified value.  This is safe as a sender can always choose to only
scaling by a factor larger than 14 and the sender is only scaling by
14, then the receive window used by the sender will appear smaller
than it is in reality.

Notes:

Shifting is inserting zeroes on the right hand side. Thus for S = 14 the 14 right most bits are zero and thus the calculation 2^30 is invalid for the guaranteed maximum window size.

Correct calculation formulae is (2^30 - 1) - (2^14 -1).
Which can be simplified to 2^30 - 2^14.
--VERIFIER NOTES--
That section is for illustration purposes only, and not intended as an exact value for the maximum supported window size.

It is correct that the maximum supported window size is 2^30-2^14, but the requirement is, that the window size has to remain smaller than 2^30.

Report New Errata