Subject: Re: is non-inheritance of congestion control algorithm from the listen socket a bug or a feature?

From: Stephen Hemminger <[email-masked]>
Date: Tue, 29 Nov 2011 14:01:58 -0800

On Tue, 29 Nov 2011 22:56:26 +0100
Eric Dumazet <[email-masked]> wrote:

> Le mardi 29 novembre 2011 à 16:52 -0500, David Miller a écrit :
> 
> > There is really no reason to keep the current behavior.
> > 
> > If an application sets the congestion control algorithm on a listening
> > socket to a non-default value, what effect could possibly be intended?
> > 
> > Congestion control doesn't even come into play at all on a listening
> > socket, therefore the only logical expectation is that it inherits to
> > the child.
> > 
> > The only other logical behavior would be to forbid this operation on a
> > listening socket, since it has no effect, but that doesn't make any
> > sense now does it? :-)
> 
> Moreover, an application can use setsockopt(TCP_CONGESTION) before
> calling listen() (while socket is still in CLOSE state)

Agreed, it was just an oversight of the initial design.
The setsockopt() on the listening socket is ignored.