Re: [tcpm] draft-ietf-tcpm-urgent-data-06

Joe Touch <touch@isi.edu> Tue, 12 October 2010 16:32 UTC

Return-Path: <touch@isi.edu>
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 8DF3F3A6910 for <tcpm@core3.amsl.com>; Tue, 12 Oct 2010 09:32:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.584
X-Spam-Level:
X-Spam-Status: No, score=-102.584 tagged_above=-999 required=5 tests=[AWL=0.015, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 AlWY7W+BxsjI for <tcpm@core3.amsl.com>; Tue, 12 Oct 2010 09:32:40 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by core3.amsl.com (Postfix) with ESMTP id E2DB13A68FF for <tcpm@ietf.org>; Tue, 12 Oct 2010 09:32:39 -0700 (PDT)
Received: from [128.9.160.166] (abc.isi.edu [128.9.160.166]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id o9CGXIC8013385 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Tue, 12 Oct 2010 09:33:18 -0700 (PDT)
Message-ID: <4CB48DCE.7010606@isi.edu>
Date: Tue, 12 Oct 2010 09:33:18 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4
MIME-Version: 1.0
To: David Borman <david.borman@windriver.com>
References: <201009301549.RAA14282@TR-Sys.de> <13205C286662DE4387D9AF3AC30EF456B01839E20B@EMBX01-WF.jnpr.net> <31679F6B-0ACA-421F-8131-DA05B764A4A9@nokia.com> <13205C286662DE4387D9AF3AC30EF456B0201C2D1C@EMBX01-WF.jnpr.net> <FCF0200B-A1AF-4902-A110-D7EC08C39FEC@nokia.com> <4CB31ECF.6040307@gont.com.ar>, <1D4E3C6E-B0BF-4CAC-A01E-EC9CDAC14EE0@nokia.com> <C304DB494AC0C04C87C6A6E2FF5603DB481FB1C732@NDJSSCC01.ndc.nasa.gov> <4CB3CCBB.1030400@isi.edu> <675AC39A-0E6D-4014-850B-2A05389577C4@windriver.com> <4CB488F2.1070800@isi.edu>
In-Reply-To: <4CB488F2.1070800@isi.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: o9CGXIC8013385
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: draft-ietf-tcpm-urgent-data.all@tools.ietf.org, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Fernando Gont <fernando@gont.com.ar>
Subject: Re: [tcpm] draft-ietf-tcpm-urgent-data-06
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: <http://www.ietf.org/mail-archive/web/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>
X-List-Received-Date: Tue, 12 Oct 2010 16:32:45 -0000

PS - to summarize my suggestions to wrap this up:

- delete section 5

- revise section 6 to explain what inline vs. out-of-band data is, and 
remind users that urgent is NOT an out-of-band signal -- that the data 
indicated by the urgent pointer MUST NOT be extricated from the data 
byte stream presented to the user via means indicated in RFC793 (e.g., 
read calls). This would also note that in some implementations this is 
requires overriding the default, and setting SO_OOBINLINE=1.

Joe

On 10/12/2010 9:12 AM, Joe Touch wrote:
> Hi, Dave,
>
> On 10/12/2010 7:58 AM, David Borman wrote:
>
>> As you said, we don't have applications breaking all over the place.
>> Also, the goal of this document isn't to change all the current Urgent
>> pointer implementations, but to match the spec to the majority of
>> implementations.
>>
>> The WG did not put forth this document to deprecate the Urgent
>> pointer, but to clarify it and warn of the interoperability issues.
>>
>> So perhaps the "SHOULD NOT" should be changed to a "MAY", meaning
>> you can still use it, but be aware of the issues and make sure you
>> design around them.
>
> It's sufficient to delete Sec 5 then. It's already a "MAY" for users in
> RFC793 (though 2119 language isn't used, the intent is there). We
> definitely should not restate requirements already sufficiently stated.
>
>> It is entirely possible to reliably make use of
>> the urgent pointer in an application, even with different OS
>> definitions. The application can the test urgent pointer at the
>> beginning of the connection by sending a known piece of data and
>> observing how it gets delivered to the receiver, the application can
>> then adjust accordingly and use it reliably.
>
> That's not in the doc anywhere. No current app I've ever heard of does
> this, and it doesn't seem practical for most apps (esp. since it's not
> backward compatible; the test data would appear in the data stream). I'm
> not sure this is a useful consideration for this discussion at all.
>
>> Perhaps combine section 5& 6 into a single section like:
>> 5. Advice on using and implementing the TCP urgent mechanism
>>
>> As a result of the issues discussed in Section 3.2 and Section 3.4,
>> using the TCP urgent mechanism has the potential to be unreliable.
>> New applications MAY use the TCP urgent mechanism, but should be
>> robust against these issues.
>
> The above simply isn't required; it's already part of RFC793.
>
>> In addition, applications MUST set
>> the SO_OOBINLINE socket option, such that "urgent data" is delivered
>> inline, as intended by the IETF specifications.
>
> SO_OOBINLINE and its behavior isn't defined in RFC793.
>
> The fact that urgent data is inline needs to be defined and explained.
> Then the requirement stated that urgent pointer data is inline, as is
> all TCP data.
>
> It may be useful to note that the way to do this in some implementations
> is to set this socket option, and that this particular option should
> default to ON (and note that it isn't, so apps should set it), but 2119
> language isn't appropriate. The discussion shouldn't use 2119 language
> in reference to an implementation of the API that isn't required.
>
>> TCP implementations MUST include support for the urgent mechanism
>> such that existing applications can still use it.
>
> That's not necessary either; it's in 793, and it's already required
> therein. Again, I don't think this doc should restate existing
> requirements.
>
> Joe