On Thu, Oct 19, 2017 at 06:55:05PM +0200, Mike Belopuhov wrote:
> SACK has been enabled in GENERIC kernels for over a decade and it's
> time to make it an official part of the TCP stack. 

I tested your diff by doing an amd64 release build and testing both the
newly created /bsd and /bsd.rd, I observed no problems and SACK was
available in both boot scenarios.

One thing that stood out to me is that the miniroot's "SMALL" ftp(1)
didn't sent SACK as permitted tcp option. However, after chrooting into
my normal environment and using the real /usr/bin/ftp, I observed that
SACK was available and used.

If this is as expected, OK job@

> This grows bsd.rd on amd64 by 8k but Theo said it's within reasonable.
> OK?

    $ ls -latr /bsd.rd /tmp/bsd.rd
    -rw-------  1 root  wheel  9787542 Oct 22 08:36 /bsd.rd
    -rw-------  1 job   wheel  9782763 Oct 19 12:48 /old/bsd.rd

> diff --git sys/conf/GENERIC sys/conf/GENERIC
> -option               TCP_SACK        # Selective Acknowledgements for TCP

I think the below patch may be an appropriate companion for removal of
the option.

Kind regards,

Job

diff --git share/man/man4/options.4 share/man/man4/options.4
index 3e15d4c8c4f..3945611607e 100644
--- share/man/man4/options.4
+++ share/man/man4/options.4
@@ -454,20 +454,6 @@ Turns on forward acknowledgements allowing a more precise 
estimate of
 outstanding data during the fast recovery phase by using
 .Em SACK
 information.
-This option can only be used together with
-.Em TCP_SACK .
-.It Cd option TCP_SACK
-Turns on selective acknowledgements.
-Additional information about
-segments already received can be transmitted back to the sender,
-thus indicating segments that have been lost and allowing for
-a swifter recovery.
-Both communication endpoints need to support
-.Em SACK .
-The fallback behaviour is NewReno fast recovery phase, which allows
-one lost segment to be recovered per round trip time.
-When more than one segment has been dropped per window, the transmission can
-continue without waiting for a retransmission timeout.
 .It Cd option TCP_SIGNATURE
 Turns on support for the TCP MD5 Signature option (RFC 2385).
 This is used by

Reply via email to