[Gen-art] Gen-ART review of draft-ietf-dime-app-design-guide-19

Martin Thomson <martin.thomson@gmail.com> Sat, 14 September 2013 00:13 UTC

Return-Path: <martin.thomson@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 C507921F9EB8 for <gen-art@ietfa.amsl.com>; Fri, 13 Sep 2013 17:13:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9cQhVkYw7cU6 for <gen-art@ietfa.amsl.com>; Fri, 13 Sep 2013 17:13:56 -0700 (PDT)
Received: from mail-wg0-x22a.google.com (mail-wg0-x22a.google.com [IPv6:2a00:1450:400c:c00::22a]) by ietfa.amsl.com (Postfix) with ESMTP id D15FC21F9E76 for <gen-art@ietf.org>; Fri, 13 Sep 2013 17:13:55 -0700 (PDT)
Received: by mail-wg0-f42.google.com with SMTP id m15so1346725wgh.1 for <gen-art@ietf.org>; Fri, 13 Sep 2013 17:13:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=S/kc8l8GB+Tjceui6EpsKNZt9lfChjKH5zXBwy2o0Uc=; b=fqsRTOfuZEJlonBBjrmtxaYa0qs60LV7XqC6e/+WFBQvo62SRFknrZGzRRkEORGcod YHWkaubLZ8gstKNMpiU7ecAfO4oEYTqp2Xp8GL0vdrUZTZtuPdljdERZEZi/5fbyGzbJ 6oK0elEZknHcsqlZTuns4Jrr2hZ9kVrm0fzxcOuVeafhv7H5Nqq1iKoTA+sqXFyz+Edv YoM9apBLyT1vU/iQWLOI3POExMy/fH8SK9sdh/p5aE59Ks7YnX036fDoCh3h56aJMam/ ekfjQVFUOXpe1G5krCBmHe+6UAQKjTKrnyKf8Yo92jVosSjTWpofBSrSgVC9ITwP/97S lNKQ==
MIME-Version: 1.0
X-Received: by 10.194.120.68 with SMTP id la4mr12782976wjb.33.1379117633782; Fri, 13 Sep 2013 17:13:53 -0700 (PDT)
Received: by 10.194.28.39 with HTTP; Fri, 13 Sep 2013 17:13:53 -0700 (PDT)
Date: Fri, 13 Sep 2013 17:13:53 -0700
Message-ID: <CABkgnnW_JWMC3CVoCpt6gVWzdJWv6ii_rUMtk=bt-=HEBMYGqg@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: draft-ietf-dime-app-design-guide.all@tools.ietf.org
Content-Type: text/plain; charset="UTF-8"
Cc: "gen-art@ietf.org" <gen-art@ietf.org>, jounikor@gmail.com
Subject: [Gen-art] Gen-ART review of draft-ietf-dime-app-design-guide-19
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Sat, 14 Sep 2013 00:13:56 -0000

I am the assigned Gen-ART reviewer for this draft. For background on
Gen-ART, please see the FAQ at

<http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.

Please resolve these comments along with any other Last Call comments
you may receive.

Document: draft-ietf-dime-app-design-guide-19
Reviewer: Martin Thomson
Review Date: 2013-09-13
IETF LC End Date: unknown, early review
IESG Telechat date: (if known)

Summary: This document is ready, with some minor issues and nits.

Minor issues:
I would find it a lot easier to read this document if it did as the
goals state (the first objective from the introduction) and clarify
what the extensibility rules in Diameter say with respect to each of
the described extensions.  It's not easy to glean this information
from RFC 6733, which makes reviewing this a little tricky.

For instance, Section 4.1 doesn't really say what the expectations are
with respect to implementations that receive unknown or unsupported
commands.  I think that I could guess, but I'd rather not.  (I just
read the relevant parts of 6733, and it turns out that my guess was
wrong.)

The same applies to Section 4.2, presumably through applying the same
principles.  The question here is: what would be the expected behavior
if a node was operating on the new application definition and that
node received a deleted command?  (The old implementation presumably
has no problem with the absence of the command if it's being removed.)

The same applies to Section 5.

Sections 4.4.2 and particularly 5.6 lead me to infer that the
extensibility for enumerated types is fundamentally broken, so maybe
those properties need to be expanded upon a little here too.

The placement of the guidance in Section 5.6 seems fairly important
for Section 4, lest that important information be lost to someone just
looking to tweak a command.

Section 4.3.1, perhaps add to the M-bit criteria: Would the presence
or value of the AVP alter the interpretation of the command (or any
other AVP) in any way?  (nit: s/AVPs/AVP on second bullet here.)

I didn't find the list in  Section 6 particularly compelling.  It
seemed a little like motherhood statements.  The description of what
it was this was talking about: good; the description of how these
"often" (always?) manifest is also useful.  I wonder though whether
it's safe to generalize when you only see generic protocols extensions
as optional AVPs.  Perhaps you need to refocus on exactly that, and
leave the other forms of extension to speculation.

Nits/editorial comments:
The last paragraph of Section 3 is confusing to me.  Firstly, the
subject of the reminder is missing from the first sentence.  I think
that the intent of that sentence is to say that extending by adding
applications or commands is to be avoided, but then subsequent
sentences make it clear that doing so is easy.  The last sentence
seems to be talking about something else entirely, which is the value
that IANA registries provide.  I am going to have to suggest that this
be reworded entirely.

In Section 4.1, I'd like to see the note turned into real text.  The
size and complexity of an application seems to be a fairly significant
factor in determining whether a new application imports commands, or
whether separate applications are defined.

I read the first bullet in Section 4.3.2 as a sentence, several times,
before realizing that it's a title.  Please reconsider the formatting
of this list.  At a very minimum, remove the period.

--Martin

p.s., I'm on vacation starting approximately ...now, since I'm out of
time for this review... so apologies for any slow responses to the
review.