All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hagen Paul Pfeifer <hagen@jauu.net>
To: Florian Westphal <fw@strlen.de>
Cc: netdev@vger.kernel.org, "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>
Subject: Re: [PATCH 1/2] syncookies: do not store rcv_wscale in tcp timestamp
Date: Wed, 23 Jun 2010 22:28:00 +0200	[thread overview]
Message-ID: <20100623202759.GA3581@nuttenaction> (raw)
In-Reply-To: <1277156925-7295-1-git-send-email-fw@strlen.de>

* 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().

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.

There are several solutions: encode rcv_wscale into the syn cookie and don't
recalculate or disable window scaling and don't transmit any scaling option
when SYN cookies are active.

HGN

  parent reply	other threads:[~2010-06-23 20:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-21 21:48 [PATCH 1/2] syncookies: do not store rcv_wscale in tcp timestamp Florian Westphal
2010-06-21 21:48 ` [PATCH 2/2] syncookies: add support for ECN Florian Westphal
2010-06-27  5:00   ` David Miller
2010-06-23 20:28 ` Hagen Paul Pfeifer [this message]
2010-06-24  7:53   ` [PATCH 1/2] syncookies: do not store rcv_wscale in tcp timestamp Florian Westphal
2010-06-24 22:14     ` Hagen Paul Pfeifer
2010-06-27  4:27       ` David Miller
2010-06-27  5:00 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100623202759.GA3581@nuttenaction \
    --to=hagen@jauu.net \
    --cc=fw@strlen.de \
    --cc=ilpo.jarvinen@helsinki.fi \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.