Re: [tsvwg] draft-ietf-udp-options issues from IETF 104

Tom Herbert <tom@quantonium.net> Fri, 12 July 2019 16:16 UTC

Return-Path: <tom@quantonium.net>
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 A7A85120134 for <tsvwg@ietfa.amsl.com>; Fri, 12 Jul 2019 09:16:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.602
X-Spam-Level:
X-Spam-Status: No, score=-0.602 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, PDS_NO_HELO_DNS=1.295, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=quantonium-net.20150623.gappssmtp.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 T8dt88jAKq0E for <tsvwg@ietfa.amsl.com>; Fri, 12 Jul 2019 09:16:15 -0700 (PDT)
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E6C6412004E for <tsvwg@ietf.org>; Fri, 12 Jul 2019 09:16:14 -0700 (PDT)
Received: by mail-wm1-x329.google.com with SMTP id s3so9462012wms.2 for <tsvwg@ietf.org>; Fri, 12 Jul 2019 09:16:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quantonium-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=hBhmNrEDrxfjKoVSkOackYvwAT5R8zpea4c9m0RclBA=; b=eHncIReIaRVIwRNRnP1SNRVvRifKMQVsTmI+W6i5mtbPb5v49b5XBlFRbLWi1FedAr uKeLzMEzI/AmCejuCHUCbR2H41N4CHbftNSekJhVrhIVXJB/DlBiMlG6f4r1ZpECERZB zVpkc1S3x31x2BSiG/YI26VDHPm+55+bkJyS5Cy3QoC7t2ocUvJ/HIIKV9pru/A9ASjv nYbvqwO5+GeUpa+ezsTy1CI8nxrS944SCHs4jUouydA2WNQC5eFx9F9pcFHty7NeyKN8 YogyUGKv8aUuXCMiBeSIxRMZIx/2B4ZqQuIOMNwpY8D/9ty3sLuvOcqWm2zFIfVRoloP 8g2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=hBhmNrEDrxfjKoVSkOackYvwAT5R8zpea4c9m0RclBA=; b=UWS9bEwZuJCztI6yYDU/x2MDdRFmp//b4RCnBtC736wowo4MT8GOqMBXuH6QGhgWi6 aM3kwLW8YXA2WDaNfiJuNff5vxYEuNW45phz402esyEBrYbQTNZJHFwskUUuWd3dYMGW vvelybB7+ywyTrTxudfk4rp6obIHn49iw/3Ue92JApFBjSEHPusABZkaNiFofMrR8XRi PF2GRPeLfdgM4cgqGxGWj779Kod7P3kej1txJda+PYzaSdu5gB94A/u3EOFFQhnODIU6 SgOW8nEVNicyPKvwxU7cchHKSh/X3Ynh3tSpWzNRIWmMtSQeMwSwDRADp+iY4QA+Fl8g xpbg==
X-Gm-Message-State: APjAAAWVGwOdO1WdianV6DEMAfUZt4EQlXuINsd95PqBSZtd3c9H/+/O dv06uJpAp/BHzQdrz3akIAiBG6wEOe1gNkZSphM/Gw==
X-Google-Smtp-Source: APXvYqwqrZvSeZTFB1/HdMsMEz6CxYokh/HIrWXwpBDpS3eC8t4/Wt3fZEmZoZc1iDTSS1FlcYNzN+2Udn2Mmj775is=
X-Received: by 2002:a1c:c747:: with SMTP id x68mr10503797wmf.138.1562948173092; Fri, 12 Jul 2019 09:16:13 -0700 (PDT)
MIME-Version: 1.0
References: <156262970360.865.13042807682366763561.idtracker@ietfa.amsl.com> <CAPDqMeoMqsB8=tH5TBaq5Tw-sLW3HNc8tpfUU3htV=sWo7pJcA@mail.gmail.com> <D7E52D2B-3912-4897-80C6-0150CDE10218@strayalpha.com> <CAPDqMep9MYqjFvvJSVbqYwo-xJ1pUocYszNukveaZODhf9+75A@mail.gmail.com> <e73919f08202937bf45418cbf8bcc38c@strayalpha.com> <CAPDqMeoh3n5fL1k6Fw9D8rCpy4a9eWyUZvgStyzYfFuJbuWudw@mail.gmail.com> <3f6f54e0b828e2628af964d6ee7f33e1@strayalpha.com> <CALx6S37rt7OJtH5a2ZH23R21ATETuwTeFS-mZQECtgxPQ3nSZA@mail.gmail.com> <ccc386aa429bfe301998f39eb7fccfbf@strayalpha.com> <140f11c854e0ad96c51639f830cbb688@strayalpha.com> <CALx6S35MC_fj+fL6Ax9a-9=-QX0-mHLmMQ7cUs2Rir+AvYE=zA@mail.gmail.com> <5b35e91dd510119672a0836f868ade24@strayalpha.com> <CALx6S36AVbKfvb-6dj07rcGjsVsCz0daFM9qZOBSSstZOM-Ukg@mail.gmail.com> <8A584FFF-6C86-4154-8D9D-CF407CA77145@strayalpha.com> <CAPDqMeq9GjEQKukH1pZOTdE50e_rc3U6gpdxT-5qrS5phD0RGw@mail.gmail.com> <646D45AD-D79B-4BD2-A084-7DA97CE2C415@strayalpha.com> <7EC37B50-45D5-4CF1-B113-205E55BF244E@strayalpha.com> <CALx6S34s7L7xo+26bt5Cdaqi4Es5Aci42GHk1WNKzugr5st-Gw@mail.gmail.com> <B525BF50-EFCC-44A5-A604-6CDDA914A1CB@strayalpha.com> <CAPDqMep3R6z9PRKkHyOvrh6sV9n5Sc0B++-zVz0FYJCwE6swrQ@mail.gmail.com> <E42A2AE2-F499-465E-BDE6-5EFC0AB20042@strayalpha.com> <CE03DB3D7B45C245BCA0D24327794936306138E9@MX307CL04.corp.emc.com> <CAPDqMeoyNb7vQTdqxLpZpnKb9S7QKeDJNLyQJBmq95yXhB+xfQ@mail.gmail.com> <7D365770-64FE-40BC-901D-B4D7DF6B484B@strayalpha.com> <CAPDqMeqHHUnMCDc6FFoZ=+5EeLPiJJZ2Msqo6OS9wGFUeNH=HQ@mail.gmail.com> <23DDA223-8A4F-49B3-A564-389CE5C68B75@strayalpha.com> <CALx6S35aRWonM5XhSLwV51bLwaDHiHhC6q6CFwMB8SD3BBrpJg@mail.gmail.com> <0DE7ECE5-7DA7-4625-ABB0-A5C1E585547D@strayalpha.com>
In-Reply-To: <0DE7ECE5-7DA7-4625-ABB0-A5C1E585547D@strayalpha.com>
From: Tom Herbert <tom@quantonium.net>
Date: Fri, 12 Jul 2019 09:16:00 -0700
Message-ID: <CAPDqMeonRvtncCreKrOYmafAGu79-MEHTp63y0X4y1cUs5SnWw@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: Tom Herbert <tom@herbertland.com>, tsvwg <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/aMzS2GQKFQq-6MdX5xbLUTE1A6M>
Subject: Re: [tsvwg] draft-ietf-udp-options issues from IETF 104
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: Fri, 12 Jul 2019 16:16:17 -0000

On Thu, Jul 11, 2019 at 10:25 PM Joe Touch <touch@strayalpha.com> wrote:
>
> On Jul 11, 2019, at 9:51 PM, Tom Herbert <tom@herbertland.com> wrote:
> >
> > On Thu, Jul 11, 2019 at 8:49 PM Joe Touch <touch@strayalpha.com> wrote:
> >>
> >>
> >>
> >> On Jul 11, 2019, at 7:14 PM, Tom Herbert <tom@quantonium.net> wrote:
> >>
> >>> Not sure I follow here - so there are only a few variants that seem viable:
> >>>
> >>> 1.- at the front of the surplus space
> >>> 2.- at the front of the surplus space after alignment NOPs
> >>> 3.- at the end of the surplus space
> >>> 4.- at the end of the surplus space with alignment
> >>>
> >>> AFAICT, there’s no real help in requiring OCS be aligned (it can be designed to tolerate any alignment), which means we don’t need #2 or #4.
> >>
> >>
> >> #2 gives greatest probability of working with existing implementation of checksum offload.
> >>
> >>
> >> A few questions on that:
> >> - Can we deal with a small amount of “cleanup” operations after the offload?
> >> - if so can that allow arbitrary byte start?
> >> - or at least16-bit instead of 32-bit alignment?
> >>
> >> Keep in mind that regardless of where we start, we shouldn’t need aligned ends, so there’s always some “cleanup” with such support anyway.
> >>
> >> I.e., why can’t we start at the 32-bit alignment and just add the rest and adjust later, rather than pad?
> >>
> > Joe,
> >
> > Yes, we can do all these things. But, it's not a question of what can
> > be done, it's a question of what should be done. If you want to
> > maximize the chances of a deployable and successful protocol then the
> > best course of action is to follow the conventions and design patterns
> > previously set by successfully deployed protocols. Implementations,
> > both end hosts and middleboxes, have long baked in and optimized
> > around these conventions. For instance, we know TCP is a header not a
> > trailer, the multi-byte fields in the TCP header are properly aligned
> > including checksum, the start of the TCP options is aligned, the TCP
> > header length is multiple of four bytes, the checksum is in a fixed
> > location and not optional, etc. Implementations assume these
> > conventions, not just for TCP, but most IP protocols adhere to some
> > set of common conventions. Obviously we can't follow all conventions,
> > using the UDP surplus space is certainly unconventional, but the less
> > deviation from convention the higher probability of success in the
> > real world. Note that optimizing out a few bytes here and there is
> > immaterial as to whether the protocol will be ultimately prove
> > deployable-- it really isn't the highest priority issue we need to
> > worry about.
>
> Sure, but here’s the issue:
>
> Neither TCP nor UDP require their payloads to end on a word boundary. So transport checksums already need to deal with up to 3 bytes of “cleanup”.
>
Per RFC768, a zero byte is appended if the UDP data length is odd.

> Given that, why force the front alignment? At most it only doubles that cleanup, which ought to be nominal anyway.

It's a straightforward application of sending clause the robustness
principle. Other IP protocols ensure checksum and headers aligned so
this protocol should too in order to maximize robustness.

Tom

>
> Joe
>
>
>
>
>