Re: [tcpm] Fwd: New Version Notification for draft-gont-tcpm-urgent-data-00
Fernando Gont <fernando@gont.com.ar> Wed, 29 October 2008 02:27 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 796323A68A0; Tue, 28 Oct 2008 19:27:32 -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 DBC7F3A68A0 for <tcpm@core3.amsl.com>; Tue, 28 Oct 2008 19:27:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.073
X-Spam-Level:
X-Spam-Status: No, score=-2.073 tagged_above=-999 required=5 tests=[AWL=0.718, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, SARE_RECV_SPEEDY_AR=0.808]
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 UzRYZhmzdufn for <tcpm@core3.amsl.com>; Tue, 28 Oct 2008 19:27:30 -0700 (PDT)
Received: from smtp1.xmundo.net (smtp1.xmundo.net [201.216.232.80]) by core3.amsl.com (Postfix) with ESMTP id 9F5E83A676A for <tcpm@ietf.org>; Tue, 28 Oct 2008 19:27:28 -0700 (PDT)
Received: from venus.xmundo.net (venus.xmundo.net [201.216.232.56]) by smtp1.xmundo.net (Postfix) with ESMTP id 2665E6B6590; Tue, 28 Oct 2008 23:27:32 -0300 (ART)
Received: from notebook.gont.com.ar (201-254-27-192.speedy.com.ar [201.254.27.192] (may be forged)) (authenticated bits=0) by venus.xmundo.net (8.14.1/8.13.8) with ESMTP id m9T2RAHQ001594; Wed, 29 Oct 2008 00:27:11 -0200
Message-Id: <200810290227.m9T2RAHQ001594@venus.xmundo.net>
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Tue, 28 Oct 2008 23:21:04 -0300
To: David Borman <david.borman@windriver.com>
From: Fernando Gont <fernando@gont.com.ar>
In-Reply-To: <523175BF-A76B-4A4C-B726-AE4274BE9A44@windriver.com>
References: <200810280000.m9S00h4E029878@venus.xmundo.net> <A56C813C-B46D-4A02-A905-DD6B7E163156@windriver.com> <200810280203.m9S23foZ023071@venus.xmundo.net> <523175BF-A76B-4A4C-B726-AE4274BE9A44@windriver.com>
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-3.0 (venus.xmundo.net [201.216.232.56]); Tue, 28 Oct 2008 23:27:30 -0300 (ART)
Cc: tcpm@ietf.org, ayourtch@cisco.com
Subject: Re: [tcpm] Fwd: New Version Notification for draft-gont-tcpm-urgent-data-00
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-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
At 02:42 a.m. 28/10/2008, David Borman wrote: >>Firstly, the recv(2) with MSG_OOB only returns a single byt of >>urgent data, whereas according to your explanation it should return >>all data prior to, and including, the Urgent pointer. > >No, applications shouldn't be using recv() with MSG_OOB on TCP >sockets. That is the interface for the old, broken BSD interpretation >of the urgent pointer. TCP does not have out of band data. The >SO_OOBINLINE option was added so that new applications (new, circa >1989, the date of RFC 1122) could turn this broken interface off and >leave the data in the data stream where it belongs. By default, the byte pointer byte (UP-1) is till kept OOB, nowadays. Even worse, it has been reported to me that some major operating system did things even worse: it would queue what it thought was urgent data until the application read it by a recv(")/MSG_OOBB-like call. If the app didn't recv() this "OOB", then the urg data would pile up, until a DoS condition.... > It was felt that >we couldn't just change the BSD TCP implementation to the new >behavior, because that would break all the existing applications. >With SO_OOBINLINE, applications could switch over without there >needing to be a flag day. I believe this should be clarified. Do you? I will prepare some text to update our draft before the non-00-version deadline.... >>>it to the application out-of-band. To fix that, the SO_OOBINLINE >>>socket option was introduced, and is still around today. All >>>applications that use urgent data should be using the SO_OOBINLINE >>>option, there's no excuse for using the old, broken BSD >>>interpretation >>>about urgent data. >> >>Well, this seems to be the default for all major TCP implementations >>(see our survey). > >Ok, there are two issues here. First, SO_OOBINLINE turns off the old, >broken BSD interpretation that removed a byte of data from the data >stream and presented it to the application with the recv()/MSG_OOB >call. Agreed. I believe this should be clarified. >The second issue is which byte is indicated in the packet with >the urgent pointer. If the application knows what the kernel does, it >can adjust accordingly so that the correct byte gets marked in the TCP >data stream. Not sure what you mean. The issue here is how the *remote* TCP sets the urgent pointer. How could you know whether the remote TCP set the UP such that it points to the last byte of urgent data (RFC1122) or to the byte following the last byte of urgent data? Considering that even SO_OOBINLINE doesn't change the semantics of the UP, I think RFC 1122 could be updated to reflect what current implementations are doing. (this is one of the "updates" that our draft was aiming) >I will say that using the recv()/MSG_OOB interface is the bigger >issue. You just have to look at the BSD Telnet implementation and the >dances that it does if SO_OOBINLINE isn't defined to understand why >that broken interface is such a bad idea. So we have to issues: * Deprecate recv(2)/MSG_OOB and encourage SO_OOBINLINE. (with which you seem to agree) * Update RFC 793/RFC1122 wrt where the UP points to, to reflect what everybody does and has been doing. (with which I don't know whether you agree or not). Please let me know what you think, so that we can update our draft accordingly. Thanks! Kind regards, -- Fernando Gont e-mail: fernando@gont.com.ar || fgont@acm.org PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1 _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- Re: [tcpm] Fwd: New Version Notification for draf… David Borman
- [tcpm] Fwd: New Version Notification for draft-go… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Andrew Yourtchenko
- Re: [tcpm] Fwd: New Version Notification for draf… David Borman
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Stefanos Harhalakis
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Andrew Yourtchenko
- Re: [tcpm] Fwd: New Version Notification fordraft… Anantha Ramaiah (ananth)
- Re: [tcpm] Fwd: New Version Notification fordraft… Eddy, Wesley M. (GRC-RCN0)[VZ]
- Re: [tcpm] Fwd: New Version Notification fordraft… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification fordraft… Andrew Yourtchenko
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch
- Re: [tcpm] Fwd: New Version Notification for draf… Fernando Gont
- Re: [tcpm] Fwd: New Version Notification for draf… Joe Touch