Re: [tsvwg] WGLC for DPLPMTUD - WGLC comments, still to be resolved.

Maksim Proshin <maksim.proshin@mera.com> Mon, 23 December 2019 11:03 UTC

Return-Path: <maksim.proshin@mera.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 6563312007C for <tsvwg@ietfa.amsl.com>; Mon, 23 Dec 2019 03:03:28 -0800 (PST)
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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] 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 amIADzmpARqR for <tsvwg@ietfa.amsl.com>; Mon, 23 Dec 2019 03:03:25 -0800 (PST)
Received: from mail.mera.com (mail.mera.com [188.40.162.229]) (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 539C612001E for <tsvwg@ietf.org>; Mon, 23 Dec 2019 03:03:25 -0800 (PST)
Received: from mera-exch3.mera.com ([188.130.168.213] helo=mera-exch.mera.com) by mail.mera.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (envelope-from <maksim.proshin@mera.com>) id 1ijLUf-0007bd-SM; Mon, 23 Dec 2019 11:03:21 +0000
Received: from mera-exch3.mera.com (2001:67c:2344:100::23) by mera-exch3.mera.com (2001:67c:2344:100::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Mon, 23 Dec 2019 14:03:19 +0300
Received: from mera-exch3.mera.com ([fe80::14f2:6b98:ed28:64d3]) by mera-exch3.mera.com ([fe80::14f2:6b98:ed28:64d3%6]) with mapi id 15.01.1591.017; Mon, 23 Dec 2019 14:03:19 +0300
From: Maksim Proshin <maksim.proshin@mera.com>
To: G Fairhurst <gorry@erg.abdn.ac.uk>
CC: "tsvwg@ietf.org" <tsvwg@ietf.org>
Thread-Topic: [tsvwg] WGLC for DPLPMTUD - WGLC comments, still to be resolved.
Thread-Index: AQHVt0kcPaH7AbQo/0elXfVL4F8t/afHZWXw
Date: Mon, 23 Dec 2019 11:02:24 +0000
Deferred-Delivery: Mon, 23 Dec 2019 11:03:10 +0000
Message-ID: <899b6465feba4b9e872235ae96c5aaec@mera.com>
References: <5b408f37-97aa-65d8-9a55-348aaddb2440@mti-systems.com> <2FD1B21B-E91F-4B92-8745-4FB6168EBDF8@erg.abdn.ac.uk> <b1bb816189c040599b02e4f0768cf336@mera.com> <5DFCE6D6.1090306@erg.abdn.ac.uk>
In-Reply-To: <5DFCE6D6.1090306@erg.abdn.ac.uk>
Accept-Language: en-GB, ru-RU, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [188.130.168.205]
x-inside-org: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/ifOmY3ydAhrOzeDpXlvFE08beEM>
Subject: Re: [tsvwg] WGLC for DPLPMTUD - WGLC comments, still to be resolved.
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: Mon, 23 Dec 2019 11:03:28 -0000

Hi Gorry,

Please see below my follow-up.

BR, Maxim

-----Original Message-----
From: G Fairhurst <gorry@erg.abdn.ac.uk> 
Sent: Friday, December 20, 2019 6:21 PM
To: Maksim Proshin <maksim.proshin@mera.com>
Cc: tsvwg@ietf.org
Subject: Re: [tsvwg] WGLC for DPLPMTUD - WGLC comments, still to be resolved.



Maxim, thanks again for all your comments. These comments below will require more help to resolve. Please help us discuss on the list, or help by offering some initial text proposals.

Best wishes,

Gorry

Major comments:

1.
RFC 4821 states that “an implementation SHOULD implement some form of MTU verification” and I don’t see how that aspect is addressed in DPLMTUD. Did I miss it or was it intentionally skipped?
GF: QUERY - I am unsure I understand the question - but maybe this relates to always probing a new PLPMTU before it is used - in which case, this is covered.
[Maxim] I refer to Section 7.8 of RFC 4821. My understanding of that section is that in some cases PLPMTUD might fail to find a correct PLPMTU value when e.g. a flow traverses multiple paths. In that case it might lead to packet losses. RFC 4821 recommends to check the loss rate and if it rises, to switch back to the previous value of eff_pmtu. I think that "always probing a new PLPMTU before it is used" is not enough. 
First of all I wanted to understand if DPLPMTUD recommends any other mechanism of the verification or refers to RFC 4821 for that or intentionally skips it (then why). If DPLMTUD relies on RFC 4821 (which I'm fine with), I would clearly state that. If you want to cover it in DPLMTUD, it will probably require a new state and a timer (or re-use SEARCH_COMPLETE).   

3.
Some PLs like SCTP can’t re-fragment data during retransmission which might lead to a problem if PMTU was decreased in run-time or the PLPMTU value was discovered wrongly. In some case the data would never be retransmitted. This aspect is not covered in the draft. I think it would be good at least to recommend to not set DF-bit for retransmitted data and to not fragment user data to pieces larger than BASE_PMTU (or even MIN_PMTU?).
GF: QUERY What does the WG think?

5.
Sec 3: “A method is REQUIRED to signal an appropriate MPS to the higher layer using the PL. ” – In general I don’t see how the draft addresses it. Is it up to the PL implementation or the PL specification? I assume it requires SCTP Socket API update. If so, is it out of scope of this doc?
GF: Should we specify this?
[Maxim] Now when I thought more about this, I'd like to understand the idea of this "REQUIRED". Do you want each PL regardless of whether it supports fragmentation or not to signal the MPS value every time the PLPMTU value is changed? If so I would probably replace it by "SHOULD" if fragmentation is supported.
Anyway, I personally think the signal should be specified if "REQUIRED" is used because implementers are forced to implement it and will need to care about the signal. If not specified, it will be many different implementations. If some PL already has such signal specified in another doc, it could be good to refer to it. In the SCTP case there is a way for the user to retrieve the current PMTU value but it is not a signal.   

Minor comments:

6.
Im: The default value is specified for some parameters but not for all and without clear explanation of why such values are used as default. 
The same is for recommended values. Shouldn’t it be consistent?
GF : Which parameters do you mean?
[Maxim] I meant mainly section 5.1.2. E.g. MAX_PROBES has the default value and BASE_PMTU has the recommended value. Other constants don't have any of them. For me it would be better to align it and e.g. put recommended values for all of them. Perhaps Section 5.1.1 could also be improved. 
This is really a minor comment so you can skip it if there are no recommendations for other constants.

9.
Mi: Sec 1.3. why don’t you refer to SCTP specification RFC4960 instead of or additionally to RFC4821. Section 7.3 of RFC4960 has a statement “An endpoint SHOULD apply these techniques, and SHOULD do so on a per-destination-address basis.” so for me it’s more relelvant to refer to RFC4960.
GF : Should this document update RFC4960?
[Maxim] Good question. I personally think it should update it. Let's see what Michael and Randall say. 

17.
Im/Q: Sec 4.4: “MUST suspend” – I assume it’s valid in general even when 
PL is using the other PL like QUIC uses UDP. If so, it would be good to 
clarify.
GF: I did not understand what text to add.
[Maxim] Let's agree on the issue first. If a PL uses another PL (like QUIC over UDP), does the draft assume that DPLPMTUD should only be enabled in the highest level (in QUIC)? 

25.
Im: Sec 6.2 (maybe general for Sec 6): It would be good to recommend to 
enable fragmentation (do not set DF bit) for all packets except for 
probes or at least for retransmitted packets.
GF:  i understand and know this is done. in some SCTP implementations. 
What specific text is required?
[Maxim] I think the following text should work:
"In IPv4, it is NOT RECOMMENDED to set the DF bit for any packet which is not a probe."
If you think it's too strong then probably the following text is a better choice:
"When retransmitting any packet which is not a probe, SCTP SHOULD NOT set the DF bit."

26.
Im/Q: Sec 6.2: Should or should not probe packets influence assoc and 
path error counters? I think it’s “SHOULD” when a probe is acknowledged 
and “SHOULD NOT” when it’s lost. In other words probes should only clear 
the error counters in my view.
GF: Is this correct below:
NEW:
  A successful probe updates the association and path
             counters, but an unsuccessful probe is discounted (assumed
             to be a result of choosing too large a PLPMTU).

[Maxim] It's fine with me.