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

Paul Kyzivat <> Thu, 03 December 2020 15:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id F12DC3A0E26; Thu, 3 Dec 2020 07:18:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.003
X-Spam-Status: No, score=-2.003 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id EETchaTm4HEX; Thu, 3 Dec 2020 07:18:14 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 839093A0DE7; Thu, 3 Dec 2020 07:17:22 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=TtVJmYeF2OyVpLv+auycWuMPYqHg1hvZwOKCFk46CTQr0A3E/XB0/V0UsHy82Lp86AReJ2E/t+7Vt3snwDlQLhFPLlNQ6ArfPXd9MLvAgD5+obYsw5RQ+hJBQD+5kSSmSd9q1SqzAmxWYrKj/DI+EVDaiagd2dic/hdnxKHbfP6g6pvEwscUQVsBPDB45qnfxgWg0L6JUK5Qzfh78SNmkTaSXUCMH4+d6Iqs4ngST+m1oL6e+mx9H+/5t6yFLyFf8wtNtpyi2K0HpbdcGQDGx4HlaQiSy+p+U/YrEiQa49KJFzocijoWox0VVVubxtdyyI/hcRNSbbICNFbVdWqSFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WjbNCPVzoEZsI5PycMTwCWZ4GI+HXr7XxXq8z3YaJjQ=; b=Zphe8F224Scxb9nI2bCgKpTNNp+nbIStFoxzYdQsJDTkBD7UYQ3oxDHplsETEsWw7EDgbHXrMqELR+rtoH+4MK0UTCKZSDbyGVsobKDvR1ytDC2NPfrV4empvO5VY0hxqrYIQY741P1EmIlWo2CuNZUAIXAGL1UrGPS1F4tIZ4Zm10Sk/Gv0q/DktA3ed9gu5xnN5U7VMrDxZZFgX6zwhB0h08ScLW82HvLYcQt4vka4CwfLpKUrWVuDLbzyTfL+gPo7RLZklCVL4FHQNGLT7+jR2WL0vFI8HriQsknM3mYC96W2uFAhWj/JqoagEPj2mqNPwiJKt6VbtdzXW7KN7Q==
ARC-Authentication-Results: i=1; 1; spf=pass (sender ip is; dmarc=bestguesspass action=none; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WjbNCPVzoEZsI5PycMTwCWZ4GI+HXr7XxXq8z3YaJjQ=; b=LTGewTGp7PFpJkQhEdsu69X2RMGQHsi7vooXzjuLSWAL/AdrjMEPGevN9q2KJTWLmordd2pvVVKb0QVlFG4yKQZo58gZ95XeCYp3VG5zktjVJs29F75SzWSlmlpqG3Y1F/hTL93Fzlk0YRxGVCvT1cawEpuxJE6Nka//16UtLHg=
Received: from (2603:10b6:208:134::17) by (2603:10b6:3:e2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.20; Thu, 3 Dec 2020 15:17:19 +0000
Received: from (2603:10b6:208:134:cafe::23) by (2603:10b6:208:134::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17 via Frontend Transport; Thu, 3 Dec 2020 15:17:19 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is;; dkim=none (message not signed) header.d=none;; dmarc=bestguesspass action=none;
Received-SPF: Pass ( domain of designates as permitted sender); client-ip=;;
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.27 via Frontend Transport; Thu, 3 Dec 2020 15:17:18 +0000
Received: from PaulKyzivatsMBP.localdomain ( []) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by (8.14.7/8.12.4) with ESMTP id 0B3FHGhP032194 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Thu, 3 Dec 2020 10:17:17 -0500
From: Paul Kyzivat <>
To: Brian E Carpenter <>,
Cc: General Area Review Team <>
References: <> <> <>
Message-ID: <>
Date: Thu, 3 Dec 2020 10:17:16 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0) Gecko/20100101 Thunderbird/78.5.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a6dcdf02-1118-4dfa-015d-08d8979e8645
X-MS-TrafficTypeDiagnostic: DM5PR1201MB2489:
X-Microsoft-Antispam-PRVS: <>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: XTLk8ySiAbOzt1ISnYjvpLfGYNNu3zbSLr1ry0Iy1l7zifDgRTX95YppkqmB4NE5yOE/tiWDziqTEtQXchGWPvZ3TzuMgGizL0YsUr//msyOK62vf3nuO7dmQ83dHY8x0Vqum38Zz0u4b1x2gq41Z5AD1Cwf5zDuzMQLzRiGjHtNFdcMOE0YmJ5L3gDRvAyISG8mnZCcowGcSrGRNREd2vbZ+xlPvnGAvUL4CY2q5CB9d7ehilwX9RgCVridepDpCOYdtlr7XcyAJmdCwf9WNINt7umayDQnstgArNx/yYVDC/LCxM2aSWjFw9nKnXH4jPPkdX21vRRzP4jxZA1Zz2Fe+Q8GbJSd3tJNS7jRZJSy0R4gZb+3++VkRviT9GbzB1nvGrzsa/ubvNisWchTgYh0TybcDi3Cgj0euGo7XVF/Bp0nY0Ocv/Js0PvUhCXC
X-Forefront-Antispam-Report: CIP:; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM;;; CAT:NONE; SFS:(39860400002)(346002)(136003)(376002)(396003)(46966005)(31696002)(356005)(82310400003)(478600001)(8676002)(26005)(83380400001)(70586007)(5660300002)(4326008)(31686004)(956004)(86362001)(2616005)(47076004)(786003)(186003)(336012)(2906002)(8936002)(316002)(82740400003)(70206006)(53546011)(75432002)(7596003)(43740500002); DIR:OUT; SFP:1101;
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2020 15:17:18.5291 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a6dcdf02-1118-4dfa-015d-08d8979e8645
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f; Ip=[]; Helo=[]
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB2489
Archived-At: <>
Subject: Re: [Gen-art] Gen-ART Telechat review of draft-ietf-anima-grasp-api-08
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 03 Dec 2020 15:18:16 -0000


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.