Re: [dhcwg] DHCP Options for Network-Assisted Multipath TCP (MPTCP)

Simon Hobson <linux@thehobsons.co.uk> Thu, 12 November 2015 14:24 UTC

Return-Path: <linux@thehobsons.co.uk>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C01171B2EB4; Thu, 12 Nov 2015 06:24:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 JrNmua9mKi6t; Thu, 12 Nov 2015 06:24:00 -0800 (PST)
Received: from patsy.thehobsons.co.uk (patsy.thehobsons.co.uk [81.174.135.208]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7292C1B2EAC; Thu, 12 Nov 2015 06:24:00 -0800 (PST)
X-Virus-Scanned: Debian amavisd-new at patsy.thehobsons.co.uk
Received: from [192.168.1.22] (lan.furness.net [77.233.151.255]) by patsy.thehobsons.co.uk (Postfix) with ESMTPSA id 302FB1BC65; Thu, 12 Nov 2015 14:23:55 +0000 (UTC)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Simon Hobson <linux@thehobsons.co.uk>
In-Reply-To: <787AE7BB302AE849A7480A190F8B933008C9BA96@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
Date: Thu, 12 Nov 2015 14:23:53 +0000
Content-Transfer-Encoding: quoted-printable
Message-Id: <5E745D70-F0BA-42E2-B8BF-E281DEED19A6@thehobsons.co.uk>
References: <D2660C4C.7A833%dan.seibel@telus.com> <787AE7BB302AE849A7480A190F8B933008C9AC74@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <m2pozifd2f.wl-Niall.oReilly@ucd.ie> <787AE7BB302AE849A7480A190F8B933008C9AD6A@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <D8E99AD3-A93A-4C43-9E6D-9E3015EF4670@thehobsons.co.uk> <787AE7BB302AE849A7480A190F8B933008C9AEFD@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <F8FA02F0-952D-472B-8016-71C3B62DA04B@thehobsons.co.uk>, <787AE7BB302AE849A7480A190F8B933008C9BA1F@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <0705B986-C01F-49E8-AD15-14C7D14C74BD@cisco.com> <787AE7BB302AE849A7480A190F8B933008C9BA96@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
To: multipathtcp@ietf.org, "dhcwg@ietf.org" <dhcwg@ietf.org>
X-Mailer: Apple Mail (2.1510)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/jPSCetqxnQnkTQGwOL4yP0ovUB0>
Subject: Re: [dhcwg] DHCP Options for Network-Assisted Multipath TCP (MPTCP)
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dhcwg/>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Nov 2015 14:24:02 -0000

mohamed.boucadair@orange.com wrote:

> The proposed text was to explicitly show to Simon the complexity induced by the request to handle broken implementations.

Which IMO you failed to do.

If a client receives an option that it doesn't know what to do with - it is already required to ignore it. As Bernie points out, you do not need to specify that as that's already "standard requirement" for all options.
You also don't need to specify that the client must request it - that too is standard requirement.

The suggestion was simply that you change one instance of "must not" to "should not".
In the ideal world, no client would ever want an option but not request it - "should not" is sufficient instruction for a normal server, serving a normal client, with nothing broken, to not send the option if not requested.

But in the non-ideal world, sometimes the admin needs to override the strictly correct operation so as to deal with something that isn't completely ideal. Stating "must not" precludes the admin from working around a problem, and technically means an implementation must prevent him from trying*. In the real world there are broken things we can't fix - only work around the broken bits.

You don't need to specify any mechanism for that, you don't even need to reference the possibility - just don't prohibit it. So the sole change required is to change "must" to "should" in one place.

* If the server "must not" send an option the client didn't ask for, then strictly speaking, an implementation "must not" have a means for the admin to override that parameter list.