getsockopt(SO_SNDBUF) and openssh/HPN

Chris Stankevitz chris at stankevitz.com
Tue Dec 29 19:24:48 UTC 2015


Hello,

Please identify any false statements (particularly statement 7 which 
accuses FreeBSD 10.1 of having a bug):

1. openssh limits the size of "the outgoing buffer" to 65KB

2. (1) limits bandwidth on high BDP links.

3. FreeBSD 10.1 supplied openssh/HPN tries to fix (2) by increasing the 
size of "the outgoing buffer" to match the SO_SNDBUF capacity

4. openssh/HPN accomplishes (3) by periodically calling 
getsockopt(SO_SNDBUF)

5. In FreeBSD 10.1, getsockopt(SO_SNDBUF) does not return the value set 
by setsockopt(SO_SNDBUF).  Instead it reports the high watermark of the 
outgoing buffer.

6. (3) does nothing because of (4) and (5)

7. There is a bug in FreeBSD 10.1 networking or FreeBSD 10.1 supplied 
openssh/HPN:

7a. FreeBSD bug: getsockopt(SO_SNDBUF) does not return value set by 
setsockopt(SO_SNDBUF)

7b. openssh/HPN bug: do not use getsockopt(SO_SNDBUF) to get the value 
set by setsockopt(SO_SNDBUF) -- use something else


Original thread from August 2015:
  https://www.mail-archive.com/freebsd-net@freebsd.org/msg49793.html

Thank you,

Chris



More information about the freebsd-net mailing list