Page MenuHomeFreeBSD

Rename rfc6675_pipe to sack.revised, and enable by default
ClosedPublic

Authored by rscheff on Feb 16 2021, 1:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 13, 10:36 AM
Unknown Object (File)
Tue, Nov 12, 12:24 PM
Unknown Object (File)
Mon, Nov 11, 8:41 AM
Unknown Object (File)
Sun, Nov 10, 3:17 PM
Unknown Object (File)
Fri, Nov 8, 12:21 AM
Unknown Object (File)
Fri, Nov 8, 12:21 AM
Unknown Object (File)
Thu, Nov 7, 2:31 PM
Unknown Object (File)
Thu, Nov 7, 12:36 AM

Details

Summary

All missing pieces to claim full RFC6675 support are in place,
but disabled by default. These algorithms are all fenced
behind the preexisting sysctl "rfc6675_pipe" (disabled by default).

It was noted earlier, that referencing RFCs directly in sysctls is
not the optimal choice.

To better reflect these mechanisms belonging with SACK loss
recovery, shuffling the sysctl into the net.inet.tcp.sack branch,
and rename it to "revised".

Further, to get some additional testing coverage, enabling by default
in HEAD, by mid-march.

Unless this change (or the change of defaults) has to be backed out,
planning for an MFC to stable/13 mid-april.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38643
Build 35532: arc lint + arc unit

Event Timeline

Any chance to have a more specific name than newsack?

Certainly, I'm definitely open to suggestions. functional descriptions would be a mouthful, as 6675 has pipe, faster_lossrecovery, and rescue_rexmit.

rfc6675 was adopted in 2012... "sack2012"? Only "improved"? retain "rfc6675"? "lessrto"?

  • change pretty name of sysctl to 'revised'
  • rebase to include PRR pipe calculation
rscheff retitled this revision from Rename rfc6675_pipe to sack.newsack, and enable by default to Rename rfc6675_pipe to sack.revised, and enable by default.Feb 20 2021, 7:53 PM
rscheff edited the summary of this revision. (Show Details)
kbowling added a subscriber: kbowling.

Thanks for doing this!

This revision is now accepted and ready to land.Feb 21 2021, 12:00 AM
kbowling added inline comments.
sys/netinet/tcp_input.c
2610

This hunk fails too

sys/netinet/tcp_sack.c
835

This hunk rejected by patch, tcp_sack_partialack doesn't look like this in head

This revision now requires changes to proceed.Feb 23 2021, 5:32 PM
This revision is now accepted and ready to land.Feb 23 2021, 8:56 PM
  • changing vnet 6675_pipe to newsack
  • rename and shuffle rfc6675_pipe to sack.newsack
  • onboard the cc modules to the change
  • rebase to HEAD
This revision now requires review to proceed.Feb 25 2021, 7:22 PM
  • rebase to HEAD
  • make old OID read-only with a warning message
This revision is now accepted and ready to land.Apr 8 2021, 2:09 PM

transport call: Just remove old sysctl, add pointer in man page

  • remove sysctlproc with hint, only mention change in man page
This revision now requires review to proceed.Apr 17 2021, 12:39 PM
This revision was not accepted when it landed; it landed in state Needs Review.Apr 17 2021, 1:51 PM
This revision was automatically updated to reflect the committed changes.