]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Improve SACK support code for RFC6675 and PRR
authorRichard Scheffenegger <rscheff@FreeBSD.org>
Thu, 13 Aug 2020 16:30:09 +0000 (16:30 +0000)
committerRichard Scheffenegger <rscheff@FreeBSD.org>
Thu, 13 Aug 2020 16:30:09 +0000 (16:30 +0000)
commitf359d6ebbcced08a13060c07168856ffe6c9f734
tree5a392046b07ebc753b3357e5288dd5b719a2c653
parent958a094323005f8ddd4013b037ffd6cbbd5e61ad
Improve SACK support code for RFC6675 and PRR

Adding proper accounting of sacked_bytes and (per-ACK)
delivered data to the SACK scoreboard. This will
allow more aspects of RFC6675 to be implemented as well
as Proportional Rate Reduction (RFC6937).

Prior to this change, the pipe calculation controlled with
net.inet.tcp.rfc6675_pipe was also susceptible to incorrect
results when more than 3 (or 4) holes in the sequence space
were present, which can no longer all fit into a single
ACK's SACK option.

Reviewed by: kbowling, rgrimes (mentor)
Approved by: rgrimes (mentor, blanket)
MFC after: 3 weeks
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D18624
sys/netinet/tcp_input.c
sys/netinet/tcp_sack.c
sys/netinet/tcp_var.h