Re: dynamic TCP algorithms switching

Stephen Hemminger <[email protected]> Fri, 22 Nov 2013 14:56:21 -0800
Newsgroups gmane.linux.network,gmane.linux.network.general
Message-ID <[email protected]>
On Fri, 22 Nov 2013 17:49:58 -0500
yan cui <[email protected]> wrote:

> Hi all:
> 
>    Currently, Linux has kinds of TCP congestion algorithms, such as
> reno, cubic, bic, hybla, ...., and each TCP congestion algorithm has
> its target networking environment. I just wonder to know is it
> possible to do dynamic TCP algorithm switching? In other words, the
> system has a combined TCP congestion algorithm (say, TCP-auto), and it
> behaves like one of the integrated TCP congestion algorithms according
> to different detected networking environment, but can switch to a
> different one. For example, TCP-auto totally uses the set of
> congestion control operations in TCP-cubic by default, but when it
> detects that the current OS uses wireless networking, it switches to
> some wireless friendly TCP congestion algorithm. Does Linux have some
> features like that, or do you (networking developers and users) care
> about it?
> 
> Best Wishes!
> 

You overestimate the advantage of one verus the other.
It is possible to control algorithm on per-socket, and per-route
but other than benchmarking there or bulk transfer for normal net
traffic Cubic works fine for all environments.