Re: [tcpm] TCP Long Options - Why not as payload in SYNs?
Michael Scharf <michael.scharf@ikr.uni-stuttgart.de> Mon, 14 July 2008 15:03 UTC
Return-Path: <tcpm-bounces@ietf.org>
X-Original-To: tcpm-archive@megatron.ietf.org
Delivered-To: ietfarch-tcpm-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C24A83A6B15; Mon, 14 Jul 2008 08:03:02 -0700 (PDT)
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D521F3A6ACE for <tcpm@core3.amsl.com>; Mon, 14 Jul 2008 08:03:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.249
X-Spam-Level:
X-Spam-Status: No, score=-2.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SCjK48jDcNDT for <tcpm@core3.amsl.com>; Mon, 14 Jul 2008 08:03:01 -0700 (PDT)
Received: from wall.ikr.uni-stuttgart.de (wall.ikr.uni-stuttgart.de [129.69.170.1]) by core3.amsl.com (Postfix) with ESMTP id D651E3A68DD for <tcpm@ietf.org>; Mon, 14 Jul 2008 08:02:43 -0700 (PDT)
Received: from netsrv1.ikr.uni-stuttgart.de (netsrv1-c [10.11.12.12]) by wall.ikr.uni-stuttgart.de (Postfix) with ESMTP id 6743756CDF; Mon, 14 Jul 2008 17:03:09 +0200 (CEST)
Received: by netsrv1.ikr.uni-stuttgart.de (Postfix, from userid 539) id 4940DBC081; Mon, 14 Jul 2008 17:03:09 +0200 (CEST)
Received: from ikr.uni-stuttgart.de (inode21 [10.21.18.11]) by netsrv1.ikr.uni-stuttgart.de (Postfix) with SMTP id 09531BC07E; Mon, 14 Jul 2008 17:03:09 +0200 (CEST)
Received: by ikr.uni-stuttgart.de (sSMTP sendmail emulation); Mon, 14 Jul 2008 17:03:09 +0200
Date: Mon, 14 Jul 2008 17:03:08 +0200
From: Michael Scharf <michael.scharf@ikr.uni-stuttgart.de>
To: Adam Langley <agl@imperialviolet.org>
Message-ID: <20080714150308.GA4866@ikr.uni-stuttgart.de>
References: <20080714121424.GA31382@ikr.uni-stuttgart.de> <396556a20807140648lb5f923x478665473667d807@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <396556a20807140648lb5f923x478665473667d807@mail.gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)
Cc: tcpm@ietf.org
Subject: Re: [tcpm] TCP Long Options - Why not as payload in SYNs?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://www.ietf.org/mailman/private/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
On Mon, 14 Jul 2008 at 06:48:43, Adam Langley wrote: > > Even though RFC 793 explicitly allows payload in SYN segments, there > > are TCP stacks that just seem to ignore it. Couldn't this offer an > > opportunity to transport long TCP options in the payload of SYN > > segments, instead of expanding the header option space? > > I don't have the necessary menagerie of operating systems needed to > gather good data. But Linux's net/ipv4/tcp_input.c [1] says > > 5188 /* Now we have several options: In theory there is > 5189 * nothing else in the frame. KA9Q has an option to > 5190 * send data with the syn, BSD accepts > data with the > 5191 * syn up to the [to be] advertised window and > 5192 * Solaris 2.1 gives you a protocol error. For now > 5193 * we just ignore it, that fits the spec precisely > 5194 * and avoids incompatibilities. It would > be nice in > 5195 * future to drop through and process the data. > > [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=net/ipv4/tcp_input.c;h=cad73b7dfef07798ddc0b8debba24c9aad94c53b;hb=HEAD > > And that suggests that it's not just those OSes which ignore SYNs with > payloads - it's also those which reject the packet completely. Having > to retransmit SYNs in such cases is sufficiently common, and > sufficiently painful that I think it's a non-starter. This comment is probably over 10 years old (Linux kernel version 2.0.3x or earlier). This is why I asked for the behavior of "modern" stacks (and, of course, "modern" middlebox implementations). Michael _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- [tcpm] TCP Long Options - Why not as payload in S… Michael Scharf
- Re: [tcpm] TCP Long Options - Why not as payload … Adam Langley
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Michael Scharf
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Adam Langley
- Re: [tcpm] TCP Long Options - Why not as payload … Caitlin Bestler
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Christian Huitema
- Re: [tcpm] TCP Long Options - Why not as payload … Sergio Freire
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Adam Langley
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch