The following commit has been merged in the master branch:
commit 7739d1e967177686e91a6ea86c73b404515a1c0d
Author: Jeffrey Altman <[email protected]>
Date: Fri Oct 2 19:51:06 2020 -0400
rx: compare RX_ACK_TYPE_ACK as a bit-field
The rx_ackPacket.acks array (the SACK table) consists of up to 255
octets. Each octet stores either the value zero (RX_ACK_TYPE_NACK)
or one (RX_ACK_TYPE_ACK). Effectively only bit-zero of each octet
is used.
The rx_ackPacket.acks array cannot be enlarged but one possible
method of encoding the ACK/NACK state for packets when the
window size is greater than 255 is to use bits 1-7 of each
octet.
This change alters the test for ACK vs NACK to be a bit comparison
instead of a equality comparison. This change permits RX to be
compatible with any future use of bits 1-7.
No peer that treats the SACK table as bytes can ever send more
than 255 packets regardless of the advertised receive window.
Therefore, existing peers will never receive a SACK table with
more than 255 packets worth of bits.
Change-Id: I4dfcdc9ea18e060eeb257832297f557b7109e93a
Reviewed-on: https://gerrit.openafs.org/14465
Tested-by: BuildBot <[email protected]>
Reviewed-by: Benjamin Kaduk <[email protected]>
src/rx/rx.c | 12 +++++++-----
src/rx/rx.h | 25 +++++++++++++++++++------
2 files changed, 26 insertions(+), 11 deletions(-)
--
OpenAFS Master Repository
_______________________________________________
OpenAFS-cvs mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-cvs