Re: [tsvwg] draft-ietf-udp-options issues from IETF 104
"C. M. Heard" <heard@pobox.com> Tue, 16 July 2019 05:43 UTC
Return-Path: <heard@pobox.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 363D7120046 for <tsvwg@ietfa.amsl.com>; Mon, 15 Jul 2019 22:43:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.com; domainkeys=pass (1024-bit key) header.from=heard@pobox.com header.d=pobox.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 WDvvbnvJswpB for <tsvwg@ietfa.amsl.com>; Mon, 15 Jul 2019 22:43:35 -0700 (PDT)
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 23F91120020 for <tsvwg@ietf.org>; Mon, 15 Jul 2019 22:43:34 -0700 (PDT)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 15E7016AADA for <tsvwg@ietf.org>; Tue, 16 Jul 2019 01:43:33 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; s=sasl; bh=RM0G+C5QdoQXAssRUABm+pZueSo=; b=CyvddE q9S2e7uQcAPvQUPgTwsP6GIU3E2QvkGPY6/S5BWqgeGnHVOuAuWCtjc8Ygk16Js6 6qFwyoUwpzhagBo4bSjxr7RLLsECNtvrfHRPQHVchW9ruSjwctcCdkiH6A3uvKoL U3iomGYAWiTPRB+sH9nblyNOF1QoZW/dDkxSM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; q=dns; s=sasl; b=UrFDWDIcd34kgyxlifSGHHQJjXIzbr1A 365aMIjpzaKerlKreLoBaiuOxPPcc1sLLmYu2wP4sNXxEdTkYVGQmndmfcgXRX4/ +NcWnefHwRi7HUSRz4WS5ZIsx5MNaqmdXy8E/bmkRML6rXZy8kJujpavjOFQJoVK 7CLjaPZc57c=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id EA3C616AAD9 for <tsvwg@ietf.org>; Tue, 16 Jul 2019 01:43:32 -0400 (EDT)
Received: from mail-io1-f49.google.com (unknown [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 4E8C616AAD8 for <tsvwg@ietf.org>; Tue, 16 Jul 2019 01:43:32 -0400 (EDT)
Received: by mail-io1-f49.google.com with SMTP id i10so37918801iol.13 for <tsvwg@ietf.org>; Mon, 15 Jul 2019 22:43:32 -0700 (PDT)
X-Gm-Message-State: APjAAAWlaTZMIuFhX7zqXre6sQKGxtADeSFED72F3wbqU58hF4NPDNOy rv4uApoJ9HyuCf4uQ9qvJalvdtO07//s8uJ3HVY=
X-Google-Smtp-Source: APXvYqzSrQaMA1WnUZpVa/yw3rdVPEKoED8ldM19O7Gp2fHBxlYYv+xZtAo6EwP6mH0FlF23ayn33hQd9M4PmpiNwv4=
X-Received: by 2002:a5d:8ccc:: with SMTP id k12mr28878814iot.141.1563255811743; Mon, 15 Jul 2019 22:43:31 -0700 (PDT)
MIME-Version: 1.0
References: <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> <20190713182554.GB39770@clarinet.employees.org> <CALx6S36mH2M6SYnRSecWXa7k_d1u8O43+CXE-=KqeO0x2e5+qw@mail.gmail.com> <82FF6486-FABF-4D2C-B5E2-178779C720A4@strayalpha.com> <CALx6S34YhtgNNJtHazqJdsGRhiMa4PQXiSOuDz0JhqqyHWfNyA@mail.gmail.com> <757FDD92-EC4A-4AC2-B491-74B75119A951@strayalpha.com> <CALx6S36XCUs-oQVBSBX_KTg5qN4fgTBrrgqZqmwBwo75J3UqUA@mail.gmail.com> <3b6db46d21ac1bb7e6c6761df7501c92@strayalpha.com> <CALx6S37L0gxaUmE5FT=ByvETY6FnzqXDPMU++RpCQaqpwPXEyA@mail.gmail.com> <4bfbcce574679f741e47cacd87919de1@strayalpha.com> <CACL_3VE_DkRQdBMYc7pW2oB88p7dE-B6Ev7JPfhxA7nUX7tZKA@mail.gmail.com> <193984167bc0b98ffe22da4efe803159@strayalpha.com>
In-Reply-To: <193984167bc0b98ffe22da4efe803159@strayalpha.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Mon, 15 Jul 2019 22:43:18 -0700
X-Gmail-Original-Message-ID: <CACL_3VEq=3AVbET3q-PsYMdVYx7K971=pFtM0O8b2pU5cNUEOQ@mail.gmail.com>
Message-ID: <CACL_3VEq=3AVbET3q-PsYMdVYx7K971=pFtM0O8b2pU5cNUEOQ@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: Tom Herbert <tom@herbertland.com>, tsvwg <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000005a29d5058dc5db7b"
X-Pobox-Relay-ID: A560AAA8-A78C-11E9-83C6-46F8B7964D18-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/XZxL29UA-95ReA72mxv5-kEytK0>
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: Tue, 16 Jul 2019 05:43:41 -0000
On Mon, Jul 15, 2019 at 3:01 PM Joe Touch wrote: > On 2019-07-15 14:43, C. M. Heard wrote: > > ... > > NOTE2: *as repeatedly already noted*, again - GIVEN THIS CONTEXT - > > there is no utility in the additional pre-option header proposed in > > draft-herbert-udp-space-hdr-01. > > Actually, there is something in the draft that IMO has great utility -- > not the pre-option header per-se, but the **functionality** provided by > the draft's protocol header packet format. Specifically, that packet > format allows options to share fate with the payload data that they > accompany (i.e., either both are accepted and processed or neither is). > > > How is that true? We can't redefine the UDP checksum, which covers the > payload. > The answer is that for this variant, the the UDP length is set to 8, so the UDP checksum just covers the UDP header (as with FRAG+LITE in draft-ietf-tsvwg-udp-options-07). Everything else -- the pre-option header, options, and user data go in the surplus space, and is covered by the checksum in the pre-option header. I think this this clip from the draft will help to clarify: 2.2 <https://tools.ietf.org/html/draft-herbert-udp-space-hdr-01#section-2.2> Protocol header format (Extended UDP header) The UDP Surplus Header can be used as a protocol header. Effectively, this creates an extended UDP header format. The logical protocol layering is: +-+-+-+-+-+-+-+-+-+-+-+ \ | UDP header | | / +-+-+-+-+-+-+-+-+-+-+-+ | Extended | | UDP space header | | UDP header Surplus | +-+-+-+-+-+-+-+-+-+-+-+ | space | | Type specific data | | | +-+-+-+-+-+-+-+-+-+-+-+ / | | UDP data | \ +-+-+-+-+-+-+-+-+-+-+-+ The packet format containing an extended UDP header is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | Source port | Destination port | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP | Length | Checksum | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | Type | TSLength | Checksum |\ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ~ Type Specific Data ~ USH | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / | | ~ UDP data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Notes: - Since the UDP header is aligned and a multiple of four bytes, no padding for USH is necessary. - The UDP length is fixed to be eight so that all bytes beyond the UDP header are contained in the surplus space. - The UDP checksum covers the eight bytes of UDP header and the checksum pseudo header. The USH checksum covers the entire surplus space which includes the UDP Surplus Header and UDP data. The USH checksum does needs to include a compensation pseudo-header that is equal to the length of the surplus area (the draft omits that through oversight, but that is easily fixed and does not affect the discussion in the draft in a fundamental way). > A legacy receiver doesn't care about the surplus area and can ignore it. > At which point, whether the surplus is corrupted or not, a legacy > receiver will accept it. > Yes, but what it will see is a zero-length UDP datagram. > A UDP-option-aware receiver would do the same thing with OCS (as > currently defined) as with the one in draft-herbert. Remember, OCS was > already redefined before the last IETF to have the same "zero out" > property as in draft-herbert-00. > Agreed -- subject of course to adding the compensation pseudo-header. > ... > Besides defining a UDP surplus header (USH, Section 2), the draft also > defines two variations of is usage: a protocol trailer variant (Section > 2.1) and a protocol header variant (Section 2.2). > > In the trailer variant the UDP user data (and padding bytes as needed > for alignment) precede the USH and trailing options appear at the the > offset indicated by the UDP Length. It applies only when UDP Length > 8. > It provides functionality similar to the packet format defined in > draft-ietf-tsvwg-udp-options-07. > > In the header variant the UDP Length is set to 8. The USH immediately > follows the UDP header (with no padding), the options are next, and the > payload is last. This is functionally similar to what you get if you > start with draft-ietf-tsvwg-udp-options-07 and add a "user data" option > that consumes all trailing bytes, like the modified FRAG proposed in > https://mailarchive.ietf.org/arch/msg/tsvwg/Wv--BLVMPAX6g5umok9BQsXAEGg. > > One can reasonably ask, why on earth would we want both formats? My > answer is that they provide different but complementary functions. > > > Didn't you just prove they're equivalent to, in essence, LITE and non-LITE? > > No, not at all. By definition, LITE data is excluded from OCS. The protocol header packet format (aka extended UDP packer format) includes the payload data in its checksum, along with the options. One could certainly do that with OCS, but it would be necessary to add an "payload data" option of some sort. > - The trailer variant can be sent to a legacy receiver with a reasonable > expectation that the user data will be processed normally and the > options will be ignored. > > > that's how UDP options already work... > Exactly so. To expand on this a bit, here is the packet format: 2.1 <https://tools.ietf.org/html/draft-herbert-udp-space-hdr-01#section-2.1> Protocol trailer format When used as a protocol trailer, the UDP Surplus Header immediately follows the UDP data. The logical protocol layering is: +-+-+-+-+-+-+-+-+-+-+-+ | UDP header | +-+-+-+-+-+-+-+-+-+-+-+ | UDP data | / +-+-+-+-+-+-+-+-+-+-+-+ \ Surplus | | USH base header | | space | +-+-+-+-+-+-+-+-+-+-+-+ | USH | | Type specific data | | \ +-+-+-+-+-+-+-+-+-+-+-+ / The packet format of UDP Surplus Header as a protocol trailer is: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | Source port | Destination port | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP | Length | Checksum | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | | ~ UDP data ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | TSLength | Checksum |\ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ~ Type Specific Data ~ USH | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Notes: - The offset of the UDP Surplus Header from the start of the UDP header, including possible padding for the USH, is equal the UDP Length. - The number of padding bytes is 3 - ((udp_length - 1) % 4), where udp_length is equal to the UDP Length field. The offset of the Type field of the USH is 4 * ((udp_length - 1) / 4 + 1). - If the size of the USH header (four plus four times TSLength) is less than the size of the UDP surplus space in a packet, then the USH is considered to be malformed (see section 3.2). - The UDP checksum covers the UDP header and UDP data. The USH checksum covers the entire UDP surplus space. - A legacy receiver, one that does not understand the UDP Surplus Header, will ignore the contents of the UDP surplus space and process the UDP data as normal. Protocol data that cannot correctly be ignored by a receiver, such as the fragmentation option in the [UDPOPT], MUST NOT be in a surplus space trailer. hese are the main functional differences between the protocol trailer packet format and what is currently in draft-ietf-tsvwg-udp-options-07: - The checksum is not optional; it is required. It covers all data from the padding preceding the fixed surplus header to the end of the packet. As a consequence, full checksum compensation is provided. - Option data (not including fixed surplus header) is limited to 1020 bytes, and it must be aligned on a four-byte boundary. - Options that affect the handling of the data preceding the trailer are not allowed there. In other words, an option would not be allowed in the trailer if the interpretation of the data preceding the trailer would be different depending on whether the option was processed or ignored. Examples include FRAG (for obvious reasons), ACS (as data failing the alternate checksum would normally be discarded), and AE (as data failing authentication or decryption would normally be discarded). Such options are allowed in the header variant only. - LITE data is not accommodated, both because of the above rule and also because of the mandatory nature of the surplus space checksum. EVALUATION: I do understand from what you wrote elsewhere on this thread that OCS will incorporate the essential checksum functionality described above in the -08 rev, which I applaud. Indeed, I already proposed that OCS, if present, should cover the entire UDP options trailer (excluding LITE data), and that it should be present whenever the checksum in the UDP header is non-zero (and I'd still to see "required when UDP CS<>0" instead of "required"). The other functional requirement that I'd like to see levied is to ban, or at least strongly discourage, options from the trailer if they affect the handling of the payload. I include FRAG, ACS, and AE in this category (see comments below about LITE). Neither of those changes require the use of a fixed pre-option header. <OPINIONATED COMMENTARY> For the protocol trailer packet format I see only downsides to the fixed pre-option header as compared to what is currently defined in draft-ietf-tsvwg-udp-options-07, including OCS as a 3-byte option. When sending I can align OCS with NOPs if I need to, and when receiving I don't care if it's aligned or not, since I'll use a standard Internet checksum calculation (with compensation pseudo-header) over the whole trailer area, conceptually prepending or appending zero bytes if it starts or ends on an odd byte boundary. If the checksum passes, I don't have to do anything with OCS when I go looping through the option TLVs. So, the protocol trailer packet format has no advantage when it comes to checksum handling. Limiting the size of the trailer area limits the ability of DPLPMTUD to pad user data packet for MTU probing (that is a good use for EOL, please keep it). And it precludes LITE, though given that an OCS failure causes LITE data to be discarded while the non-LITE data is delivered, it may be better to tell folks to use UDP-Lite if they need a partial checksum coverage capability. </OPINIONATED COMMENTARY> > ... > - The header variant can be used to safely send options that need to > share the fate of the payload data that they accompany (the options > and payload share the same checksum, so both will be discarded if > the checksum fails). > > > How is this not LITE? > If you mean LITE with UDP Length = 8, the answer is because LITE data is not checksummed. In the usual case, one wants the user data to be protected by a checksum. > Note, however, that a packet still shows up (albeit zero length) with > either approach. So this isn't exactly the same as true fate-sharing. > That's true; as I noted above, it is possible for a the zero-length UDP datagram to affect a legacy receiver. However, it need not affect an options-aware receiver; the transport module can certainly distinguish between UDP Length = 8 and no additional data vs. UDP Length = 8 and a additional data that fails OCS or the USH checksum. > Options that cause the payload to be handled > differently when they are present fall into that category. Examples > include FRAG (for obvious reasons), ACS (as data failing the alternate > checksum would normally be discarded instead of being passed to the > application), and AE (as data failing authentication or decryption would > normally be discarded instead of being passed to the application). > > Note that draft-herbert-udp-space-hdr-01 stipulates that options which > cause the payload to be handled differently when they are present may > reside in the header variant only. > > Why is this important? > > Clearly, for legacy receivers, options in the trailer cannot be > guaranteed to share fate with the payload because they discard all > options. Similarly, if a new option option that affects data > handling is defined in the future, option-aware receivers that do > not recognize it will skip over it. These issues can in principle > be dealt with by insisting (as draft-ietf-tsvwg-udp-options-07 does) > that options that are not safe to ignore must not be sent without > prior knowledge (obtained by negotiation or configuration) that the > target receiver can properly handle them. > > BUT, it's not just legacy receivers that feel the impact; option-aware > receivers treat the entire options trailer as being absent if the option > checksum fails. If the UDP checksum passes, and there are options that > change the handling of the preceding payload data, then that data will > be handled incorrectly. In other words, a correctly implemented receiver > that recognizes all options nonetheless has the potential to pass > corrupted data to the application. In my opinion that's not acceptable. > > > That's not a feature of draft-herbert vs the exising UDP options; that > is a choice in Sec 8 of udp-options. > > We chose to have that case ignore options to emulate legacy receivers; > if that's not what we want, we change that rule. > > If that rule is changed, then you'd get the fate sharing you seek. > > But you can't have it both ways - with either solution. They're the same > here. Either failed options means "act like legacy" or it means "fail", but > that means that incorrect options would succeed in a legacy receiver but > fail in an options-aware one - EITHER WAY. > It seems to me that you are actually making the case for devoting a bit in the Option Kind that specifies what to when the option is not recognized (or recognized but not supported). This shows up in the IETF 104 slides under the rubric of a "require/ignore" but that misrepresents what the advocates (myself included) had in mind. What we (or I, at least) had in mind was something similar to what's in RFC 8200: 0 - skip over this option and continue processing the packet 1 - discard the packet. With this capability available, we could assign an Option Kind with the flag set if the option affects the handling of the accompanying payload (FRAG, AE, and ACS, at a minimum) and an Option Kind with the flag clear if the option can be safely ignored by a legacy receiver (EOL, NOP, OCS, MSS, TIME, REQ, RSP). There should be an EXP option of each flavor to be used as appropriate for the experiment. Then the rule is, only those options whose flag is clear can be in an options trailer; options whose flag is set have to be in the options header. Then the desired behavior results: an option whose flag is set will be discarded, along with its data, either by a legacy receiver that does not understand options at all (thought it will see a zero-length datagram) or by an options-aware receiver that does not understand the option. I'm of two minds about LITE: I don't see a way to make it work with the protocol header format or something similar, but I don't see a way to make it safe with the trailer format of draft-ietf-tsvwg-udp-options-07. I could accept seeing it remain with a "for mutually consenting parties only" health warning, but unless it solves actual problems that UDP-Lite does not, maybe it's best to say "just use UDP-Lite." It does seem as if the fond hopes of easy traversal of middleboxes that block protocol 136 are not to be, as LITE defeats checksum compensation. AFAICT, draft-ietf-tsvwg-udp-options-07 currently has no means for > providing the fate-sharing of options and payload. > > > It does, as shown above. > LITE data is delivered or dscarded depending on the fate if the LITE option, but only at the cost of having no checksum protection for the data. The protocol header packet format in draft-herbert does not have that drawback. > The protocol header > format in draft-herbert-udp-space-hdr-01 does. I'd like to see > draft-ietf-tsvwg-udp-options-07 revised to provide that functionality. > > I have my own ideas on how best to do that, but I am going to hold them > in abeyance for a later time because I think it's much more important > for us to discuss whether I am correct to insist on the need for an > option and payload fate-sharing capability for protocol correctness. > > > I agree with that - let's decide what functionality we want and THEN > figure out how to deliver it. Or at least separate those two discussions > where possible. > Excellent, thank you. > However, header/trailer is a misnomer. It's really about whether and how > much to use LITE. > Sorry, but I disagree with that. LITE does not and cannot deliver the functionality of the protocol header packet format in draft-herbert. LITE does not checksum the payload data; the protocol header packet format in draft-herbert does. I do believe that improvements can be made to the latter; details for those who care are below my .sig Mike -- The main properties of of the protocol header packet format in draft-herbert are: - The UDP Length is required to be 8. The fixed-size surplus header begins immediately after the UDP header, without padding. - The checksum is not optional; it is required. It covers all data from the the fixed surplus header to the end of the packet (as above). As a consequence, full checksum compensation is provided. - Option data (not including the fixed surplus header) is limited to 1020 bytes, and it must be aligned on a four-byte boundary (as above). - LITE data is not accommodated. - All other options are allowed. - Data following the end of the options area (as indicated by the length field in the surplus header) starts on a four-byte boundary. It is processed as indicated in the options and passed to the application (if appropriate) following such processing. In many cases there is no processing and it's just passed upward, but that would not be the case for FRAG, ACS, and AE. The limitation to 1020 bytes of options seems needless and arbitrary, and it interferes with the capability of this format to support DPLPMTUD probe packets that consist of padding only (for more information see draft-ietf-tsvwg-datagram-plpmtud-08 Section 4.1). This limitation is a result of reserving a byte in the pre-option header as a type for extensibility; if we agree that the options themselves provide enough flexibility, then this issue can be overcome by modifying the format to be as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | Source port | Destination port | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -Base Hdr | UDP Length = 8 | UDP Header Checksum | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | Payload Offset | Option+Payload Checksum |\ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ~ UDP Options ~Ext Hdr | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / | | ~ Payload Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ If alignment of the payload data is seen as desirable (which is likely the case), then Payload Offset can be restricted to be a multiple of 2, 4, or 8 as appropriate, with a minimum value of 4. Fragments should be similarly aligned. Several alternatives to this format were considered, notably including the currently-defined 3-byte OCS (one byte Kind, two byte checksum) with a to-be-defined one-byte "user data" option that would appear at the end and consume all following data. That combination uses at least as much space and will use more if NOPs are inserted for alignment. So in this case (unlike the trailer case), a fixed header appears to be advantageous compared to possible alternatives. FRAG would be as in https://mailarchive.ietf.org/arch/msg/tsvwg/Wv--BLVMPAX6g5umok9BQsXAEGg but with the interpretation changed to have it consume all payload data instead of all data that follows.
- [tsvwg] Fwd: New Version Notification for draft-h… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- Re: [tsvwg] New Version Notification for draft-he… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… Tom Herbert
- [tsvwg] draft-ietf-udp-options issues from IETF 1… Joe Touch
- Re: [tsvwg] New Version Notification for draft-he… lloyd.wood@yahoo.co.uk
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Wesley Eddy
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] Fwd: New Version Notification for dra… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- [tsvwg] design assumptions - draft-ietf-udp-optio… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… mohamed.boucadair
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Derek Fawcus
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… mohamed.boucadair
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Gorry Fairhurst
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Gorry Fairhurst
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Gorry Fairhurst
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… mohamed.boucadair
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Gorry Fairhurst
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Gorry Fairhurst
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Gorry Fairhurst
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Gorry Fairhurst
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Gorry Fairhurst
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Gorry Fairhurst
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Gorry Fairhurst
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Joe Touch
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Tom Herbert
- Re: [tsvwg] draft-ietf-udp-options issues from IE… C. M. Heard
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… Derek Fawcus
- Re: [tsvwg] draft-ietf-udp-options issues from IE… Black, David
- Re: [tsvwg] design assumptions - draft-ietf-udp-o… C. M. Heard