Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-options-02

Joe Touch <touch@strayalpha.com> Thu, 24 May 2018 18:39 UTC

Return-Path: <touch@strayalpha.com>
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 D55FB12E8B1 for <tsvwg@ietfa.amsl.com>; Thu, 24 May 2018 11:39:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Level:
X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.com
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 sbGcF6FnNp8p for <tsvwg@ietfa.amsl.com>; Thu, 24 May 2018 11:39:44 -0700 (PDT)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F44A12E898 for <tsvwg@ietf.org>; Thu, 24 May 2018 11:39:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=Message-ID:References:In-Reply-To:Subject:Cc: To:From:Date:Content-Type:MIME-Version:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=X0PzU/+SVCIF39JqC/0sBEM7KfttSSjToQJHwuHV950=; b=WCyWVMusfZ4LpfCY7DApdErfZ pWnr1yFnGKJGi7+4+eG5EAaYao3usott1v/IuVF9aniXsT2kql4VcAOJM8ThxirWtqGV7I1jK0ljo V2jj9fP1Nj2EkhmbMVWHqdFOwWGO5wG8jz6lDGrh6nWBSN1CFNZjzpun6T7dP0IMGXtSiWhPE+pxv UYV8OqAA1R7kKXeQH6TZkeQCi2G4ELN05KP2p7Y/JuB7r9DxVqpV0U3qLcfKgmtqSs7ndCBBdphux 5QiS2eAwnpF03jHNfHkpzwZDACAh3Bnoot03AH0lMiLc/5I6mcjFJEfaR8nG2PGrS9LhykHPQsiTH 3C1MliwGg==;
Received: from [::1] (port=60158 helo=server217.web-hosting.com) by server217.web-hosting.com with esmtpa (Exim 4.91) (envelope-from <touch@strayalpha.com>) id 1fLv9L-003QFZ-5v; Thu, 24 May 2018 14:39:43 -0400
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_715c089cbe902dd26b0a66ccaa906569"
Date: Thu, 24 May 2018 11:39:43 -0700
From: Joe Touch <touch@strayalpha.com>
To: "C. M. Heard" <heard@pobox.com>
Cc: tsvwg <tsvwg@ietf.org>
In-Reply-To: <CACL_3VHckarqxHkcqY_-+ehRU588gfB_2FoDDYL_buv9EjpTAw@mail.gmail.com>
References: <CACL_3VHckarqxHkcqY_-+ehRU588gfB_2FoDDYL_buv9EjpTAw@mail.gmail.com>
Message-ID: <ba874782b7b4c252e50910c4c0ef75e9@strayalpha.com>
X-Sender: touch@strayalpha.com
User-Agent: Roundcube Webmail/1.3.3
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/9TulPqGyIGkGXCInIBkxoOvs8EM>
Subject: Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-options-02
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 24 May 2018 18:39:47 -0000

Hi, Mike, 

On 2018-05-06 10:23, C. M. Heard wrote:

> Greetings, 
> 
> Some issues came to my attention during a recent off-list discussion with someone from the DNS community. 
> 
> Section 5.4, Alternate Checksum (ACS): since the option area is not included in the ACS, the following text seems out of place: 
> 
> When ACS is computed, its checksum (CRC) area is zeroed. No other
> options are zeroed before computing ACS.
> 
> All that is needed is to stuff the remainder of the standard polynomial long division in the ACS checksum area.

Agreed. I need to check on that text throughout. 

> There are also some issues that need to nailed down for clarity. the usual way that the specified polynomial is used is to invert the first 16 bits of data and transmit the complement of the resulting polynomial division. If that is not done here, it would probably be good to say so. Also, it is necessary to specify whether the data polynomial is constructed as if the bytes are transmitted most significant bit first or least significant bit first. Finally, the polynomial is x^16 + x^12 + x^5 + 1 (which would be 0x11021, but that fact is not needed, and I recommend omitting it).

Agreed. 

> Section 5.5, LITE option: the following instruction 
> 
> 3. Swap all four bytes of the LITE option with the first 4 bytes of
> the LITE data area (Figure 11).
> 
> works only if the LITE data area is at least four bytes long. However, the option will work just fine with 0, 1, 2, or 3 bytes of LITE data if one simply moves the option to the start of the LITE data area and moves the displaced LITE bytes just past the end of the relocated LITE option. This operation is then reversed on the receive side. In effect, one is swapping the locations of the LITE option and the initial segment of the LITE data area of length min(4, LITE offset).

Agreed - I needed a whiteboard to see what you're doing here, but yes -
SLIDE if Len < 4 and SWAP otherwise. Thanks - I'll add that. 

> Note that being able to use the LITE option with a length of zero is important for option negotiation.

Agreed and worth pointing out when adding the text for the exception
case. 

> Section 5,8, FRAG option: it appears to me that the length of the the terminal FRAG option is 10 bytes, not 12. This isn't stated, but the inference I make is that the the checksum is the standard UDP checksum, computed as if the datagram were sent unfragmented, but not including the pseudo-header (to avoid issues created by NAT). If this isn't what was intended, then the intent needs to be clearly spelled out. I note that if the alternate checksum as defined in Section 5.4 does not admit the use of the value zero to indicate that it is not present.

I'll check but the intent is exactly as you inferred - and I need to
double check the size as well. 

> Section 5.8.1, Coupling FRAG with LITE: if the comments above about the checksum field in the terminal FRAG option are correct, some text should be added here that the final checksum in the reconstituted UDP header is not taken directly from the terminal fragment, but is adjusted to include the UDP pseudo-header.

Agreed. 

> Section 8, UDP options vs. UDP-Lite: Is the following paragraph left over from a previous incarnation of the draft? 
> 
> UDP options support a similar service to UDP-Lite by terminating the
> UDP options with an EOL option. The additional data not covered by
> the UDP checksum follows that EOL option, and is passed to the user
> separately. The difference is that UDP-Lite provides the un-
> checksummed user data to the application by default, whereas UDP
> options can provide the same capability only for endpoints that are
> negotiated in advance (i.e., by default, UDP options would silently
> discard this non-checksummed data). Additionally, in UDP-Lite the
> checksummed and non-checksummed payload components are adjacent,
> whereas in UDP options they are separated by the option area -
> which, minimally, must consist of at least one EOL option.
> 
> It seems to me that this should be rewritten, because the service in question is now provided by the LITE option.

This text is exactly explaining the difference between our LITE and
"UDP-Lite". I can clarify this, e.g.,: 

    The UDP option LITE option supports a similar service to
UDP-Lite.... 

Is there some part of this explanation of the differences that isn't
accurate? 

> I'm hoping that there is still enough interest in this draft to push it to completion.

As am I... 

Joe 

> Thanks and regards, 
> 
> Mike Heard