On Sun, Oct 22, 2017 at 11:23 +0200, Job Snijders wrote:
> 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@
>

It's setting the option in my build here:

15:55:20.336682 fe:e1:bb:d1:a2:f0 fe:e1:ba:d0:55:1e 0800 78: \
  10.50.50.34.17078 > 10.50.50.1.80: S [tcp sum ok] 1313610867:1313610867(0) \
  win 16384 <mss 1460,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 3624645505 
0> \
  (DF) (ttl 64, id 25292, len 64)

> > 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.
>

Yes, jmc@ has already notified me that I didn't include the
manpage diff, but please be my guest and check your diff in.

> 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