Re: [babel] [patch] Info model: fix little inconsistencies in naming, use singular for objects.

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 23 January 2020 02:34 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9666912006F for <babel@ietfa.amsl.com>; Wed, 22 Jan 2020 18:34:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 0tM8suAXMhOb for <babel@ietfa.amsl.com>; Wed, 22 Jan 2020 18:34:53 -0800 (PST)
Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) (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 81A16120018 for <babel@ietf.org>; Wed, 22 Jan 2020 18:34:53 -0800 (PST)
Received: by mail-pj1-x1031.google.com with SMTP id n96so473235pjc.3 for <babel@ietf.org>; Wed, 22 Jan 2020 18:34:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=eCRKDxaQ2z1bSMNF28WeZXPTGnLl90kVJa0d/iR2cNs=; b=JJx1VkhSa8an9YffpQEomUiy5aT6GDBWYoY3gBUyM26caOkcNjiAlZNuaQwi5MY5Os zY3/qXZWw0gsehDDhfizlMRNiezq1KrqsDUpKTBfVOEQjixNxevNm+MSwTWyTSJ9OlFA xKUp572nJo1I80WlB516cCMcPWdm7EXp5NmPB7IBsBw2u5ZlkTTIlH5SATXqg0+zV2Vx X+BRf9vi9QKwTmU/TjVVrKAAA86g/u7DoVKbyarteQ7/PSlSrQ7odngIZZP62iw8SZDF 1Fp+fN5QcpgsF3xt1UVHv15LRibrn1b+XZgoQBIioIpCHcUOXYIbfGUsbyCYmIeyTyrz sZLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=eCRKDxaQ2z1bSMNF28WeZXPTGnLl90kVJa0d/iR2cNs=; b=nALPEAG4m/+YWXkHPX7cOo1Y2fyLZB2nUVltIpuR5D47XZMZ/eAQ1p5q3rp8pqPILM bWnapRcfoqbDiwiNON4pyXIsEfTSqmRqxHcj5gJQUjh2YQ5TPW7HGVz6wOzfvbeNLAwI U9TOm0/9Ti2fU5TkhgnTlR91igiF4O7EG0OYyen+FURJ+FXQ/YyB/Os+zUTwIyiYoz0i sMT1uhI8blIMR59ReApS3CpU6DeRz4Xig3VW9pHpZWHmBWN0t2ynoGjUS4mdtiVEito0 luPdG/WbQdj1usqH4AaCgmXRdL4TTJAscI7PcLhGVCL6WaUeLeHfKAOuyyO1Kpypv4ON ltSA==
X-Gm-Message-State: APjAAAVQn0pRByx7Hz6maafXYBgZl1ryPJcle6XMqa6n45ys/h8bAfsW sfGHJrAGJvIPmlp2BRwRx5U=
X-Google-Smtp-Source: APXvYqxdp/nHG7vkmlwANcG/zkbSanVr8mLMfhuRYmxjy3fHe6SBNYcAN1YgqlgDPx9bDCexeCAsxQ==
X-Received: by 2002:a17:90a:2203:: with SMTP id c3mr1847726pje.68.1579746892881; Wed, 22 Jan 2020 18:34:52 -0800 (PST)
Received: from [10.33.123.108] ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id a23sm263467pfg.82.2020.01.22.18.34.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jan 2020 18:34:51 -0800 (PST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <2D09D61DDFA73D4C884805CC7865E611537595E5@GAALPA1MSGUSRBF.ITServices.sbc.com>
Date: Wed, 22 Jan 2020 18:34:50 -0800
Cc: Antonin Décimo <antonin.decimo@gmail.com>, "babel@ietf.org" <babel@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <5527E0D9-E433-424A-8DD1-2356ED4EAF4A@gmail.com>
References: <CAC=54BKONDYv44iY6kRPO9pADe=mE+naRDa2n027X8sng+ZKmw@mail.gmail.com> <2D09D61DDFA73D4C884805CC7865E611537595E5@GAALPA1MSGUSRBF.ITServices.sbc.com>
To: "STARK, BARBARA H" <bs7652@att.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/s_JAj1_uerXVfM-LiDDtJYuzbBo>
Subject: Re: [babel] [patch] Info model: fix little inconsistencies in naming, use singular for objects.
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 Jan 2020 02:34:55 -0000

Hi Barbara,

You are right. The YANG model maintains list names which are plural. It does not define the -obj objects. As such, the YANG model is not impacted.

Thanks.

> On Jan 21, 2020, at 1:26 PM, STARK, BARBARA H <bs7652@att.com> wrote:
> 
> Hi Antonin,
> I don't remember why I made them plural. I'm sure it was because I saw it done that way, somewhere. I try to avoid having original thoughts.
> But I agree with you completely. In my BBF TR-181 data model, the object names are all singular, because that's the BBF convention.
> Since it looks like we've got some other little changes coming in, it wouldn't bother me to make the object names all singular. But I don't know how Mahesh feels about this. I know the YANG model maintains the plural forms; but the list names would still be plural (only the -obj definitions would change to singular) -- so the YANG model wouldn't need to change. 
> Barbara
> 
>> Hello Barbara, hello Mahesh,
>> 
>> While reading carefully the Information Model with all the recent discussions,
>> I've found some small inconsistencies in the naming of objects which I've
>> fixed in the patch below.
>> 
>> What bothered me more was that the name of object types was pluralized.
>> I'm much more comfortable with singular, for instance I find it better to read
>> "Definition of babel-route-obj" and then the composition of the object,
>> rather than "Definition of
>> babel-routes-obj": why was it pluralized?
>> I also find it better to have the field (for instance) "babel-routes<0..*>;" be a
>> set of objects of type "babel-route-obj".
>> 
>> -- Antonin
>> 
>> ---
>> draft-ietf-babel-information-model.md | 56 +++++++++++++--------------
>> 1 file changed, 28 insertions(+), 28 deletions(-)
>> 
>> diff --git a/draft-ietf-babel-information-model.md
>> b/draft-ietf-babel-information-model.md
>> index ad2a64a..9b66f2d 100644
>> --- a/draft-ietf-babel-information-model.md
>> +++ b/draft-ietf-babel-information-model.md
>> @@ -15,7 +15,7 @@ title: Babel Information Model
>> area: Routing
>> wg: Babel routing protocol
>> kw: Babel
>> -date: 2019
>> +date: 2020
>> author:
>> - ins: B. H. Stark
>>   name: Barbara Stark
>> @@ -332,10 +332,10 @@ model definitions in subsequent sections, the error
>> is in this overview.
>>       [boolean                  rw babel-stats-enable;]
>>       [operation                   babel-stats-reset;]
>>        babel-constants-obj      ro babel-constants;
>> -       babel-interfaces-obj     ro babel-interfaces<0..*>;
>> -       babel-routes-obj         ro babel-routes<0..*>;
>> -      [babel-mac-key-sets-obj   rw babel-mac-key-sets<0..*>;]
>> -      [babel-dtls-cert-sets-obj rw babel-dtls-cert-sets<0..*>;]
>> +       babel-interface-obj      ro babel-interfaces<0..*>;
>> +       babel-route-obj          ro babel-routes<0..*>;
>> +      [babel-mac-key-set-obj    rw babel-mac-key-sets<0..*>;]
>> +      [babel-dtls-cert-set-obj  rw babel-dtls-cert-sets<0..*>;]
>>    } babel-information-obj;
>> ~~~~
>> {: artwork-align="left"}
>> @@ -407,14 +407,14 @@ babel-routes:
>>   node.
>> 
>> babel-mac-key-sets:
>> -: A babel-mac-key-sets-obj object. If this
>> +: A set of babel-mac-key-set-obj objects. If this
>>   object is implemented, it
>>   provides access to parameters related to the MAC security mechanism.
>>   An implementation MAY choose
>>   to expose this object as read-only ("ro").
>> 
>> babel-dtls-cert-sets:
>> -: A babel-dtls-cert-sets-obj object. If this
>> +: A set of babel-dtls-cert-set-obj objects. If this
>>   object is implemented, it
>>   provides access to parameters related to the DTLS security mechanism.
>>   An implementation MAY choose
>> @@ -446,7 +446,7 @@ babel-mcast-group:
>>   to expose this parameter as read-only ("ro").
>> 
>> 
>> -## Definition of babel-interfaces-obj
>> +## Definition of babel-interface-obj
>> 
>> 
>> ~~~~
>> @@ -468,8 +468,8 @@ babel-mcast-group:
>>       [boolean              rw babel-packet-log-enable;]
>>       [reference            ro babel-packet-log;]
>>       [babel-if-stats-obj   ro babel-if-stats;]
>> -       babel-neighbors-obj  ro babel-neighbors<0..*>;
>> -   } babel-interfaces-obj;
>> +       babel-neighbor-obj   ro babel-neighbors<0..*>;
>> +   } babel-interface-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> @@ -594,7 +594,7 @@ babel-if-stats:
>> : Statistics collection object for this interface.
>> 
>> babel-neighbors:
>> -: A set of babel-neighbors-obj objects.
>> +: A set of babel-neighbor-obj objects.
>> 
>> 
>> ## Definition of babel-if-stats-obj
>> @@ -631,7 +631,7 @@ babel-received-packets:
>> : A count of the number of Babel packets received on this interface.
>> 
>> 
>> -## Definition of babel-neighbors-obj
>> +## Definition of babel-neighbor-obj
>> 
>> ~~~~
>>   object {
>> @@ -645,7 +645,7 @@ babel-received-packets:
>>       [uint                ro babel-ucast-hello-interval;]
>>       [uint                ro babel-rxcost;]
>>       [uint                ro babel-cost;]
>> -   } babel-neighbors-obj;
>> +   } babel-neighbor-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> @@ -727,7 +727,7 @@ babel-cost:
>>   This is a 16-bit unsigned integer.
>> 
>> 
>> -## Definition of babel-routes-obj
>> +## Definition of babel-route-obj
>> 
>> ~~~~
>>   object {
>> @@ -741,7 +741,7 @@ babel-cost:
>>        ip-address           ro babel-route-next-hop;
>>        boolean              ro babel-route-feasible;
>>        boolean              ro babel-route-selected;
>> -   } babel-routes-obj;
>> +   } babel-route-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> @@ -808,13 +808,13 @@ babel-route-selected:
>>   is being advertised).
>> 
>> 
>> -## Definition of babel-mac-key-sets-obj
>> +## Definition of babel-mac-key-set-obj
>> 
>> ~~~~
>>   object {
>>        boolean               rw babel-mac-default-apply;
>> -       babel-mac-keys-obj    rw babel-mac-keys<0..*>;
>> -   } babel-mac-obj;
>> +       babel-mac-key-obj     rw babel-mac-keys<0..*>;
>> +   } babel-mac-key-set-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> @@ -831,9 +831,9 @@ babel-mac-default-apply:
>>   to expose this parameter as read-only ("ro").
>> 
>> babel-mac-keys:
>> -: A set of babel-mac-keys-obj objects.
>> +: A set of babel-mac-key-obj objects.
>> 
>> -## Definition of babel-mac-keys-obj
>> +## Definition of babel-mac-key-obj
>> 
>> ~~~~
>>   object {
>> @@ -843,7 +843,7 @@ babel-mac-keys:
>>        binary                -- babel-mac-key-value;
>>        string                rw babel-mac-key-algorithm;
>>       [operation                babel-mac-key-test;]
>> -   } babel-mac-keys-obj;
>> +   } babel-mac-key-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> @@ -902,13 +902,13 @@ babel-mac-test:
>>   as a binary string.
>> 
>> 
>> -## Definition of babel-dtls-cert-sets-obj
>> +## Definition of babel-dtls-cert-set-obj
>> 
>> ~~~~
>>   object {
>>        boolean               rw babel-dtls-default-apply;
>> -       babel-dtls-certs-obj  rw babel-dtls-certs<0..*>;
>> -   } babel-dtls-obj;
>> +       babel-dtls-cert-obj   rw babel-dtls-certs<0..*>;
>> +   } babel-dtls-cert-set-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> @@ -924,14 +924,14 @@ babel-dtls-default-apply:
>>   An implementation MAY choose
>>   to expose this parameter as read-only ("ro").
>> 
>> -babel-dtls-certs:
>> -: A set of babel-dtls-keys-obj objects. This contains both certificates
>> +babel-dtls-cert:
>> +: A set of babel-dtls-cert-obj objects. This contains both certificates
>>   for this implementation to present for authentication, and to accept
>>   from others. Certificates with a non-empty babel-cert-private-key can
>>   be presented by this implementation for authentication.
>> 
>> 
>> -## Definition of babel-dtls-certs-obj
>> +## Definition of babel-dtls-cert-obj
>> 
>> ~~~~
>>   object {
>> @@ -940,7 +940,7 @@ babel-dtls-certs:
>>        string                rw babel-cert-type;
>>        binary                -- babel-cert-private-key;
>>       [operation                babel-cert-test;]
>> -   } babel-dtls-certs-obj;
>> +   } babel-dtls-cert-obj;
>> ~~~~
>> {: artwork-align="left"}
>> 
>> --
>> 2.25.0

Mahesh Jethanandani
mjethanandani@gmail.com