Richard.Scheffenegger at netapp.com
Sat Dec 22 00:06:09 UTC 2018
For those inclined, I have a working patch for full RFC6675 support now (need to validate pipe and behavior in various scenarios still):
a) enters Loss Recovery on either Nth dupack, or when more than (N-1)*MSS bytes are sacked (the latter relevant for ack thinning)
b) a cumulative ack below snd_max, while snd_max == recovery_point (application limited) no longer requires a lengthy RTO and slow start to recover from. Instead, the Rescue Retransmission mechanism is implemented.
c) proper accounting for delivered_data and sacked_bytes in the single-pass update of the scoreboard. These variables enable further mechanisms like Proportional Rate Reduction. Also, this fixes potential exploits by malicious clients, and support thin IoT clients that can store data to the right of rcv_ack, but not keep state for a full RFC3517 compliant scoreboard.
I certainly need reviewers, if you are interested please let me know so that I can sign you in for it. Also, further testing would be required.
More information about the freebsd-transport