Re: [PATCH] tcp: Socket option to set congestion window

David Miller
2010-05-26T05:52:27Z

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Tue, 25 May 2010 22:08:58 -0700

> The IETF TCP maintainers already think Linux TCP allows unsafe
> operation, this will just allow more possible misuse and prove
> their argument. Until/unless this behavior was approved by
> a wider set of research, I don't think it should be accepted at
> this time.

Yes, and two other points I'd like to add.

1) Stop pretending a network path characteristic can be made into
an application level one, else I'll stop reading your patches.

You can try to use smoke and mirrors to make your justification by
saying that an application can circumvent things right now by
openning up multiple connections. But guess what? If that act
overflows a network queue, we'll pull the CWND back on all of those
connections while their CWNDs are still small and therefore way
before things get out of hand.

Whereas if you set the initial window high, the CWND is wildly out
of control before we are even started.

And even after your patch the "abuse" ability is still there. So
since your patch doesn't prevent the "abuse", you really don't care
about CWND abuse. Instead, you simply want to pimp your feature.

2) The very last application I'd want to use something like this is a
damn web browser.

Maybe a program, which is extremely sophisticated, like a database
or caching manager, that runs privileged and somehow has complete
and constantly updated knowledge of the network topology from end
to end. And iff, and only iff, we only would let privileged
applications make the setting.

Right now we only allow to do this via a route setting, exactly because:

1) It is a network path characteristic, full stop.

2) Only humans can really know what the exact end to end path
characteristics are on a per-route basis, and given that whether it
is safe to increase the initial CWND as a result.