[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100624075304.GH27132@Chamillionaire.breakpoint.cc>
Date: Thu, 24 Jun 2010 09:53:04 +0200
From: Florian Westphal <fw@...len.de>
To: Hagen Paul Pfeifer <hagen@...u.net>
Cc: Florian Westphal <fw@...len.de>, netdev@...r.kernel.org,
Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>
Subject: Re: [PATCH 1/2] syncookies: do not store rcv_wscale in tcp
timestamp
Hagen Paul Pfeifer <hagen@...u.net> wrote:
> * Florian Westphal | 2010-06-21 23:48:44 [+0200]:
>
> >As pointed out by Fernando Gont there is no need to encode rcv_wscale
> >into the cookie.
> >
> >We did not use the restored rcv_wscale anyway; it is recomputed
> >via tcp_select_initial_window().
>
> I speculate that this behavior was and is not correct. I suppose that their is
> a race between the SYN/ACK where we initial force a particular window scale
> and the next time where we recalculate the window via tcp_select_initial_window().
Yes, but it is not the only one. We also do a route lookup to get the
current window size.
> If the user change net.core.rmem_max or net.ipv4.tcp_rmem in between this
> time, the recalculated window scale (rcv_wscale) can be smaller. But the
> receiver still operates with the initial window scale and can overshot the
> granted window - and bang.
Why "bang"?
Sure, its not nice, but is it such a severe problem that we have to keep
rcv_wscale around in the timestamp?
> There are several solutions: encode rcv_wscale into the syn cookie and don't
> recalculate
I would prefer to avoid having to keep rcv_wscale in the timstamp for the sake of
a sysctl change. At the moment the state eats up 9 bits in the timestamp and I don't
like to grow it (which has to be done iff we want to support more options in the future).
> or disable window scaling and don't transmit any scaling option
> when SYN cookies are active.
No, I would rather see this patch rejected than that.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists