[Anima] Roman Danyliw's No Objection on draft-ietf-anima-grasp-api-08: (with COMMENT)

Roman Danyliw via Datatracker <noreply@ietf.org> Wed, 02 December 2020 00:00 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: anima@ietf.org
Delivered-To: anima@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 8AC3A3A0B55; Tue, 1 Dec 2020 16:00:12 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Roman Danyliw via Datatracker <noreply@ietf.org>
To: "The IESG" <iesg@ietf.org>
Cc: draft-ietf-anima-grasp-api@ietf.org, anima-chairs@ietf.org, anima@ietf.org, Sheng Jiang <jiangsheng@huawei.com>, jiangsheng@huawei.com
X-Test-IDTracker: no
X-IETF-IDTracker: 7.23.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Roman Danyliw <rdd@cert.org>
Message-ID: <160686721253.14349.9749712956714631922@ietfa.amsl.com>
Date: Tue, 01 Dec 2020 16:00:12 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/z60L0p8HazTe2MrHVqeFAkMuvIk>
Subject: [Anima] Roman Danyliw's No Objection on draft-ietf-anima-grasp-api-08: (with COMMENT)
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Dec 2020 00:00:13 -0000

Roman Danyliw has entered the following ballot position for
draft-ietf-anima-grasp-api-08: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:


Thank for responding to the SECDIR reviewer and thank you to Joseph Salowey for
performing it.

** Since this is an API spec a few more example pseudo code snippets showing
common ASA “tasks” invoking this API from both sides of the connection (like
Figure 2) would be very helpful.

** More precise references to draft-ietf-anima-grasp might helpful to
implementers (e.g., in Section, “… default GRASP_DEF_LOOPCT, see
[I-D.ietf-anima-grasp]” ==> “... see Section 2.6 of [I-d.ietf-anima-grasp]”)

** Section 1.  Per “An ASA runs in an ACP node and therefore inherits all its
security properties, i.e., message integrity, message confidentiality and the
fact that unauthorized nodes cannot join the ACP.”, in the spirit of precise,
things like message integrity and message confidentiality are not properties of
the ASA or of the ACP _node_ but instead properties of the protocol used on the
control plane.

** Section 2.1.  Recommend using consistent terminology.  In this section ASA
call a “GRASP module”.  However, Section 1 lays out an architecture of GRASP
Core + API.

** Section 2.2.  I found the placement of this section confusing.  There is a
discussion of the calling conventions for an API that hasn’t been discussed
yet.  IMO, this should be after Section 2.3.  That said, thanks for describing
these different calling conventions.  Showing these in examples would be very

** Section  Per the definition of TTL, is it worth clarifying here and
in the subsequent descriptions that this is an unsigned of a particular size
(unsigned 32-bit at least) per Section 5 of draft-ietf-anima-grasp?

** Section  Is it worth clarifying that loop_count should be between 0
and 255 per Section 5 of the draft-ietf-anima-grasp?

** Section  Provide a normative reference to which version of C and
Python will be used.

** Section  If an older C is used, is “char *name” the right way to
handle a UTF-8 string?

** Section Per the C data structure of an objective, should loop_count
and value_size be unsigned integers of some kind?

** Section  Why does the Python implementation set a default value of
loop_count but C does not?

** Section  Please provide a reference to libcbor

** These examples in C and Python found Section were helpful.  I was
hoping to find them in the other sections.  Also a C-style .h file with
function prototypes and constants would also be nice (e.g., GRASP_DEF_TIMEOUT,
IPPROTO_*, all the error types)

** Section 2.3.4.  Typo. s/tiemout/timeout/

** Section  The constants IPPROTO_TCP and IPPROTO_UDP aren’t defined
here.  Recommend a reference to the grasp draft.

** Section 2.3.7.  Double checking -- per the info input parameter, is the ASA
supposed to provide this content or is this something from GRASP Core?

** Appendix A.  This list doesn’t appear to be a complete crosswalk of function
to error codes to possible APIs.  For example, “NotObj” is listed as a general
error code, but would that get returned by register_asa()?

** Per the GENART Review, IMO, Paul makes a number of good points, in
particular: -- a reference or further explanation of the flow for dry run and
how this would be used in other API calls

-- additional clarifying language on request_negotiate

-- Renaming the “session nonce” to “session handle” (or something like it)
might improve clarity so the API doesn’t have to deal with multiple “nonce”