Re: [MBONED] draft-ietf-mboned-multicast-yang-model-04: partial review

"Holland, Jake" <jholland@akamai.com> Sat, 08 May 2021 23:12 UTC

Return-Path: <jholland@akamai.com>
X-Original-To: mboned@ietfa.amsl.com
Delivered-To: mboned@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A75E23A190D for <mboned@ietfa.amsl.com>; Sat, 8 May 2021 16:12:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, 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=akamai.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 cwrVN9Y4h1FE for <mboned@ietfa.amsl.com>; Sat, 8 May 2021 16:12:19 -0700 (PDT)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04B4D3A190A for <mboned@ietf.org>; Sat, 8 May 2021 16:12:18 -0700 (PDT)
Received: from pps.filterd (m0050093.ppops.net [127.0.0.1]) by m0050093.ppops.net-00190b01. (8.16.0.43/8.16.0.43) with SMTP id 148NAB9m003894; Sun, 9 May 2021 00:12:17 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=jan2016.eng; bh=PIUT+K56kvUQYuJyN8P96w5eTPRHDeykqTrl2CrJkgs=; b=A0M67tHCltbe0+LkGXDsfMRwl61UPgju2XmnZ3SteosIU1gdOGXCw1Z2q4swmS0oJd/t 5/FkL035toTb/cxvfpxWbyJJWsKnUru5CzEtFIa8SHjTVK/Q0ymRTAa4t0+DiZr+jrpC SuiQnSE5kA93bSDX7XW7NZNets/KB0PKp1cZMSs47xVRyxz5+gqR/GqNiH+duocYFylw YAAksQkTZG5w+7Y7eUv8Gxk8KhvEE3fbl2SYGnUKETbo8X8YkQlIoYc5C7gF8R5UoF/e gx5NhN490Zm2Gokptpj3TQo4mYmU5kC1ECyl/iC3fG3vrI7VYwle4bh5U/Q3JK7WTa0K qQ==
Received: from prod-mail-ppoint3 (a72-247-45-31.deploy.static.akamaitechnologies.com [72.247.45.31] (may be forged)) by m0050093.ppops.net-00190b01. with ESMTP id 38dhwty2h1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 09 May 2021 00:12:16 +0100
Received: from pps.filterd (prod-mail-ppoint3.akamai.com [127.0.0.1]) by prod-mail-ppoint3.akamai.com (8.16.1.2/8.16.1.2) with SMTP id 148N4t1i001052; Sat, 8 May 2021 19:12:15 -0400
Received: from email.msg.corp.akamai.com ([172.27.165.118]) by prod-mail-ppoint3.akamai.com with ESMTP id 38dnyxxaed-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 08 May 2021 19:12:15 -0400
Received: from USTX2EX-DAG1MB4.msg.corp.akamai.com (172.27.165.122) by ustx2ex-dag1mb4.msg.corp.akamai.com (172.27.165.122) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 8 May 2021 18:12:15 -0500
Received: from USTX2EX-DAG1MB4.msg.corp.akamai.com ([172.27.165.122]) by ustx2ex-dag1mb4.msg.corp.akamai.com ([172.27.165.122]) with mapi id 15.00.1497.012; Sat, 8 May 2021 18:12:15 -0500
From: "Holland, Jake" <jholland@akamai.com>
To: "zhang.zheng@zte.com.cn" <zhang.zheng@zte.com.cn>
CC: "mboned@ietf.org" <mboned@ietf.org>
Thread-Topic: draft-ietf-mboned-multicast-yang-model-04: partial review
Thread-Index: AQHXRF+VK4sw4znWJEKCclu47XJi7A==
Date: Sat, 08 May 2021 23:12:14 +0000
Message-ID: <1DB1AAE5-7B15-4D64-8C47-09B6A568A769@akamai.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.48.21041102
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.27.164.43]
Content-Type: text/plain; charset="utf-8"
Content-ID: <B978DD7FEDBA394BA42A438FBA9FB0B8@akamai.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-05-08_13:2021-05-06, 2021-05-08 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 adultscore=0 malwarescore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105080188
X-Proofpoint-GUID: Jx3YjBBY86Zr_6U32Z732-rXpoGltxid
X-Proofpoint-ORIG-GUID: Jx3YjBBY86Zr_6U32Z732-rXpoGltxid
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-05-08_13:2021-05-06, 2021-05-08 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 priorityscore=1501 adultscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105080189
X-Agari-Authentication-Results: mx.akamai.com; spf=${SPFResult} (sender IP is 72.247.45.31) smtp.mailfrom=jholland@akamai.com smtp.helo=prod-mail-ppoint3
Archived-At: <https://mailarchive.ietf.org/arch/msg/mboned/8VQ8JlAB-5AJAohplaG8PkbRKW8>
Subject: Re: [MBONED] draft-ietf-mboned-multicast-yang-model-04: partial review
X-BeenThere: mboned@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Mail List for the Mboned Working Group <mboned.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mboned>, <mailto:mboned-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mboned/>
List-Post: <mailto:mboned@ietf.org>
List-Help: <mailto:mboned-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mboned>, <mailto:mboned-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 08 May 2021 23:12:24 -0000

Hi Sandy,

Thanks for the response, and I'm glad the review was helpful.  Thanks
also for the updated links for the Open Daylight project.

You asked a question and had one response I'm still confused about,
so I'm cutting to respond just to those:

From: "zhang.zheng@zte.com.cn" <zhang.zheng@zte.com.cn>
> Date: Sat,2021-05-08 at 12:57 AM
>
> 8.
> In the model:
> I don't understand the "module-loaded" and "module-unloaded" options
> in the head-end-event notification.  It sounds like these are
> referring to a change in the RESTCONF/NETCONF server, rather than a
> change in the head-end?  Or I don't understand what this is saying,
> or what a client might do in response to this.
>           enum module-loaded {
>             description
>               "The new modules that can be used by multicast
>                flows have been loaded.";
>           }
>           enum module-unloaded {
>             description
>               "The new modules that can be used by multicast
>                flows have been unloaded.";
>           }
> Sandy> In some device, the protocol is also called a module. But I think you are right, the description may lead to confusion. 
> Do you think it's better: protocol-enabled and protocol-disabled? 

Ah, I get it now.  Yes, I think protocol-enabled and protocol-disabled
does sound better to me, thanks.

> 9.
> In the model:
> I'm confused about the transport-pim grouping that's empty.  Is
> the point of that to have something that can be augmented?  Is
> there an example of augmentations that are used here?
> Sandy> Because this model works together with other protocols model, PIM YANG can also be used. If there is some parameters need to be set, it should be set in PIM YANG model.
>
> This is an extension point?  If so, would it be reasonable to
> add any guidance explaining when it would be useful or necessary
> to use it?
> Sandy> I used boolean type for it, when it was set to 1 mean that this leaf is used. 
> But when this model was review by YANG doctors, they said it's more better to use the current way.
>
> 10.
> Same thing for the several empty cases in overlay-tech and
> underlay-tech.
>
> Would it make sense to define an identity like
> "underlay-technology-identity" and use that as a base for a
> type that would appear in the data instance?  The way it stands
> now, I'm not sure I see how it would distinguish between an
> underlay-tech that's bgp vs. isis, since both are empty, so the
> underlay-tech container would just be empty in both cases.
> Sandy> Please find my answer in 9. 

I took a look at the YANG doctor review from Mahesh and the email
thread it references to see if I could better understand their
suggestion as you mentioned in the response to #9:
https://mailarchive.ietf.org/arch/msg/yang-doctors/dv_-0qZ6mpkNmA4_ArRvczagYLI/
https://mailarchive.ietf.org/arch/msg/yang-doctors/Kw2o-kLv4MnGsiGgHHgZcKeakYY/

Is that the review you meant?

I saw one comment from Mahesh that looked to me like a very similar
question to what I thought I was asking:

(From Mahesh):
"Secondly, it is not clear what the purpose of empty containers is in the YANG model. For example, container bgp has no attributes. Is this an augmentation point or a mount point? If so, who is expected to augment or use as a mount point for the container? The draft gives no guidelines on how the container is expected to be used. Again, an example would have helped. If they are meant to be an indication what the routing protocol for the underlay is, why do you need a container? A boolean leaf should have sufficed. As defined, one can have multiple routing protocols defined for a given underlay. Was this the intent?"

I hope the examples will clarify this some, but even if the
presence of the "pim" container in the "transport-tech" grouping
is used as a selector for whether pim is in use, I don't understand
what the empty "transport-pim" grouping is for, or how extensions
are expected to use it.

I'll also say that my reading of Mahesh's comment is suggesting that
a boolean leaf would be a better choice than an empty container, if
the point is to just indicate presence or non-presence, which seems
backwards from what I thought you were saying?  Maybe I'm confused
about which review you meant?

Anyway, I think the examples with explanations of how the controller
will behave with the examples might be the right next step.  Right
now I feel like I might have an understanding gap on what the intent
is here, so I'm not sure any suggestions on the structure I can make
will make good sense.

Thanks and regards,
Jake