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

Joe Touch <touch@isi.edu> Tue, 12 October 2010 16:12 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 A808B3A6834 for <tcpm@core3.amsl.com>; Tue, 12 Oct 2010 09:12:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.583
X-Spam-Level:
X-Spam-Status: No, score=-102.583 tagged_above=-999 required=5 tests=[AWL=0.016, 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 1GBcq8TDbX1x for <tcpm@core3.amsl.com>; Tue, 12 Oct 2010 09:12:37 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by core3.amsl.com (Postfix) with ESMTP id D26E63A69CF for <tcpm@ietf.org>; Tue, 12 Oct 2010 09:12:04 -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 o9CGCYvm007791 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Tue, 12 Oct 2010 09:12:34 -0700 (PDT)
Message-ID: <4CB488F2.1070800@isi.edu>
Date: Tue, 12 Oct 2010 09:12:34 -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>
In-Reply-To: <675AC39A-0E6D-4014-850B-2A05389577C4@windriver.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: o9CGCYvm007791
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:12:53 -0000

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