Re: [Gen-art] Gen-ART Telechat review of draft-ietf-anima-grasp-api-08

Brian E Carpenter <brian.e.carpenter@gmail.com> Thu, 03 December 2020 21:22 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 81A513A0D40; Thu, 3 Dec 2020 13:22:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 wbDU-keI0mh3; Thu, 3 Dec 2020 13:22:42 -0800 (PST)
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) (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 DEA373A0D38; Thu, 3 Dec 2020 13:22:41 -0800 (PST)
Received: by mail-pl1-x633.google.com with SMTP id f1so1869105plt.12; Thu, 03 Dec 2020 13:22:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=rtrijF83sC0q3F4lnyKmKKq1F5KFZbipHly8YVia5NE=; b=GNig8tUQBlRcE29orje7C61mOprO78PeEXvtG5Sw+7TF03Nl3VV0hzdm1sTc9DnotA qahOrwWogS4taBmzHR5AohEVxmaGNsbVSGnm4trMhtwDxIfvzCsBH5DU4yh9ndcxRne1 K/C3gK5FU2X0B8FtFKgD0+OD64oKeA1/02SeJee6sGZqcZtU9ntygOu6eHpFIopkcxN0 nsxWTF9IUBK5FIs2JywwE5jaShWYQSvrzj/N2DvRf4IAW+jzZHn6Yae+lavgycDpm10k c5RRRkHGunX9oT8tw5Efw4VB5FzenDMmJvojXXH+B/Pov0yxzBfNKI0uR76ILpDEnkv8 RqsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=rtrijF83sC0q3F4lnyKmKKq1F5KFZbipHly8YVia5NE=; b=gHgBtpVBsZD6tRBwkTpy9WP4oQDb+wuEFvyhgS8yYqZg1iBjejohm6PempDfnyL6eL 02cXcSPixALsDvn7DpJxiM+WNO4O+Kvy4PrarA7eBnrPS9RaJwRDopAing7kvXldJpTW CoOpr5jRUSXibjV1z3QXt25sVfYZZ5z2DwSVvldrxbxHqg0TieinBs7WJ42fxNBHQn/l FIPeqzHQ5xQmj48PsIXy/F4VLXMHyyIDd0D1WlVu1kx++SEKG9/46z8/9Bgr3htXLS3y 70U5uSUmkFtGEQMrJblz7yNMueziy6PooBS1L3jwrQIh9li+JIQ3WsMmnH2qBvenPHsq hgiA==
X-Gm-Message-State: AOAM532NOQJMEBRtVfvvF6cyWHM45nfaeaQzuEMXOkpkXQLbzMrsHoFm zcZbDl3xI4+ONb5W7QARi5fZbLE7wowFPQ==
X-Google-Smtp-Source: ABdhPJwgN2lpdNvZG1Qej9n/pE8blJdaXQMKH7C7aCtmvLzkNJdE2ej81/8m04Znb2D9XjC09y7idg==
X-Received: by 2002:a17:902:a708:b029:da:1684:c7a9 with SMTP id w8-20020a170902a708b02900da1684c7a9mr1007079plq.55.1607030560899; Thu, 03 Dec 2020 13:22:40 -0800 (PST)
Received: from [192.168.178.20] ([151.210.131.28]) by smtp.gmail.com with ESMTPSA id r11sm2071599pgn.26.2020.12.03.13.22.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Dec 2020 13:22:40 -0800 (PST)
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, draft-ietf-anima-grasp-api.all@ietf.org
Cc: General Area Review Team <gen-art@ietf.org>
References: <033a81cb-0a38-b291-80cb-c94e2147de3c@alum.mit.edu> <291a713f-b685-50fc-f097-1200e6127ef3@gmail.com> <86fa9191-1b74-97d9-d530-9415e7e035f9@alum.mit.edu> <3e979d48-04ee-b711-93e4-f1d51a3bd4bb@alum.mit.edu>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <5332b21b-b5eb-7ac6-c759-12ef653706cf@gmail.com>
Date: Fri, 04 Dec 2020 10:22:35 +1300
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <3e979d48-04ee-b711-93e4-f1d51a3bd4bb@alum.mit.edu>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/RfBRKufOtiRXBRjD-Kh6sxyG48A>
Subject: Re: [Gen-art] Gen-ART Telechat review of draft-ietf-anima-grasp-api-08
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 03 Dec 2020 21:22:51 -0000

Below...

On 04-Dec-20 04:17, Paul Kyzivat wrote:
> Brian,
> 
> One more thing occurred to me:
> 
> On 12/2/20 12:29 PM, Paul Kyzivat wrote:
> 
>>>> Also, the goal of negotiation isn't clear to me. I gather it must be for
>>>> the two sides to agree on a particular value for the objective. But for
>>>> that to work there must be some rules about how values can change in
>>>> each step so that the result stabililizes, rather than causing a battle
>>>> that ends with loop count exhaustion. This could be achieved by always
>>>> negotiating *down*, or always *up*. But that requires that the objective
>>>> value type have an ordering function. Given the general nature of the
>>>> objective I don't think that can be assumed.
>>>
>>> No, it explicitly is not defined either in the protocol nor the API.
>>> The syntax and semantics of the objective value are defined 
>>> per-objective,
>>> and the objective might or might not be ordered. So there is 
>>> intentionally
>>> no answer to your question.
>>>
>>> In most cases I'd expect that there would be an ordering but we didn't 
>>> want
>>> to constrain the use cases in that way. Also note that a failed 
>>> negotiation
>>> (e.g. the loop count expires, or where one end simply rejects the other's
>>> offer) is not a protocol failure.
>>>
>>>>
>>>> ISTM that more work is needed to define the negotiation process in a way
>>>> that ensures it ends with both sides agreeing on a single value for the
>>>> objective.
>>>
>>> As noted, that is per-objective. The most complicated case I've coded
>>> is IP prefix assignment, and it works fine, except that if there is
>>> no prefix available of the maximum desired length, the requester ends
>>> up unsatisfied - as intended. There should be no condition in which
>>> the negotiation loops indefinitely; it either succeeds or fails.
>>
>> Without that the result in non-deterministic. The two sides may have 
>> conflicting goals, and then the result will only be determined by the 
>> loop count and timeout.
>>
>> Alternately, implementors will establish side agreements that aren't 
>> governed by standards.
>>
>> That seems like an undesirable state of affairs.
> 
> One possibility would be to define the negotiation policy on a 
> per-objective basis. This would be required as part of the definition of 
> the objective that is registered with IANA. It would define how the 
> value may change from step to step of negotiation to ensure convergence.

The IANA policy is Specification Required. We already have this in the
GRASP spec itself:

   There must be a well-defined procedure for concluding that a
   negotiation cannot succeed, and if so deciding what happens next
   (e.g., deadlock resolution, tie-breaking, or revert to best-effort
   service).  This MUST be specified for individual negotiation
   objectives.

The natural place to expand on that is in draft-ietf-anima-asa-guidelines
as it develops.

Regards
    Brian