Re: TCP Window Scaling

2017-09-15 Thread Stuart Henderson
On 2017/09/15 19:45, Andreas Krüger wrote:
> I see that. But it still does not answer the question why the option to set 
> them through sysctl was removed. Why would you suddenly not be allowed to set 
> the max size with sysctl, what is the reason behind that choice taken in the 
> 4.9 release.

Before then it was a fixed size buffer. Whatever you set the sysctl to,
it was static and didn't rise. After then it was auto tuning so that
connections that could make use of increased buffer sizes could do so,
but without blowing out kernel memory use excessively.

> 
> > Den 15. sep. 2017 kl. 13.34 skrev Stuart Henderson :
> > 
> >> On 2017-09-14, Chris Cappuccio  wrote:
> >> -w1M works for me
> >> -
> >> Andreas Kr??ger [a...@patientsky.com] wrote:
> >>> I do manage to read the manual, but let me clarify this. I am not
> >>> allowed to set a buffer larger than 256KB with iperf:
> >>> 
> >>> $ uname -a
> >>> OpenBSD odn1-fw-odn1-01 6.0 GENERIC.MP#0 amd64

With a hostname like this it sounds like a firewall. Are you aware that
this only affects connections to/from the machine itself? It has no effect
on forwarded connections.

> > 6.0 is limited to 256K, 6.1 and newer allow up to 2MB, and by default
> > it will auto tune.
> > 
> > As well as iperf -w, here's how to hardcode it on a few other programs:
> > 
> > httpd/relayd "socket buffer"
> > tcpbench -S
> > rsync --sockopts=SO_SNDBUF=xxx,SO_RCVBUF=yyy
> > 
> > You might be interested to watch "netstat -Bn -p tcp" if you're playing
> > with this..
> > 
> > 



Re: TCP Window Scaling

2017-09-15 Thread Andreas Krüger
I see that. But it still does not answer the question why the option to set 
them through sysctl was removed. Why would you suddenly not be allowed to set 
the max size with sysctl, what is the reason behind that choice taken in the 
4.9 release.

> Den 15. sep. 2017 kl. 13.34 skrev Stuart Henderson :
> 
>> On 2017-09-14, Chris Cappuccio  wrote:
>> -w1M works for me
>> -
>> Andreas Kr??ger [a...@patientsky.com] wrote:
>>> I do manage to read the manual, but let me clarify this. I am not
>>> allowed to set a buffer larger than 256KB with iperf:
>>> 
>>> $ uname -a
>>> OpenBSD odn1-fw-odn1-01 6.0 GENERIC.MP#0 amd64
> 
> 6.0 is limited to 256K, 6.1 and newer allow up to 2MB, and by default
> it will auto tune.
> 
> As well as iperf -w, here's how to hardcode it on a few other programs:
> 
> httpd/relayd "socket buffer"
> tcpbench -S
> rsync --sockopts=SO_SNDBUF=xxx,SO_RCVBUF=yyy
> 
> You might be interested to watch "netstat -Bn -p tcp" if you're playing
> with this..
> 
> 



Re: TCP Window Scaling

2017-09-15 Thread Stuart Henderson
On 2017-09-14, Chris Cappuccio  wrote:
> -w1M works for me
> -
> Andreas Kr??ger [a...@patientsky.com] wrote:
>> I do manage to read the manual, but let me clarify this. I am not
>> allowed to set a buffer larger than 256KB with iperf:
>> 
>> $ uname -a
>> OpenBSD odn1-fw-odn1-01 6.0 GENERIC.MP#0 amd64

6.0 is limited to 256K, 6.1 and newer allow up to 2MB, and by default
it will auto tune.

As well as iperf -w, here's how to hardcode it on a few other programs:

httpd/relayd "socket buffer"
tcpbench -S
rsync --sockopts=SO_SNDBUF=xxx,SO_RCVBUF=yyy

You might be interested to watch "netstat -Bn -p tcp" if you're playing
with this..




Re: TCP Window Scaling

2017-09-14 Thread Ville Valkonen
Hello,

this is what Janne Johansson said in the earlier message:
"Since 6.1 I think the max is 2M, and not 256k."

Therefore, not surprised if 4MB will fail.

--
Regards,
Ville

On 14 September 2017 at 21:30, Andreas Krüger  wrote:
> I do manage to read the manual, but let me clarify this. I am not
> allowed to set a buffer larger than 256KB with iperf:
>
> $ uname -a
> OpenBSD odn1-fw-odn1-01 6.0 GENERIC.MP#0 amd64
>
> $ iperf -s -w 256KB
> 
> Server listening on TCP port 5001
> TCP window size:  256 KByte
> 
>
> $ iperf -s -w 4MB
> 
> Server listening on TCP port 5001
> TCP window size: 16.0 KByte (WARNING: requested 4.00 MByte)
> 
> $
>
> ANDREAS KRÜGER
> CTO Hosting and Infrastructure
>
> +45 51808863
> a...@patientsky.com
>
>
>
> PatientSky AS
> Hovfaret 17 B, NO-0275 Oslo, Norway
> patientsky.com
>
>
>
>
> 2017-09-14 19:46 GMT+02:00 Chris Cappuccio :
>> ipsec tunnels don't use TCP
>>
>> iperf has the -w option
>>
>> Andreas Kr??ger [a...@patientsky.com] wrote:
>>> How would i set i for ipsec tunnels or iperf etc. then?
>>> ANDREAS KR??GER
>>> CTO Hosting and Infrastructure
>>>
>>> +45 51808863
>>> a...@patientsky.com
>>>
>>>
>>>
>>> PatientSky AS
>>> Hovfaret 17 B, NO-0275 Oslo, Norway
>>> patientsky.com
>>>
>>>
>>>
>>>
>>> 2017-09-14 13:10 GMT+02:00 Janne Johansson :
>>> >
>>> > 2017-09-14 13:08 GMT+02:00 Janne Johansson :
>>> >>
>>> >> Since 6.1 I think the max is 2M, and not 256k. Many programs will also
>>> >> allow you to bump limits using setsockopt.
>>> >>
>>> >>
>>> >
>>> > httpd.conf:
>>> > server "secret.site" {
>>> > tcp {
>>> > socket buffer 2097152
>>> > }
>>> >
>>> > rsyncd.conf:
>>> >  ...
>>> > socket options = SO_SNDBUF=2097152
>>> >
>>> >
>>> > --
>>> > May the most significant bit of your life be positive.
>



Re: TCP Window Scaling

2017-09-14 Thread Chris Cappuccio
-w1M works for me
-
Andreas Kr??ger [a...@patientsky.com] wrote:
> I do manage to read the manual, but let me clarify this. I am not
> allowed to set a buffer larger than 256KB with iperf:
> 
> $ uname -a
> OpenBSD odn1-fw-odn1-01 6.0 GENERIC.MP#0 amd64
> 
> $ iperf -s -w 256KB
> 
> Server listening on TCP port 5001
> TCP window size:  256 KByte
> 
> 
> $ iperf -s -w 4MB
> 
> Server listening on TCP port 5001
> TCP window size: 16.0 KByte (WARNING: requested 4.00 MByte)
> 
> $
> 
> ANDREAS KR??GER
> CTO Hosting and Infrastructure
> 
> +45 51808863
> a...@patientsky.com
> 
> 
> 
> PatientSky AS
> Hovfaret 17 B, NO-0275 Oslo, Norway
> patientsky.com
> 
> 
> 
> 
> 2017-09-14 19:46 GMT+02:00 Chris Cappuccio :
> > ipsec tunnels don't use TCP
> >
> > iperf has the -w option
> >
> > Andreas Kr??ger [a...@patientsky.com] wrote:
> >> How would i set i for ipsec tunnels or iperf etc. then?
> >> ANDREAS KR??GER
> >> CTO Hosting and Infrastructure
> >>
> >> +45 51808863
> >> a...@patientsky.com
> >>
> >>
> >>
> >> PatientSky AS
> >> Hovfaret 17 B, NO-0275 Oslo, Norway
> >> patientsky.com
> >>
> >>
> >>
> >>
> >> 2017-09-14 13:10 GMT+02:00 Janne Johansson :
> >> >
> >> > 2017-09-14 13:08 GMT+02:00 Janne Johansson :
> >> >>
> >> >> Since 6.1 I think the max is 2M, and not 256k. Many programs will also
> >> >> allow you to bump limits using setsockopt.
> >> >>
> >> >>
> >> >
> >> > httpd.conf:
> >> > server "secret.site" {
> >> > tcp {
> >> > socket buffer 2097152
> >> > }
> >> >
> >> > rsyncd.conf:
> >> >  ...
> >> > socket options = SO_SNDBUF=2097152
> >> >
> >> >
> >> > --
> >> > May the most significant bit of your life be positive.



Re: TCP Window Scaling

2017-09-14 Thread Andreas Krüger
I do manage to read the manual, but let me clarify this. I am not
allowed to set a buffer larger than 256KB with iperf:

$ uname -a
OpenBSD odn1-fw-odn1-01 6.0 GENERIC.MP#0 amd64

$ iperf -s -w 256KB

Server listening on TCP port 5001
TCP window size:  256 KByte


$ iperf -s -w 4MB

Server listening on TCP port 5001
TCP window size: 16.0 KByte (WARNING: requested 4.00 MByte)

$

ANDREAS KRÜGER
CTO Hosting and Infrastructure

+45 51808863
a...@patientsky.com



PatientSky AS
Hovfaret 17 B, NO-0275 Oslo, Norway
patientsky.com




2017-09-14 19:46 GMT+02:00 Chris Cappuccio :
> ipsec tunnels don't use TCP
>
> iperf has the -w option
>
> Andreas Kr??ger [a...@patientsky.com] wrote:
>> How would i set i for ipsec tunnels or iperf etc. then?
>> ANDREAS KR??GER
>> CTO Hosting and Infrastructure
>>
>> +45 51808863
>> a...@patientsky.com
>>
>>
>>
>> PatientSky AS
>> Hovfaret 17 B, NO-0275 Oslo, Norway
>> patientsky.com
>>
>>
>>
>>
>> 2017-09-14 13:10 GMT+02:00 Janne Johansson :
>> >
>> > 2017-09-14 13:08 GMT+02:00 Janne Johansson :
>> >>
>> >> Since 6.1 I think the max is 2M, and not 256k. Many programs will also
>> >> allow you to bump limits using setsockopt.
>> >>
>> >>
>> >
>> > httpd.conf:
>> > server "secret.site" {
>> > tcp {
>> > socket buffer 2097152
>> > }
>> >
>> > rsyncd.conf:
>> >  ...
>> > socket options = SO_SNDBUF=2097152
>> >
>> >
>> > --
>> > May the most significant bit of your life be positive.



Re: TCP Window Scaling

2017-09-14 Thread Chris Cappuccio
ipsec tunnels don't use TCP

iperf has the -w option

Andreas Kr??ger [a...@patientsky.com] wrote:
> How would i set i for ipsec tunnels or iperf etc. then?
> ANDREAS KR??GER
> CTO Hosting and Infrastructure
> 
> +45 51808863
> a...@patientsky.com
> 
> 
> 
> PatientSky AS
> Hovfaret 17 B, NO-0275 Oslo, Norway
> patientsky.com
> 
> 
> 
> 
> 2017-09-14 13:10 GMT+02:00 Janne Johansson :
> >
> > 2017-09-14 13:08 GMT+02:00 Janne Johansson :
> >>
> >> Since 6.1 I think the max is 2M, and not 256k. Many programs will also
> >> allow you to bump limits using setsockopt.
> >>
> >>
> >
> > httpd.conf:
> > server "secret.site" {
> > tcp {
> > socket buffer 2097152
> > }
> >
> > rsyncd.conf:
> >  ...
> > socket options = SO_SNDBUF=2097152
> >
> >
> > --
> > May the most significant bit of your life be positive.



Re: TCP Window Scaling

2017-09-14 Thread Janne Johansson
2017-09-14 13:24 GMT+02:00 Andreas Krüger :

> How would i set i for ipsec tunnels or iperf etc. then?


IPSec isn't using tcp so you wouldn't be able to.
For iperf, you can read the manpage, like I have done for httpd/rsync.

  -w, --window n[KM]
  TCP window size (socket buffer size)


-- 
May the most significant bit of your life be positive.


Re: TCP Window Scaling

2017-09-14 Thread Andreas Krüger
How would i set i for ipsec tunnels or iperf etc. then?
ANDREAS KRÜGER
CTO Hosting and Infrastructure

+45 51808863
a...@patientsky.com



PatientSky AS
Hovfaret 17 B, NO-0275 Oslo, Norway
patientsky.com




2017-09-14 13:10 GMT+02:00 Janne Johansson :
>
> 2017-09-14 13:08 GMT+02:00 Janne Johansson :
>>
>> Since 6.1 I think the max is 2M, and not 256k. Many programs will also
>> allow you to bump limits using setsockopt.
>>
>>
>
> httpd.conf:
> server "secret.site" {
> tcp {
> socket buffer 2097152
> }
>
> rsyncd.conf:
>  ...
> socket options = SO_SNDBUF=2097152
>
>
> --
> May the most significant bit of your life be positive.



Re: TCP Window Scaling

2017-09-14 Thread Janne Johansson
2017-09-14 13:08 GMT+02:00 Janne Johansson :

> Since 6.1 I think the max is 2M, and not 256k. Many programs will also
> allow you to bump limits using setsockopt.
>
>
>
httpd.conf:
server "secret.site" {
tcp {
socket buffer 2097152
}

rsyncd.conf:
 ...
socket options = SO_SNDBUF=2097152


-- 
May the most significant bit of your life be positive.


Re: TCP Window Scaling

2017-09-14 Thread Janne Johansson
Since 6.1 I think the max is 2M, and not 256k. Many programs will also
allow you to bump limits using setsockopt.


2017-09-14 11:15 GMT+02:00 Andreas Krüger <a...@patientsky.com>:

> Hi All,
>
> I am wondering why there is no option to set the max tcp window
> scaling sizes for send and receive since version 4.9.
> I saw in the change log, that it was converted to auto scaling, but
> the max values are now hardcoded and removed from sysctl, for some
> reason?
>
> The problem is, I have two OpenBSD machines connected on WAN on 1
> gigabit, with a 17 ms delay between them, which means I need to have a
> bigger tcp scaling window than 256 KB to use the full 1 gigabit.
>
> How would i change these values? On FreeBSD you still have the option for
>
> net.inet.tcp.recvspace=262144
> net.inet.tcp.sendspace=262144
>
> Etc.
>
> Regards,
> Andreas
>
>


-- 
May the most significant bit of your life be positive.


TCP Window Scaling

2017-09-14 Thread Andreas Krüger
Hi All,

I am wondering why there is no option to set the max tcp window
scaling sizes for send and receive since version 4.9.
I saw in the change log, that it was converted to auto scaling, but
the max values are now hardcoded and removed from sysctl, for some
reason?

The problem is, I have two OpenBSD machines connected on WAN on 1
gigabit, with a 17 ms delay between them, which means I need to have a
bigger tcp scaling window than 256 KB to use the full 1 gigabit.

How would i change these values? On FreeBSD you still have the option for

net.inet.tcp.recvspace=262144
net.inet.tcp.sendspace=262144

Etc.

Regards,
Andreas