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

From: Antonin Décimo <[email-masked]>
Date: Tue, 21 Jan 2020 20:49:40 +0100

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

---

From: "STARK, BARBARA H" <[email-masked]>
Date: Tue, 21 Jan 2020 21:26:17 +0000

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
 
> 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
> 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
> 
> ---
> @@ -332,10 +332,10 @@ model definitions in subsequent sections, the error
> is in this overview.

---

From: Mahesh Jethanandani <[email-masked]>
Date: Wed, 22 Jan 2020 18:34:50 -0800

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 <[email-masked]> wrote:
> 
> Hi Antonin,

Mahesh Jethanandani
[email-masked]