Re: [tsvwg] OCS option in draft-ietf-tsvwg-udp-options-07

Raffaele Zullo <raffaele@erg.abdn.ac.uk> Tue, 12 March 2019 23:01 UTC

Return-Path: <raffaele@erg.abdn.ac.uk>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA8AF1200D7 for <tsvwg@ietfa.amsl.com>; Tue, 12 Mar 2019 16:01:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g2ltTMITn4vV for <tsvwg@ietfa.amsl.com>; Tue, 12 Mar 2019 16:01:52 -0700 (PDT)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [137.50.19.135]) by ietfa.amsl.com (Postfix) with ESMTP id 85D0A12787F for <tsvwg@ietf.org>; Tue, 12 Mar 2019 16:01:52 -0700 (PDT)
Received: from erg.abdn.ac.uk (at-www-1.erg.abdn.ac.uk [IPv6:2001:630:42:150::5]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id 9FFAF1B00082; Tue, 12 Mar 2019 23:01:46 +0000 (GMT)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Content-Transfer-Encoding: 7bit
Date: Tue, 12 Mar 2019 23:01:46 +0000
From: Raffaele Zullo <raffaele@erg.abdn.ac.uk>
To: Joe Touch <touch@strayalpha.com>
Cc: "C. M. Heard" <heard@pobox.com>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, tsvwg <tsvwg@ietf.org>
In-Reply-To: <b25fcf12e33d8093b0a44d88f5c9dda1@strayalpha.com>
References: <CACL_3VFg-EWCYHZ4+kYV30vjNzPs90ysAu5SCdLNb+9OPxE+3g@mail.gmail.com> <B1D19ABC-428B-42D8-AE97-BF3B967B1140@strayalpha.com> <fd5a4cd7983862c376f1db9f324f4ea1@erg.abdn.ac.uk> <b25fcf12e33d8093b0a44d88f5c9dda1@strayalpha.com>
Message-ID: <7b02a0ff2b33f504fa3b254996251992@erg.abdn.ac.uk>
X-Sender: raffaele@erg.abdn.ac.uk
User-Agent: Roundcube Webmail/1.2.3
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/y65X4eGxDOOBihYz4wuH9gJFDVw>
Subject: Re: [tsvwg] OCS option in draft-ietf-tsvwg-udp-options-07
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Mar 2019 23:01:55 -0000

On 2019-03-12 22:53, Joe Touch wrote:

Hello,

> Yes, when UDP CS=0 we don't cover length or ports.
> 
> Length isn't an issue unless the reassembly checksum is also zero, in
> which case we're doing the right thing - leaving it alone.


OK, but
what happens if UDP Length (that was 8) is increased to
8 < UDP Length <= IPPayloadLength?
Will part of the Options area be delivered to user as a regular UDP 
Payload?


Raffaele Zullo


> As to ports when the frag checksum is NOT zero, I'm much less
> concerned given how devices happily recompute that along packet paths
> for their own convenience.
> 
> Joe


> On 2019-03-12 05:10, Raffaele Zullo wrote:
> 
>> On 2019-03-09 19:28, Joe Touch wrote:
>> 
>>> 3. we have to deal with LITE/LITE+FRAG
>>> we *can* use UDP CS=0, but that also may involve overriding
>>> the
>>> user's desires here (i.e., the user API says "use UDP CS" and
>>> we're
>>> not doing that)
>>> which means we have a choice:
>>> (d) override so that things work, i.e., force UDP CS=0 and
>>> then
>>> (d.1) do OCS as a check on our stuff only
>>> OR
>>> (d.2) disallow the use of OCS (if CS=0, what's the point?)
>>> OR
>>> (d.3) use OCS=0 (this seems like a waste)
>>> OR
>>> (e) ignore the user setting of CS, then:
>>> (e.1) always do OCS as a check
>>> OR
>>> (e.2) if UDP CS=0, omit OCS (save space), basically like
>>> d.2
>>> OR
>>> (e.3) if UDP CS=0, use OCS=0 (basically like e.2
>>> 
>>> If we do any of the (e) variants, we could either:
>>> (f.1) require users to disable UDP CS to use OCS
>>> OR
>>> (f.2) ignore the user UDP CS setting
>>> 
>>> So which is it?
>>> 
>>> I don't like assuming user correct configuration (f.1).
>>> 
>>> So to me it's (f.2) and (d.1).
>>> 
>>> Thoughts?
>> 
>> Maybe I'm missing something but there could be
>> two other problems when using CS=0 with LITE+FRAG
>> 
>> 1) We lose coverage of UDP Length
>> If the UDP Length due to an error becomes 8 < UDP Length <=
>> IPPayloadLength
>> Options will probably become not parsable
>> but part of the Options is delivered as UDP Payload to the user.
>> 
>> 2) We lose coverage of Source and Dest Ports
>> If there are several UDP connections ongoing between two hosts (or
>> two NATs)
>> an error on Source/Dest Port can make the packet be delivered to the
>> wrong connection.
>> This issue is very limited since LITE+FRAG carries an identifier.
>> 
>> Raffaele Zullo