[tsvwg] ecn-encap: (was: draft-ietf-tsvwg-rfc6040update-shim:) Suggested Fragmentation/Reassembly text

Bob Briscoe <ietf@bobbriscoe.net> Thu, 03 December 2020 14:11 UTC

Return-Path: <ietf@bobbriscoe.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 71DE23A0BE9 for <tsvwg@ietfa.amsl.com>; Thu, 3 Dec 2020 06:11:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
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 R8rxfnHlSGz0 for <tsvwg@ietfa.amsl.com>; Thu, 3 Dec 2020 06:11:47 -0800 (PST)
Received: from cl3.bcs-hosting.net (cl3.bcs-hosting.net [3.11.37.202]) (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 C4FB43A0BE3 for <tsvwg@ietf.org>; Thu, 3 Dec 2020 06:11:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject: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=E3jxSfb7SNE8pc5WdxZkTm3oNJPGIkqY75igePOvavM=; b=WrkTxeciTAetc9hShSJR3xNnZ YdhEjSCWogPVdYs5gzy61ptweCW+VhHAxrPSD6IvHgytqTP+thO/msSPIc+S/fqQm9F0N+oN2y151 IgC42zpZ7HTwHZHLx2TFUot121ERvYku6STuuQWHkxYa1vlULRPljnl8t66skp3TE/gc51x5NhBHx 8Yc9+at78iudH2O/035K4kVpuoz8FjNFJDNc9/D95iV2HXbARbKneXXqxap5dkQyghYW9DJHCUs/W /XZ6mDcDyZS2K5qkc8L+OkikA2UbQ3J1SMu9C+GX0mTp/EQZ24NXhuEUobT2hoyIgUWvruF2t9ht5 Ior/gG5ig==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:47094 helo=[192.168.1.8]) by cl3.bcs-hosting.net with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <ietf@bobbriscoe.net>) id 1kkpKh-00CqBS-Q9; Thu, 03 Dec 2020 14:11:44 +0000
To: Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org>, David Black <David.Black@dell.com>
Cc: Joe Touch <touch@strayalpha.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <CE03DB3D7B45C245BCA0D243277949363076629A@MX307CL04.corp.emc.com> <CE03DB3D7B45C245BCA0D24327794936307662EA@MX307CL04.corp.emc.com> <1920ABCD-6029-4E37-9A18-CC4FEBBFA486@gmail.com> <CE03DB3D7B45C245BCA0D2432779493630768173@MX307CL04.corp.emc.com> <6D176D4A-C0A7-41BA-807A-5478D28A0301@strayalpha.com> <CE03DB3D7B45C245BCA0D24327794936307688C5@MX307CL04.corp.emc.com> <alpine.DEB.2.21.1911171041020.5835@hp8x-60.cs.helsinki.fi>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <36efdf70-1455-0272-b7a7-b0aed3c3ff70@bobbriscoe.net>
Date: Thu, 03 Dec 2020 14:11:43 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.1911171041020.5835@hp8x-60.cs.helsinki.fi>
Content-Type: multipart/alternative; boundary="------------E45BC971134F60C395D16700"
Content-Language: en-GB
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cl3.bcs-hosting.net
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: cl3.bcs-hosting.net: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: cl3.bcs-hosting.net: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/-aHWJiri7ksC59ve1t0a_L75yKc>
Subject: [tsvwg] ecn-encap: (was: draft-ietf-tsvwg-rfc6040update-shim:) Suggested Fragmentation/Reassembly text
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: Thu, 03 Dec 2020 14:11:50 -0000

Markku,

On 17/11/2019 08:46, Markku Kojo wrote:
> Hi Dave, Joe, All,
>
> Catching up ...
>
> I agree with the modified new text as well as treatment of an 
> ECT(0)/ECT(1) mix as "any".
>
> I also want to repeat my comment that
>
>  draft-ietf-tsvwg-ecn-encap-guidelines-13
>
> added similar new text that alters RFC 3168, and it should be modified 
> accordingly.

[BB] On 15 Nov (before your email, but admittedly only by 2 days 
before), I had revised the text here:
https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-encap-guidelines-14#section-4.6 


First, bear in mind that the scope of this draft is not IP fragmentation 
and reassembly. It is about lower layer re-framing.

So, this section has to deal with cases where packets are formed into a 
link-layer stream and chopped up into frames at boundaries that bear no 
relation to the original packet boundaries. In IP, the ECN marking on a 
fragment only ever contributes to one reassembled packet. But a L2 frame 
can cross packet boundaries, so the ECN marking of some of the frames 
will contribute to 2 (or more) packets, while others will contribute to 
a fraction of a packet.

So the fragmentation and reassembly text in RFC3168 covers only a small 
part of the scope of this ecn-encap draft. Indeed, I had intended that 
IP fragmentation/reassembly was outside of scope of this section, but I 
just noticed I accidentally left the word 'fragment' in the first 
sentence. If people agree, I'll remove it.

    The guidance in this section is worded in terms of framing
    boundaries, but it applies equally whether the protocol data units
    are frames, cells, packets or fragments.

->

...are frames, cells or packets.



Despite this difference in scope, this ecn-encap draft has fallen under 
the disagreements over fragmentation in the 6040update-shim draft. So, 
just so we don't all die before this is published, I took the same 
approach of writing broad hints at what a solution would look like, but 
removed any specifics, including examples. Then specifics can be dealt 
with in the draft-to-be that David has conjured up.

So what have I left in there? It boils down to the two somewhat 
conflicting requirements, in the last 2 paras; with no mention that each 
makes the other difficult, or how to resolve the conflict:

    1) ...SHOULD approximately preserve the
    proportion of PDUs with congestion indications arriving and leaving


    2) ...SHOULD ensure
    that any incoming congestion indication is propagated immediately


The goal of 1) is long-term: to avoid altering long-run marking 
probability (as I have been explaining), which determines the rates of 
long-running flows in steady-state.
The goal of 2) is short-term: not to defer congestion indications 
indefinitely (as Jonathan has been explaining).



Bob

>
> Thanks,
>
> /Markku
>
> PS. I missed Bob's response to my comment at the time, but will reply 
> it separately at some point.
>
>
> On Wed, 9 Oct 2019, David Black wrote:
>
>> At this juncture, for an ECT(0)/ECT(1) mix across a set of fragments 
>> being reassembled, I would suggest using "any" (i.e., either is ok) 
>> at this juncture to avoid constraining what we may do in the future; 
>> in particular, this allows use of the value in the first or last 
>> fragment, both of which are likely to be convenient approaches for 
>> some implementations.
>>
>> Thanks, --David
>>
>>> -----Original Message-----
>>> From: Joe Touch <touch@strayalpha.com>
>>> Sent: Wednesday, October 9, 2019 10:29 AM
>>> To: Black, David
>>> Cc: Jonathan Morton; tsvwg@ietf.org
>>> Subject: Re: [tsvwg] draft-ietf-tsvwg-rfc6040update-shim: Suggested
>>> Fragmentation/Reassembly text
>>>
>>>
>>> [EXTERNAL EMAIL]
>>>
>>> Hi, all,
>>>
>>> I disagree with the suggestion below.
>>>
>>> Pushing this “under the rug” for an indeterminate later date only 
>>> serves to
>>> undermine the importance of this issue.
>>>
>>> At a MINIMUM, there needs to be direct guidance in place until a 
>>> “better”
>>> solution can be developed. For now, that would mean one of the 
>>> following:
>>> - use the max of the frag code point values
>>> - use the min of the frag code point values
>>> - use “any” of the frag code point values
>>> - pick some other way (first, the one in the initial fragment i.e., 
>>> offset 0), etc.
>>>
>>> One of these needs to be *included at this time*.
>>>
>>> If a clean up doc needs to be issued, it can override individual 
>>> “scattered”
>>> recommendations later.
>>>
>>> Joe
>>>
>>>> On Oct 9, 2019, at 6:33 AM, Black, David <David.Black@dell.com> wrote:
>>>>
>>>>> The one case this doesn't really cover is what happens when a 
>>>>> fragment
>>> set
>>>>> has a mixture of ECT(0) and ECT(1) codepoints.  This probably 
>>>>> isn't very
>>>>> relevant to current ECN usage, but may become relevant with SCE, in
>>> which
>>>>> middleboxes on the tunnel path may introduce such a mixture to 
>>>>> formerly
>>>>> "pure" packets.  From my perspective, a likely RFC-3168 compliant
>>>>> implementation of arbitrarily choosing one fragment's ECN 
>>>>> codepoint as
>>>>> authoritative (where it doesn't conflict with other rules) is 
>>>>> acceptable, but
>>>>> this doesn't currently seem to be mandatory.
>>>>>
>>>>> With the above language, it should be sufficient to update 
>>>>> RFC-3168 to
>>> cover
>>>>> this case at an appropriate time, rather than scattering further
>>> requirements
>>>>> in many documents.
>>>>
>>>> I would concur that using a separate draft to cover that case at the
>>> appropriate time would be the better course of action.
>>>>
>>>> Thanks, --David
>>>>
>>>>> -----Original Message-----
>>>>> From: Jonathan Morton <chromatix99@gmail.com>
>>>>> Sent: Tuesday, October 8, 2019 6:55 PM
>>>>> To: Black, David
>>>>> Cc: tsvwg@ietf.org
>>>>> Subject: Re: [tsvwg] draft-ietf-tsvwg-rfc6040update-shim: Suggested
>>>>> Fragmentation/Reassembly text
>>>>>
>>>>>
>>>>> [EXTERNAL EMAIL]
>>>>>
>>>>>> On 8 Oct, 2019, at 10:51 pm, Black, David <David.Black@dell.com> 
>>>>>> wrote:
>>>>>>
>>>>>> **NEW**: Beyond those first two paragraphs, I suggest deleting the
>>> rest
>>>>> of Section 5 of the rfc6040update-shim draft and substituting the
>>> following
>>>>> paragraph:
>>>>>>
>>>>>>   As a tunnel egress reassembles sets of outer fragments
>>>>>>   [I-D.ietf-intarea-tunnels] into packets, it MUST comply with
>>>>>>   the reassembly requirements in Section 5.3 of  RFC 3168 in
>>>>>>   order to ensure that indications of congestion are not lost.
>>>>>>
>>>>>> It is certainly possible to continue from that text to paraphrase 
>>>>>> part or all
>>> of
>>>>> Section 5.3 of RFC 3168, but I think the above text crisply 
>>>>> addresses the
>>>>> problem, and avoids possibilities of subtle divergence.  I do like 
>>>>> the
>>>>> “reassembles sets of outer fragments” lead-in text (which I copied 
>>>>> from
>>> the
>>>>> current rfc6040shim-update draft) because that text makes it clear 
>>>>> that
>>>>> reassembly logically precedes decapsulation at the tunnel egress.
>>>>>>
>>>>>> Comments?
>>>>>
>>>>> Looks good to me.
>>>>>
>>>>> The one case this doesn't really cover is what happens when a 
>>>>> fragment
>>> set
>>>>> has a mixture of ECT(0) and ECT(1) codepoints.  This probably 
>>>>> isn't very
>>>>> relevant to current ECN usage, but may become relevant with SCE, in
>>> which
>>>>> middleboxes on the tunnel path may introduce such a mixture to 
>>>>> formerly
>>>>> "pure" packets.  From my perspective, a likely RFC-3168 compliant
>>>>> implementation of arbitrarily choosing one fragment's ECN 
>>>>> codepoint as
>>>>> authoritative (where it doesn't conflict with other rules) is 
>>>>> acceptable, but
>>>>> this doesn't currently seem to be mandatory.
>>>>>
>>>>> With the above language, it should be sufficient to update 
>>>>> RFC-3168 to
>>> cover
>>>>> this case at an appropriate time, rather than scattering further
>>> requirements
>>>>> in many documents.
>>>>>
>>>>> - Jonathan Morton
>>>>
>>
>>

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/