Re: [pim] [yang-doctors] Optional key support?
"Acee Lindem (acee)" <acee@cisco.com> Wed, 24 October 2018 14:54 UTC
Return-Path: <acee@cisco.com>
X-Original-To: pim@ietfa.amsl.com
Delivered-To: pim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F154A130E77; Wed, 24 Oct 2018 07:54:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.971
X-Spam-Level:
X-Spam-Status: No, score=-14.971 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 dB20Nl_OrZJP; Wed, 24 Oct 2018 07:54:00 -0700 (PDT)
Received: from rcdn-iport-8.cisco.com (rcdn-iport-8.cisco.com [173.37.86.79]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E69A130E17; Wed, 24 Oct 2018 07:53:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=157852; q=dns/txt; s=iport; t=1540392839; x=1541602439; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=FSGkQ9/5FQjsraiGsbEIdATI6XaD4SymDvJpaTofw0Q=; b=PcY/WBY6PHgqrCMc3N/fqYTtKIDjSZxffJhJRfkWvd8tRdq9UqMxpP7Y Y839a7yu3vH9brLCauNi8+GzvTDsWKzH+9RfC+qMoc93ibYyMTbmVBM0Z j79RW/U8qAlFYK0GBfv0aIdOsk/tZ/px2d9jbr3ZRN2ZxXhocQPL5x1dw s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ADAAAshtBb/5BdJa1aCRkBAQEBAQEBAQEBAQEHAQEBAQEBgVEEAQEBAQELAYFaKmZ/KAqDa4gYi2gwgWglgluGH44bFIFjAwsBARgNhEcCF4J0ITQNDQEDAQECAQECbRwMhToBAQEDAQEBGAEIEToLBQcEAgEGAg4DAQIBAQEBAgIUDAMDAgICHwYLFAECBggCBAENBRuDBgGBaQMNCA+MXZtNgS6DQHACg0sNghiBC4pXF4IAgREnDBOBTn6CNiA6CwEBAhiBDBESAh0FCxUMAhWCNDGCBCICiG8qBYE7g3OPMCYuCQKGYYMdg08BgyQXgVJMhCiDFIUugSiMXHmBTYciAhEUgSYdOIFVcBU7KgGCQQmCHRd9AQiCPAaFFIU+bwEBAYpfIgmBAYEfAQE
X-IronPort-AV: E=Sophos;i="5.54,420,1534809600"; d="scan'208";a="469067667"
Received: from rcdn-core-8.cisco.com ([173.37.93.144]) by rcdn-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2018 14:53:56 +0000
Received: from XCH-RTP-015.cisco.com (xch-rtp-015.cisco.com [64.101.220.155]) by rcdn-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id w9OErtLw002108 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 24 Oct 2018 14:53:55 GMT
Received: from xch-rtp-015.cisco.com (64.101.220.155) by XCH-RTP-015.cisco.com (64.101.220.155) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 24 Oct 2018 10:53:54 -0400
Received: from xch-rtp-015.cisco.com ([64.101.220.155]) by XCH-RTP-015.cisco.com ([64.101.220.155]) with mapi id 15.00.1395.000; Wed, 24 Oct 2018 10:53:54 -0400
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "andy@yumaworks.com" <andy@yumaworks.com>
CC: "xufeng.liu.ietf@gmail.com" <xufeng.liu.ietf@gmail.com>, "sivakumar.mahesh@gmail.com" <sivakumar.mahesh@gmail.com>, "stig@venaas.com" <stig@venaas.com>, "guofeng@huawei.com" <guofeng@huawei.com>, "anish.ietf@gmail.com" <anish.ietf@gmail.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "liuyisong@huawei.com" <liuyisong@huawei.com>, "pete.mcallister@metaswitch.com" <pete.mcallister@metaswitch.com>, "pim@ietf.org" <pim@ietf.org>
Thread-Topic: [yang-doctors] Optional key support?
Thread-Index: AQHUaxWpWQ8JNsImt0e6NoBzVoZ4fqUtna8AgACJXwCAAFWHgA==
Date: Wed, 24 Oct 2018 14:53:54 +0000
Message-ID: <870A0CEB-1E21-4451-80FD-2D1DE605A8C7@cisco.com>
References: <8AC97776-E280-45D0-86AC-08BF3F13A60B@cisco.com> <CABCOCHTSiW8y46SMvXcyW0rTZmNDfHPUka_Y35gW8v5M8yC--Q@mail.gmail.com> <20181024.074744.771331979340686070.mbj@tail-f.com>
In-Reply-To: <20181024.074744.771331979340686070.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.116.152.200]
Content-Type: text/plain; charset="utf-8"
Content-ID: <E14275444A12AD4B9D60086AF187F00B@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Outbound-SMTP-Client: 64.101.220.155, xch-rtp-015.cisco.com
X-Outbound-Node: rcdn-core-8.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/pim/D3jhxb9veF5SBhFIZVGfjtCMqX0>
X-Mailman-Approved-At: Thu, 25 Oct 2018 16:18:31 -0700
Subject: Re: [pim] [yang-doctors] Optional key support?
X-BeenThere: pim@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Protocol Independent Multicast <pim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pim>, <mailto:pim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pim/>
List-Post: <mailto:pim@ietf.org>
List-Help: <mailto:pim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pim>, <mailto:pim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Oct 2018 14:54:09 -0000
Read through the discussion and it is a shame we can't converge on a solution. Is YANG 1.0 compatibility the major issue? Thanks, Acee On 10/24/18, 1:48 AM, "yang-doctors on behalf of Martin Bjorklund" <yang-doctors-bounces@ietf.org on behalf of mbj@tail-f.com> wrote: Andy Bierman <andy@yumaworks.com> wrote: > Hi, > > It has been discussed before. > It is already allowed for config=false nodes so the change would be to > allow config=true nodes > to have no keys. > > Each time it comes up, somebody mentions that > (a) NETCONF/RESTCONF has no mechanism to delete all list entries > (b) The client cannot create more than 1 entry. How does the server know > the next entry is a different instance or replacing the first instance? I don't think these were the reasons. See the proposal that was on the table for 1.1: http://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-10 and the discussion: https://mailarchive.ietf.org/arch/browse/netmod/?gbt=1&index=bwacmVipuJMakMFjDXXCZMXCTAA /martin > What is the use-case for a config list without keys? > > > Andy > > > On Tue, Oct 23, 2018 at 2:16 PM, Reshad Rahman (rrahman) <rrahman@cisco.com> > wrote: > > > <Changed subject> > > > > > > > > Hi Xufeng, > > > > > > > > I don’t know if this has been discussed for yang-next but it doesn’t seem > > to be in the yang-next list. I believe optional keys were discussed for > > YANG1.1, maybe others on the YD list remember… > > > > https://github.com/netmod-wg/yang-next/issues > > > > > > > > In this case, I believe it would have been useful to have that > > functionality. > > > > > > > > Regards, > > > > Reshad. > > > > > > > > *From: *Xufeng Liu <xufeng.liu.ietf@gmail.com> > > *Date: *Tuesday, October 23, 2018 at 4:39 PM > > *To: *"Reshad Rahman (rrahman)" <rrahman@cisco.com> > > *Cc: *"janl@tail-f.com" <janl@tail-f.com>, Mahesh Sivakumar < > > sivakumar.mahesh@gmail.com>, Stig Venaas <stig@venaas.com>, Guofeng < > > guofeng@huawei.com>, Anish Peter <anish.ietf@gmail.com>, " > > yang-doctors@ietf.org" <yang-doctors@ietf.org>, Liuyisong < > > liuyisong@huawei.com>, Pete McAllister <pete.mcallister@metaswitch.com>, " > > pim@ietf.org" <pim@ietf.org> > > *Subject: *Re: [yang-doctors] [pim] Yangdoctors last call review of > > draft-ietf-pim-igmp-mld-yang-07 > > > > > > > > Hi Reshad and All, > > > > > > > > Do you think that it would be useful to eventually extend YANG spec to > > allow an optional key with a default value? That would allow the user not > > to enter the extra empty string, and make the model more user friendly. > > > > > > > > Thanks, > > > > - Xufeng > > > > > > > > On Fri, Oct 19, 2018 at 11:02 AM Reshad Rahman (rrahman) < > > rrahman@cisco.com> wrote: > > > > Hi Xufeng, > > > > > > > > I think we should go with the solution proposed by Chris (attached) when > > we last discussed this. I realize it’s not ideal but IMO it’s better than > > other proposals. > > > > > > > > Regards, > > > > Reshad. > > > > > > > > *From: *yang-doctors <yang-doctors-bounces@ietf.org> on behalf of Xufeng > > Liu <xufeng.liu.ietf@gmail.com> > > *Date: *Friday, October 19, 2018 at 9:21 AM > > *To: *"janl@tail-f.com" <janl@tail-f.com> > > *Cc: *Mahesh Sivakumar <sivakumar.mahesh@gmail.com>, Stig Venaas < > > stig@venaas.com>, Guofeng <guofeng@huawei.com>, Anish Peter < > > anish.ietf@gmail.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, > > Liuyisong <liuyisong@huawei.com>, Pete McAllister < > > pete.mcallister@metaswitch.com>, "pim@ietf.org" <pim@ietf.org> > > *Subject: *Re: [yang-doctors] [pim] Yangdoctors last call review of > > draft-ietf-pim-igmp-mld-yang-07 > > > > > > > > Hi Jan, > > > > > > > > Thanks for reviewing. > > > > For #1, as discussed, there is no other better solution at the moment. > > What would you suggest? > > > > Thanks. > > > > - Xufeng > > > > > > > > On Fri, Oct 19, 2018 at 4:25 AM Jan Lindblad <janl@tail-f.com> wrote: > > > > Feng, > > > > > > > > Hi Jan, > > > > > > > > We updated draft-ietf-pim-igmp-mld-yang according to the comments #2 ~ > > #7, while Xufeng and you had discussed about comment #1. > > > > Please review the draft, thanks a lot. > > > > https://www.ietf.org/id/draft-ietf-pim-igmp-mld-yang-08.txt > > > > > > > > Good. I looked through the points #2-#7 and find that the work group have > > understood and fixed those issues. #1 still remains to be resolved. I can > > do a full re-review of the module once that one has been resolved as well.. > > Are there any outstanding questions on how to fix #1? > > > > > > > > Best Regards, > > > > /jan > > > > -- > > > > *Jan Lindblad*, janl@tail-f.com, +46 702855728 > > > > Solutions Architect, Business Development, Tail-f > > > > Tail-f is now a part of Cisco > > > > > > > > > > > > Feng > > > > > > > > -----Original Message----- > > > > From: Jan Lindblad [mailto:janl@tail-f.com <janl@tail-f.com>] > > > > Sent: Monday, August 13, 2018 10:35 PM > > > > To: yang-doctors@ietf.org > > > > Cc: ietf@ietf.org; pim@ietf.org; draft-ietf-pim-igmp-mld-yang.all@ietf.org > > > > Subject: Yangdoctors last call review of draft-ietf-pim-igmp-mld-yang-07 > > > > > > > > Reviewer: Jan Lindblad > > > > Review result: On the Right Track > > > > > > > > This is my YANG-doctor review of draft-ietf-pim-igmp-mld-yang-07. In the > > spring, I did an early review of the -02 version. > > > > > > > > Most of the comments from the earlier review are still valid. In some ways > > the document has progressed since -02, in many it has not, and in a few it > > has deteriorated. In my judgement, the document is not ready for last call. > > Many fundamentally important questions are still unresolved. Here are my > > review comments in rough falling order of importance. > > > > > > > > #1 Improper augment of /rt:routing/rt:control-plane-protocols > > > > > > > > Quoted from section 3.1: > > > > This model augments the core routing data model "ietf-routing" > > > > specified in [RFC8349]. The IGMP model augments "/rt:routing/ > > > > rt:control-plane-protocols" as opposed to augmenting "/rt:routing/ > > > > rt:control-plane-protocols/rt:control-plane-protocol", as the latter > > > > would allow multiple protocol instances, while the IGMP protocol is > > > > designed to be enabled or disabled as a single protocol instance on > > > > a network instance or a logical network element. > > > > > > > > The description above, and the actual augment statements in the YANG > > module violate the principles described in RFC 8349, the ietf-routing.yang > > module it augments. In RFC 8349, section 5.3. Control-Plane Protocol, the > > proper way of augmenting the routing module is described. The fact that > > this is a singleton protocol instance doesn't change this. Section 5.3 > > describes singleton cases as well. > > > > > > > > Guofeng: Xufeng has discussed with Jan about the comment, and it is closed. > > > > > > > > #2 Incorrect vendor refinement model > > > > > > > > Quoted from section 2.2: > > > > For the same reason, wide constant ranges (for example, timer > > > > maximum and minimum) will be used in the model. It is expected that > > > > vendors will augment the model with any specific restrictions that > > > > might be required. Vendors may also extend the features list with > > > > proprietary extensions. > > > > > > > > This is not acceptable. The principle suggested does not foster > > interoperability and useful standards. It is also not possible to do what > > the paragraph suggests in YANG. This was pointed out in the -02 review, and > > a suggestion was given there on how to address the problem. > > > > > > > > Guofeng: We removed the paragraph above, and put the values discussed by > > Mcast Design Team. > > > > > > > > > > > > #3 Top level structures not optional > > > > > > > > Quoted from section 2.3: > > > > The current document contains IGMP and MLD as separate schema > > > > branches in the structure. The reason for this is to make it easier > > > > for implementations which may optionally choose to support specific > > > > address families. And the names of objects may be different between > > > > the IPv4 (IGMP) and IPv6 (MLD) address families. > > > > > > > > This problem was also pointed out in the -02 review. The author suggests > > that implementing igmp and/or mld is optional. This is not reflected in the > > YANG module, however. As currently modeled, both are currently mandatory to > > implement. If-feature is used liberally in the module, and could be used > > here as well. > > > > > > > > #4 Unclear meaning of optional leaves > > > > > > > > Quoted from section 3.1: > > > > Where fields are not genuinely essential to protocol operation, they > > > > are marked as optional. Some fields will be essential but have a > > > > default specified, so that they need not be configured explicitly. > > > > > > > > In fact, in the current version of the module, every leaf is optional > > (except keys, which cannot be optional). It is good to see the addition of > > defaults in many cases, but many unclear cases remain. E.g. leaf > > /igmp/global/enable is of type boolean. I understand what true and false > > implies for this leaf. But what does it mean if it is not set at all? > > Either add a default or describe the meaning in the description. Similarly, > > if the leaf version is not set on an igmp or mld interface, or on the > > interface-global level, what does that mean? > > > > Add default. require-router-alert? explicit-tracking? exclude-lite? Many > > of these are used in NP-containers inheriting all the from the root, which > > makes the use of mandatory highly discouraged in the current form. If the > > RFC 8349 augmentation principles are followed, the concern around mandatory > > falls, and some leafs with no sensible default could be marked mandatory > > instead. > > > > > > > > #5 All optional state > > > > > > > > All state data is optional, which means a conforming server could very > > well decide not to implement it. E.g. discontinuity-time is optional. > > Should a manager count on this being available? A situation where every > > leaf is optional is as nice and flexible for server implementors as it is > > frustrating and complicated for manager implementors to consume. A YANG > > model is an API contract and should consider the needs of both sides. The > > way this has been designed reveals that no representation for the consumer > > side of this model has been involved in the design. I would suggest > > thinking through what is the most essential state data for a manager, and > > make some leafs mandatory. > > > > > > > > #6 Abundant copy-paste > > > > > > > > There is abundant repetition in the YANG module. leaf version is defined 2 > > times for igmp with identical definitions, and two more for mld with > > identical definitions. leaf enable is defined once for the interface > > global-level, and with identical definition on the interface local level. > > leaf last-member-query-interval, query-interval and half a dozen other > > leaves are defined twice with identical definitions. > > > > > > > > #7 Leaf interface in the rpc clear*groups on line 1124, 1094 has type > > string. > > > > Should be a leafref? Describe what values are valid. #8 Leaf group-policy, > > source-policy on line 486, 527, 624, 689: type string. Should be leafref? > > > > Describe what values are valid. #9 Leaf group on line 705, 1101, 1131: Is > > any > > > > ipv4/6 address ok, or only a multicast address? Model accordingly. > > > > > > > > > > > > > > > > > > > > > > > > > > > > *From:* pim [mailto:pim-bounces@ietf.org <pim-bounces@ietf.org>] *On > > Behalf Of *Jan Lindblad > > *Sent:* Tuesday, September 11, 2018 9:52 PM > > *To:* Xufeng Liu <xufeng.liu.ietf@gmail.com> > > *Cc:* yang-doctors@ietf.org; ietf <ietf@ietf.org>; pim@ietf.org; > > draft-ietf-pim-igmp-mld-yang.all@ietf.org > > *Subject:* Re: [pim] Yangdoctors last call review of > > draft-ietf-pim-igmp-mld-yang-07 > > > > > > > > Xufeng, > > > > > > > > Thanks for the review and valuable comments. > > > > > > > > In regard to item #1, there was a discussion thread among the Yang > > Doctors, authors of RFC 8349, and Routing Area Yang Architecture Design > > Team, as attached below. The discussion occurred during the review of a > > draft with the same issue as this one. > > > > > > > > I see, didn't know. Good. If this has been discussed to conclusion, then > > you should of course go with that decision. > > > > > > > > As mentioned earlier, there are a few other singleton protocols mapped > > into this structure, e.g. static. I think it would make sense to treat this > > the same. Principle of least astonishment. > > > > > > > > Best Regards, > > > > /jan > > > > > > > > > > > > ================================ > > > > 原始邮件 > > 发件人:XufengLiu <Xufeng_Liu@jabil.com> > > 收件人:Acee Lindem (acee) <acee@cisco.com>Christian Hopps <chopps@chopps.org>Martin > > Bjorklund <mbj@tail-f.com> > > 抄送人:张征00007940;yang-doctors@ietf.org <yang-doctors@ietf.org> > > 日 期 :2018年02月20日 22:30 > > 主 题 :RE: [yang-doctors] How to restrict to have > > singlecontrol-plane-protocol instance > > Using "" as the name is better, but I am not sure that it is good enough. > > When we use ConfD to translate the model to a command line, if the option > > "tailf:cli-expose-key-name" is not used, we will have: > > > > edit routing control-plane-protocols control-plane-protocol type msdp name > > ''" > > > > If the option "tailf:cli-expose-key-name" is used, we will have: > > > > edit routing control-plane-protocols control-plane-protocol msdp ''" > > > > I am pretty sure that we would get a bug report on this, asking what is > > the purpose to have: name ''", and requesting a suppression on the term, > > but we do not have a good way to achieve. > > > > As a comparison, the option #3 will give: > > > > edit routing control-plane-protocols msdp > > > > This is the only acceptable solution so far. When a model is not usable by > > the end-user, other considerations (such as augmentation convenience) will > > not matter. > > > > Thanks, > > - Xufeng > > > > > -----Original Message----- > > > From: Acee Lindem (acee) [mailto:acee@cisco.com] > > > Sent: Monday, February 19, 2018 1:35 PM > > > To: Christian Hopps <chopps@chopps.org>; Martin Bjorklund < > > mbj@tail-f.com> > > > Cc: Xufeng Liu <Xufeng_Liu@jabil.com>; zhang.zheng@zte.com.cn; yang- > > > doctors@ietf.org > > > Subject: Re: [yang-doctors] How to restrict to have single control-plane- > > > protocol instance > > > > > > > > > > > > On 2/19/18, 5:02 AM, "Christian Hopps" <chopps@chopps.org> wrote: > > > > > > > > > Martin Bjorklund <mbj@tail-f.com> writes: > > > > > > > Hi, > > > > > > > > "Acee Lindem (acee)" <acee@cisco.com> wrote: > > > >> All, > > > >> > > > >> As seems to be the modus operandi for YANG issues, we have 3 > > separate > > > opinions as to how a protocol only supporting a single instance should be > > > realized. > > > >> > > > >> 1. Augment the existing control plane protocols list (RFC > > 8022BIS) > > > >> and specify in the description text that only a single instance > > is > > > >> supported. > > > >> 2. Augment the existing control plane protocols list (RFC > > 8022BIS) > > > >> and use a YANG 1.1 must() restriction as discussed by Martin and > > > >> Lada. > > > >> 3. Augment the container one level up from the list for > > singleton > > > >> protocols (suggested by Xufeng). > > > > > > > But I think there was also a proposal to require the single > > instance > > > > to have a well-known name - but maybe this proposal is no longer on > > > > the table. > > > > > > I actually liked this solution; however, instead of picking an > > arbitrary "well- > > > known" value for name, I would specify the 0 length string instead. I > > think that > > > reinforces the idea that this isn't actually a named instance. :) > > > > > > augment "/rt:routing/rt:control-plane-protocols/" > > > + "rt:control-plane-protocol" { > > > when "derived-from-or-self(rt:type, 'msdp:msdp') and rt:name = > > ''" { > > > container msdp { > > > > > > One benefit of this solution is that it solves Xufeng's issue of what > > the client uses > > > as the instance name. > > > > > > > > > Thanks, > > > Chris. > > > > > > > > > > > > > > > /martin > > > > > > > > > > > >> and #3. For #3, one determent would be that the control plane > > protocols > > > are in a location other than where they were originally envisioned and I > > don't > > > relish pulling RFC8022BIS off the RFC queue to document. > > > >> > > > >> Thanks, > > > >> Acee > > > >> > > > >> On 2/15/18, 8:39 AM, "Reshad Rahman (rrahman)" <rrahman@cisco.com > > > > > > wrote: > > > >> > > > >> Hi Xufeng, > > > >> > > > >> I think the intent of 8022bis was to have all protocols under > > > /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol. I > > agree that > > > forcing a name for a single-instance is cumbersome, but I think it is > > too late to > > > change tree hierachy organization at this point. > > > >> > > > >> I will defer to other YDs and 8022bis authors on this. > > > >> > > > >> Regards, > > > >> Reshad. > > > >> > > > >> On 2018-02-08, 9:48 AM, "Xufeng Liu" <Xufeng_Liu@jabil.com> > > wrote: > > > >> > > > >> Hi All, > > > >> > > > >> I feel that such a solution is still not clean enough to > > outweigh the > > > simple augmentation to "/rt:routing/rt:control-plane-protocols/". > > > >> > > > >> Some considerations are: > > > >> > > > >> - Name management: Neither the operator nor the > > implementation > > > wants to deal with the artificial name, whether it is hardcoded, > > user-configured, > > > or system-generated. When we implement such singleton protocol, we don't > > > save a name anywhere. > > > >> - The complexity of validation: The "when" statement is an > > > unnecessary expense to the user and to the implementation, especially if > > we > > > need to check all instances. > > > >> - Data tree query: If the singleton "MSDP" is mixed with > > other protocol > > > instances, it is less obvious or harder to search for. Depending on the > > > implementation, it would be worse if the entire list needs to be > > iterated. > > > >> - Tree hierarchy organization: I don't see too big a > > problem with "all > > > single-instance protocols under /rt:routing/rt:control-plane-protocols > > and all > > > the multi-instance ones under /rt:routing/rt:control-plane- > > protocols/rt:control- > > > plane-protocol". If necessary, some of the names can be adjusted. > > > >> > > > >> Thanks, > > > >> - Xufeng > > > >> > > > >> > > > >> > -----Original Message----- > > > >> > From: Reshad Rahman (rrahman) [mailto:rrahman@cisco.com > > ] > > > >> > Sent: Thursday, February 8, 2018 9:41 AM > > > >> > To: Ladislav Lhotka <lhotka@nic.cz>; Martin Bjorklund > > <mbj@tail- > > > f.com>; > > > >> > Acee Lindem (acee) <acee@cisco.com> > > > >> > Cc: yang-doctors@ietf.org; zhang.zheng@zte.com.cn; > > Xufeng Liu > > > >> > <Xufeng_Liu@jabil.com> > > > >> > Subject: Re: [yang-doctors] How to restrict to have > > single control- > > > plane- > > > >> > protocol instance > > > >> > > > > >> > Thanks for the suggestions. I agree that hard-coding > > the name is a > > > bad idea, > > > >> > glad that a cleaner way of doing this is possible. > > > >> > - We can move the must statement up to restrict max of > > 1 control- > > > plane- > > > >> > protocol instance of type msdp? > > > >> > - Acee/Lada, should a note be added to section 5.3 of > > 8022bis > > > regarding how > > > >> > to enforce single instance? How much of a concern is the > > > performance > > > >> > impact in this specific case? > > > >> > > > > >> > Regards, > > > >> > Reshad. > > > >> > > > > >> > On 2018-02-08, 7:02 AM, "Ladislav Lhotka" < > > lhotka@nic.cz> wrote: > > > >> > > > > >> > On Thu, 2018-02-08 at 12:39 +0100, Martin Bjorklund > > wrote: > > > >> > > "Acee Lindem (acee)" <acee@cisco.com> wrote: > > > >> > > > Hi Lada, > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > On 2/8/18, 4:42 AM, "yang-doctors on behalf of > > Ladislav > > > Lhotka" > > > >> > <yang-docto > > > >> > > rs-bounces@ietf.org on behalf of lhotka@nic.cz> > > wrote: > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > On Thu, 2018-02-08 at 09:20 +0100, Martin > > Bjorklund wrote: > > > >> > > > > > >> > > > > Hi, > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > "Reshad Rahman (rrahman)" < > > rrahman@cisco.com> wrote: > > > >> > > > > > >> > > > > > Hi YDs, > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > MSDP YANG authors want to enforce > > single-instance of > > > MSDP > > > >> > > > > > >> > > > > > control-plane protocol. The when > > “rt:type = > > > ‘msdp’“ allows > > > >> > multiple > > > >> > > > > > >> > > > > > control-pane-protocol instances as long > > as they have > > > different > > > >> > > > > > >> > > > > > rt:name. The only workaround I thought > > of is to have a > > > when > > > >> > > statement > > > >> > > > > > >> > > > > > on the name in the top level container.. > > This would still > > > multiple > > > >> > > > > > >> > > > > > control-plane-protocol instance of type > > msdp but > > > restricts the > > > >> > name > > > >> > > to > > > >> > > > > > >> > > > > > a fixed name (msdp-protocol in this > > case) for the top level > > > msdp > > > >> > > > > > >> > > > > > container to exist. Any suggestions on > > how to do this > > > better? > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > Hard-coding a name like this is IMO a bad > > idea. > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > Better would be to simply state in text > > that there MUST > > > only be one > > > >> > > > > > >> > > > > instance of this type. > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > But you can also add a must statement > > that enforces this: > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > augment "/rt:routing/rt:control-plane- > > protocols/" > > > >> > > > > > >> > > > > + "rt:control-plane-protocol" { > > > >> > > > > > >> > > > > when 'derived-from-or-self(rt:type, > > "msdp:msdp"' { > > > >> > > > > > >> > > > > container msdp { > > > >> > > > > > >> > > > > must 'count(/rt:routing/rt:control- > > plane-protocols/' > > > >> > > > > > >> > > > > + ' > > rt:control-plane-protocol[' > > > >> > > > > > >> > > > > + ' > > derived-from-or-sel(../rt:type, "msdp:msdp")]) > > > <= > > > >> > > 1'"; > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > In general, you should be careful with > > the usage of "count", > > > since it > > > >> > > > > > >> > > > > will loop through *all* instances in the > > list every time. If > > > the list > > > >> > > > > > >> > > > > is big, this can have a performance > > impact. > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > Instead of count(), it is possible to use > > the so-called > > > Muenchian > > > >> > > method: > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > container msdp { > > > >> > > > > > >> > > > must "not(../preceding-sibling::rt: > > control-plane- > > > protocol[" > > > >> > > > > > >> > > > + "derived-from-or-self(rt:type, > > 'msdp:msdp')])"; > > > >> > > > > > >> > > > .. > > > >> > > > > > >> > > > } > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > It basically states that the > > control-plane-protocol containing > > > the > > > >> > > "msdp" > > > >> > > > > > >> > > > container must not be preceded with a > > control-plane- > > > protocol entry > > > >> > of > > > >> > > the > > > >> > > > > > >> > > > msdp:msdp type (or derived). > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > This looks like an elegant solution. > > > >> > > > > > >> > > > > > >> > > "elegant" as in "less obvious" ;) It has the > > same time complexity > > > as > > > >> > > the count() solution. > > > >> > > > > >> > It should be faster on the average - it has to scan > > only preceding > > > siblings of > > > >> > the MSDP protocol instance whereas count() always > > has to check > > > *all* > > > >> > protocol > > > >> > instances. > > > >> > > > > >> > It is true though that in XSLT this technique can > > be made > > > considerably > > > >> > more > > > >> > efficient by using indexed keys. > > > >> > > > > >> > Lada > > > >> > > > > >> > > > > > >> > > > > > >> > > However, since the key for the > > control-plane-protocol list is > > > "type > > > >> > > name", won't it only work if the previous sibling > > has a "name" > > > that > > > >> > > is precedes the one being added? > > > >> > > > > > >> > > For each list entry that has this container, the > > expression is > > > >> > > evaluated. It will scan all preceding entries > > and ensure that there > > > >> > > are none with this type. So the order of the > > entries doesn't > > > matter; > > > >> > > if there are two with the same type, one of them > > has to be > > > before the > > > >> > > other. > > > >> > > > > > >> > > > > > >> > > /martin > > > >> > > > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > Thanks, > > > >> > > > > > >> > > > Acee > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > Lada > > > >> > > > > > >> > > > > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > Also note that I use derived-from-or-self > > instead of equality > > > for the > > > >> > > > > > >> > > > > identity. > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > /martin > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > Regards, > > > >> > > > > > >> > > > > > Reshad. > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > augment "/rt:routing/rt:control-plane- > > protocols/" > > > >> > > > > > >> > > > > > + "rt:control-plane-protocol" { > > > >> > > > > > >> > > > > > when "rt:type = ‘msdp’" { > > > >> > > > > > >> > > > > > description > > > >> > > > > > >> > > > > > "….”; > > > >> > > > > > >> > > > > > } > > > >> > > > > > >> > > > > > description "…."; > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > container msdp { > > > >> > > > > > >> > > > > > when "../rt:name = > > ‘msdp-protocol’" { > > > >> > > > > > >> > > > > > description > > > >> > > > > > >> > > > > > "…."; > > > >> > > > > > >> > > > > > } > > > >> > > > > > >> > > > > > description "MSDP top level > > container."; > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > From: "Reshad Rahman (rrahman)" < > > rrahman@cisco.com> > > > >> > > > > > >> > > > > > Date: Monday, February 5, 2018 at 6:25 > > PM > > > >> > > > > > >> > > > > > To: Xufeng Liu <Xufeng_Liu@jabil.com>, > > > >> > "zhang.zheng@zte.com.cn" > > > >> > > > > > >> > > > > > <zhang.zheng@zte.com.cn> > > > >> > > > > > >> > > > > > Cc: "anish.ietf@gmail.com" < > > anish.ietf@gmail.com>, > > > "Mahesh > > > >> > Sivakumar > > > >> > > > > > >> > > > > > (masivaku)" <masivaku@cisco.com>, > > > "guofeng@huawei.com" > > > >> > > > > > >> > > > > > <guofeng@huawei.com>, > > > "pete.mcallister@metaswitch.com" > > > >> > > > > > >> > > > > > <pete.mcallister@metaswitch.com>, > > > "liuyisong@huawei.com" > > > >> > > > > > >> > > > > > <liuyisong@huawei.com>, " > > xu.benchong@zte.com.cn" > > > >> > > > > > >> > > > > > <xu.benchong@zte.com.cn>, > > "tanmoy.kundu@alcatel- > > > >> > lucent.com" > > > >> > > > > > >> > > > > > <tanmoy.kundu@alcatel-lucent.com>, > > > >> > "zzhang_ietf@hotmail.com" > > > >> > > > > > >> > > > > > <zzhang_ietf@hotmail.com>, "Acee > > Lindem (acee)" > > > >> > <acee@cisco.com> > > > >> > > > > > >> > > > > > Subject: Re: Hi all, about the > > modification of MSDP YANG > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > Hi Sandy and Xufeng, > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > I understand that you want only 1 MSDP > > instance but I > > > don’t think > > > >> > > that > > > >> > > > > > >> > > > > > justifies /rt:routing/rt:control-plane-protocols. > > If we do > > > that we > > > >> > > > > > >> > > > > > will end up with all single-instance > > protocols under > > > >> > > > > > >> > > > > > /rt:routing/rt:control-plane-protocols > > and all the multi- > > > instance > > > >> > > ones > > > >> > > > > > >> > > > > > under > > > >> > > > > > >> > > > > > /rt:routing/rt:control-plane- > > protocols/rt:control-plane- > > > protocol. > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > I am not sure what’s the best way to > > enforce single- > > > instance, I can > > > >> > > > > > >> > > > > > check with the other YDs on this topic.. > > One way it can be > > > done is > > > >> > as > > > >> > > > > > >> > > > > > follows (I’ve added the when statement > > in bold to > > > existing BFD > > > >> > > model), > > > >> > > > > > >> > > > > > it enforces that the protocol name is > > ‘bfdv1’. So multiple > > > >> > instances > > > >> > > > > > >> > > > > > with rt:type=bfd-types:bfdv1 could be > > created, but only > > > one of > > > >> > these > > > >> > > > > > >> > > > > > instances can have the bfd container. > > This is probably not > > > the > > > >> > best > > > >> > > > > > >> > > > > > way but the point is that IMO protocols > > have to go under > > > >> > > > > > >> > > > > > /rt:routing/rt:control-plane- > > protocols/rt:control-plane- > > > protocol. > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > Regards, > > > >> > > > > > >> > > > > > Reshad. > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > augment "/rt:routing/rt:control-plane- > > protocols/" > > > >> > > > > > >> > > > > > + "rt:control-plane-protocol" { > > > >> > > > > > >> > > > > > when "rt:type = > > 'bfd-types:bfdv1'" { > > > >> > > > > > >> > > > > > description > > > >> > > > > > >> > > > > > "This augmentation is only > > valid for a control-plane > > > >> > > protocol > > > >> > > > > > >> > > > > > instance of BFD (type > > 'bfdv1')."; > > > >> > > > > > >> > > > > > } > > > >> > > > > > >> > > > > > description "BFD augmentation."; > > > >> > > > > > >> > > > > > > > > >> > > > > > >> > > > > > container bfd { > > > >> > > > > > >> > > > > > when "../rt:name = 'bfdv1'" { > > > >> > > > > > >> > > > > > description > > > >> > > > > > >> > > > > > "This augmentation is only > > valid for a control-plane > > > >> > > protocol > > > >> > > > > > > > > > > > > > > > ---------- Forwarded message ---------- > > From: Christian Hopps <chopps@chopps.org> > > To: Martin Bjorklund <mbj@tail-f.com> > > Cc: <Xufeng_Liu@jabil.com>, <zhang.zheng@zte.com.cn>, < > > yang-doctors@ietf.org> > > Bcc: > > Date: Mon, 19 Feb 2018 05:01:55 -0500 > > Subject: Re: [yang-doctors] How to restrict to have single > > control-plane-protocol instance > > Martin Bjorklund <mbj@tail-f.com> writes: > > > > > Hi, > > > > > > "Acee Lindem (acee)" <acee@cisco.com> wrote: > > >> All, > > >> > > >> As seems to be the modus operandi for YANG issues, we have 3 separate > > opinions as to how a protocol only supporting a single instance should be > > realized. > > >> > > >> 1. Augment the existing control plane protocols list (RFC 8022BIS) > > >> and specify in the description text that only a single instance is > > >> supported. > > >> 2. Augment the existing control plane protocols list (RFC 8022BIS) > > >> and use a YANG 1.1 must() restriction as discussed by Martin and > > >> Lada. > > >> 3. Augment the container one level up from the list for singleton > > >> protocols (suggested by Xufeng). > > > > > But I think there was also a proposal to require the single instance > > > to have a well-known name - but maybe this proposal is no longer on > > > the table. > > > > I actually liked this solution; however, instead of picking an arbitrary > > "well-known" value for name, I would specify the 0 length string instead. I > > think that reinforces the idea that this isn't actually a named instance. :) > > > > augment "/rt:routing/rt:control-plane-protocols/" > > + "rt:control-plane-protocol" { > > when "derived-from-or-self(rt:type, 'msdp:msdp') and rt:name = ''" { > > container msdp { > > > > Thanks, > > Chris. > > > > > > > > > > > /martin > > > > > > > > >> and #3. For #3, one determent would be that the control plane protocols > > are in a location other than where they were originally envisioned and I > > don't relish pulling RFC8022BIS off the RFC queue to document. > > >> > > >> Thanks, > > >> Acee > > >> > > >> On 2/15/18, 8:39 AM, "Reshad Rahman (rrahman)" <rrahman@cisco.com> > > wrote: > > >> > > >> Hi Xufeng, > > >> > > >> I think the intent of 8022bis was to have all protocols under > > /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol. I agree > > that forcing a name for a single-instance is cumbersome, but I think it is > > too late to change tree hierachy organization at this point. > > >> > > >> I will defer to other YDs and 8022bis authors on this. > > >> > > >> Regards, > > >> Reshad. > > >> > > >> On 2018-02-08, 9:48 AM, "Xufeng Liu" <Xufeng_Liu@jabil.com> wrote: > > >> > > >> Hi All, > > >> > > >> I feel that such a solution is still not clean enough to > > outweigh the simple augmentation to "/rt:routing/rt:control-plane- > > protocols/". > > >> > > >> Some considerations are: > > >> > > >> - Name management: Neither the operator nor the implementation > > wants to deal with the artificial name, whether it is hardcoded, > > user-configured, or system-generated. When we implement such singleton > > protocol, we don't save a name anywhere. > > >> - The complexity of validation: The "when" statement is an > > unnecessary expense to the user and to the implementation, especially if we > > need to check all instances. > > >> - Data tree query: If the singleton "MSDP" is mixed with other > > protocol instances, it is less obvious or harder to search for. Depending > > on the implementation, it would be worse if the entire list needs to be > > iterated. > > >> - Tree hierarchy organization: I don't see too big a problem > > with "all single-instance protocols under /rt:routing/rt:control-plane-protocols > > and all the multi-instance ones under /rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol". If necessary, some of the names can > > be adjusted. > > >> > > >> Thanks, > > >> - Xufeng > > >> > > >> > > >> > -----Original Message----- > > >> > From: Reshad Rahman (rrahman) [mailto:rrahman@cisco.com] > > >> > Sent: Thursday, February 8, 2018 9:41 AM > > >> > To: Ladislav Lhotka <lhotka@nic.cz>; Martin Bjorklund < > > mbj@tail-f.com>; > > >> > Acee Lindem (acee) <acee@cisco.com> > > >> > Cc: yang-doctors@ietf.org; zhang.zheng@zte.com.cn; Xufeng Liu > > >> > <Xufeng_Liu@jabil.com> > > >> > Subject: Re: [yang-doctors] How to restrict to have single > > control-plane- > > >> > protocol instance > > >> > > > >> > Thanks for the suggestions. I agree that hard-coding the name > > is a bad idea, > > >> > glad that a cleaner way of doing this is possible. > > >> > - We can move the must statement up to restrict max of 1 > > control-plane- > > >> > protocol instance of type msdp? > > >> > - Acee/Lada, should a note be added to section 5.3 of 8022bis > > regarding how > > >> > to enforce single instance? How much of a concern is the > > performance > > >> > impact in this specific case? > > >> > > > >> > Regards, > > >> > Reshad. > > >> > > > >> > On 2018-02-08, 7:02 AM, "Ladislav Lhotka" <lhotka@nic.cz> > > wrote: > > >> > > > >> > On Thu, 2018-02-08 at 12:39 +0100, Martin Bjorklund wrote: > > >> > > "Acee Lindem (acee)" <acee@cisco.com> wrote: > > >> > > > Hi Lada, > > >> > > > > >> > > > > > >> > > > > >> > > > On 2/8/18, 4:42 AM, "yang-doctors on behalf of > > Ladislav Lhotka" > > >> > <yang-docto > > >> > > rs-bounces@ietf.org on behalf of lhotka@nic.cz> wrote: > > >> > > > > >> > > > > > >> > > > > >> > > > On Thu, 2018-02-08 at 09:20 +0100, Martin > > Bjorklund wrote: > > >> > > > > >> > > > > Hi, > > >> > > > > >> > > > > > > >> > > > > >> > > > > "Reshad Rahman (rrahman)" <rrahman@cisco.com> > > wrote: > > >> > > > > >> > > > > > Hi YDs, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > MSDP YANG authors want to enforce > > single-instance of MSDP > > >> > > > > >> > > > > > control-plane protocol. The when “rt:type = > > ‘msdp’“ allows > > >> > multiple > > >> > > > > >> > > > > > control-pane-protocol instances as long as > > they have different > > >> > > > > >> > > > > > rt:name. The only workaround I thought of is > > to have a when > > >> > > statement > > >> > > > > >> > > > > > on the name in the top level container. This > > would still multiple > > >> > > > > >> > > > > > control-plane-protocol instance of type msdp > > but restricts the > > >> > name > > >> > > to > > >> > > > > >> > > > > > a fixed name (msdp-protocol in this case) for > > the top level msdp > > >> > > > > >> > > > > > container to exist. Any suggestions on how to > > do this better? > > >> > > > > >> > > > > > > >> > > > > >> > > > > Hard-coding a name like this is IMO a bad idea.. > > >> > > > > >> > > > > > > >> > > > > >> > > > > Better would be to simply state in text that > > there MUST only be one > > >> > > > > >> > > > > instance of this type. > > >> > > > > >> > > > > > > >> > > > > >> > > > > But you can also add a must statement that > > enforces this: > > >> > > > > >> > > > > > > >> > > > > >> > > > > augment "/rt:routing/rt:control-plane- > > protocols/" > > >> > > > > >> > > > > + "rt:control-plane-protocol" { > > >> > > > > >> > > > > when 'derived-from-or-self(rt:type, > > "msdp:msdp"' { > > >> > > > > >> > > > > container msdp { > > >> > > > > >> > > > > must 'count(/rt:routing/rt:control- > > plane-protocols/' > > >> > > > > >> > > > > + ' rt:control-plane-protocol[' > > >> > > > > >> > > > > + ' derived-from-or-sel(../rt:type, > > "msdp:msdp")]) <= > > >> > > 1'"; > > >> > > > > >> > > > > > > >> > > > > >> > > > > > > >> > > > > >> > > > > In general, you should be careful with the > > usage of "count", since it > > >> > > > > >> > > > > will loop through *all* instances in the list > > every time. If the list > > >> > > > > >> > > > > is big, this can have a performance impact. > > >> > > > > >> > > > > > >> > > > > >> > > > Instead of count(), it is possible to use the > > so-called Muenchian > > >> > > method: > > >> > > > > >> > > > > > >> > > > > >> > > > container msdp { > > >> > > > > >> > > > must "not(../preceding-sibling::rt: > > control-plane-protocol[" > > >> > > > > >> > > > + "derived-from-or-self(rt:type, > > 'msdp:msdp')])"; > > >> > > > > >> > > > .. > > >> > > > > >> > > > } > > >> > > > > >> > > > > > >> > > > > >> > > > It basically states that the > > control-plane-protocol containing the > > >> > > "msdp" > > >> > > > > >> > > > container must not be preceded with a > > control-plane-protocol entry > > >> > of > > >> > > the > > >> > > > > >> > > > msdp:msdp type (or derived). > > >> > > > > >> > > > > > >> > > > > >> > > > This looks like an elegant solution. > > >> > > > > >> > > > > >> > > "elegant" as in "less obvious" ;) It has the same time > > complexity as > > >> > > the count() solution. > > >> > > > >> > It should be faster on the average - it has to scan only > > preceding siblings of > > >> > the MSDP protocol instance whereas count() always has to > > check *all* > > >> > protocol > > >> > instances. > > >> > > > >> > It is true though that in XSLT this technique can be made > > considerably > > >> > more > > >> > efficient by using indexed keys. > > >> > > > >> > Lada > > >> > > > >> > > > > >> > > > > >> > > However, since the key for the control-plane-protocol > > list is "type > > >> > > name", won't it only work if the previous sibling has > > a "name" that > > >> > > is precedes the one being added? > > >> > > > > >> > > For each list entry that has this container, the > > expression is > > >> > > evaluated. It will scan all preceding entries and > > ensure that there > > >> > > are none with this type. So the order of the entries > > doesn't matter; > > >> > > if there are two with the same type, one of them has to > > be before the > > >> > > other. > > >> > > > > >> > > > > >> > > /martin > > >> > > > > >> > > > > >> > > > > > >> > > > > >> > > > Thanks, > > >> > > > > >> > > > Acee > > >> > > > > >> > > > > > >> > > > > >> > > > > > >> > > > > >> > > > Lada > > >> > > > > >> > > > > > >> > > > > >> > > > > > > >> > > > > >> > > > > Also note that I use derived-from-or-self > > instead of equality for the > > >> > > > > >> > > > > identity. > > >> > > > > >> > > > > > > >> > > > > >> > > > > > > >> > > > > >> > > > > /martin > > >> > > > > >> > > > > > > >> > > > > >> > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Regards, > > >> > > > > >> > > > > > Reshad. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > augment "/rt:routing/rt:control-plane- > > protocols/" > > >> > > > > >> > > > > > + "rt:control-plane-protocol" { > > >> > > > > >> > > > > > when "rt:type = ‘msdp’" { > > >> > > > > >> > > > > > description > > >> > > > > >> > > > > > "….”; > > >> > > > > >> > > > > > } > > >> > > > > >> > > > > > description "…."; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > container msdp { > > >> > > > > >> > > > > > when "../rt:name = ‘msdp-protocol’" { > > >> > > > > >> > > > > > description > > >> > > > > >> > > > > > "…."; > > >> > > > > >> > > > > > } > > >> > > > > >> > > > > > description "MSDP top level container."; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > From: "Reshad Rahman (rrahman)" < > > rrahman@cisco.com> > > >> > > > > >> > > > > > Date: Monday, February 5, 2018 at 6:25 PM > > >> > > > > >> > > > > > To: Xufeng Liu <Xufeng_Liu@jabil.com>, > > >> > "zhang.zheng@zte.com.cn" > > >> > > > > >> > > > > > <zhang.zheng@zte.com.cn> > > >> > > > > >> > > > > > Cc: "anish.ietf@gmail.com" < > > anish.ietf@gmail.com>, "Mahesh > > >> > Sivakumar > > >> > > > > >> > > > > > (masivaku)" <masivaku@cisco.com>, " > > guofeng@huawei.com" > > >> > > > > >> > > > > > <guofeng@huawei.com>, " > > pete.mcallister@metaswitch.com" > > >> > > > > >> > > > > > <pete.mcallister@metaswitch.com>, " > > liuyisong@huawei.com" > > >> > > > > >> > > > > > <liuyisong@huawei.com>, " > > xu.benchong@zte.com.cn" > > >> > > > > >> > > > > > <xu.benchong@zte.com.cn>, > > "tanmoy.kundu@alcatel- > > >> > lucent.com" > > >> > > > > >> > > > > > <tanmoy.kundu@alcatel-lucent.com>, > > >> > "zzhang_ietf@hotmail.com" > > >> > > > > >> > > > > > <zzhang_ietf@hotmail.com>, "Acee Lindem > > (acee)" > > >> > <acee@cisco.com> > > >> > > > > >> > > > > > Subject: Re: Hi all, about the modification > > of MSDP YANG > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Hi Sandy and Xufeng, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I understand that you want only 1 MSDP > > instance but I don’t think > > >> > > that > > >> > > > > >> > > > > > justifies /rt:routing/rt:control-plane-protocols. > > If we do that we > > >> > > > > >> > > > > > will end up with all single-instance > > protocols under > > >> > > > > >> > > > > > /rt:routing/rt:control-plane-protocols and > > all the multi-instance > > >> > > ones > > >> > > > > >> > > > > > under > > >> > > > > >> > > > > > /rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I am not sure what’s the best way to enforce > > single-instance, I can > > >> > > > > >> > > > > > check with the other YDs on this topic. One > > way it can be done is > > >> > as > > >> > > > > >> > > > > > follows (I’ve added the when statement in > > bold to existing BFD > > >> > > model), > > >> > > > > >> > > > > > it enforces that the protocol name is > > ‘bfdv1’. So multiple > > >> > instances > > >> > > > > >> > > > > > with rt:type=bfd-types:bfdv1 could be > > created, but only one of > > >> > these > > >> > > > > >> > > > > > instances can have the bfd container. This is > > probably not the > > >> > best > > >> > > > > >> > > > > > way but the point is that IMO protocols have > > to go under > > >> > > > > >> > > > > > /rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Regards, > > >> > > > > >> > > > > > Reshad. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > augment "/rt:routing/rt:control-plane- > > protocols/" > > >> > > > > >> > > > > > + "rt:control-plane-protocol" { > > >> > > > > >> > > > > > when "rt:type = 'bfd-types:bfdv1'" { > > >> > > > > >> > > > > > description > > >> > > > > >> > > > > > "This augmentation is only valid for > > a control-plane > > >> > > protocol > > >> > > > > >> > > > > > instance of BFD (type 'bfdv1')."; > > >> > > > > >> > > > > > } > > >> > > > > >> > > > > > description "BFD augmentation."; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > container bfd { > > >> > > > > >> > > > > > when "../rt:name = 'bfdv1'" { > > >> > > > > >> > > > > > description > > >> > > > > >> > > > > > "This augmentation is only valid > > for a control-plane > > >> > > protocol > > >> > > > > >> > > > > > instance of BFD (type 'bfdv1')."; > > >> > > > > >> > > > > > } > > >> > > > > >> > > > > > description "BFD top level container."; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > From: Xufeng Liu <Xufeng_Liu@jabil.com> > > >> > > > > >> > > > > > Date: Monday, February 5, 2018 at 9:38 AM > > >> > > > > >> > > > > > To: "zhang.zheng@zte.com.cn" < > > zhang.zheng@zte.com.cn> > > >> > > > > >> > > > > > Cc: "Reshad Rahman (rrahman)" < > > rrahman@cisco.com>, > > >> > > > > >> > > > > > "anish.ietf@gmail.com" <anish.ietf@gmail.com>, > > "Mahesh > > >> > Sivakumar > > >> > > > > >> > > > > > (masivaku)" <masivaku@cisco.com>, " > > guofeng@huawei.com" > > >> > > > > >> > > > > > <guofeng@huawei.com>, " > > pete.mcallister@metaswitch.com" > > >> > > > > >> > > > > > <pete.mcallister@metaswitch.com>, " > > liuyisong@huawei.com" > > >> > > > > >> > > > > > <liuyisong@huawei.com>, " > > xu.benchong@zte.com.cn" > > >> > > > > >> > > > > > <xu.benchong@zte.com.cn>, > > "tanmoy.kundu@alcatel- > > >> > lucent.com" > > >> > > > > >> > > > > > <tanmoy.kundu@alcatel-lucent.com>, > > >> > "zzhang_ietf@hotmail.com" > > >> > > > > >> > > > > > <zzhang_ietf@hotmail.com> > > >> > > > > >> > > > > > Subject: RE: Hi all, about the modification > > of MSDP YANG > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Hi Sandy, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Thanks for the updates. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > In RFC8022bis, the rt:type is defined under > > >> > > > > >> > > > > > /rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol. > > >> > If > > >> > > > > >> > > > > > we augment /rt:routing/rt:control-plane-protocols, > > the “when” > > >> > > > > >> > > > > > statement will not be valid, because it > > cannot find the rt:type. I > > >> > > > > >> > > > > > don’t think that we need the “when” > > statement. The container > > >> > with > > >> > > > > >> > > > > > “presence” will serve the purpose of the > > identity. We can simply > > >> > > take > > >> > > > > >> > > > > > out the “when” statement and the definition > > of the MSDP identity. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Thanks, > > >> > > > > >> > > > > > - Xufeng > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > From: zhang.zheng@zte.com.cn [mailto: > > zhang.zheng@zte.com.cn] > > >> > > > > >> > > > > > Sent: Monday, February 5, 2018 3:36 AM > > >> > > > > >> > > > > > To: Xufeng Liu <Xufeng_Liu@jabil.com> > > >> > > > > >> > > > > > Cc: rrahman@cisco.com; anish.ietf@gmail.com; > > >> > masivaku@cisco.com; > > >> > > > > >> > > > > > guofeng@huawei.com; > > pete.mcallister@metaswitch.com; > > >> > > > > >> > > > > > liuyisong@huawei.com; xu.benchong@zte.com.cn; > > >> > > > > >> > > > > > tanmoy.kundu@alcatel-lucent.com; > > zzhang_ietf@hotmail.com > > >> > > > > >> > > > > > Subject: RE: Hi all, about the modification > > of MSDP YANG > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Hi Xufeng and Reshad, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I am sorry for forgetting the point. I > > updated the YANG model. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > If no one has comments on it I'd like to > > submit the new version. :-) > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Thanks, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Sandy > > >> > > > > >> > > > > > 原始邮件 > > >> > > > > >> > > > > > 发件人: > > >> > <Xufeng_Liu@jabil.com<mailto:Xufeng_Liu@jabil.com>>; > > >> > > > > >> > > > > > 收件人: <rrahman@cisco.com<mailto:rrah > > man@cisco.com>>; > > >> > 张征00007940; > > >> > > > > >> > > > > > <anish.ietf@gmail.com<mailto:a > > nish.ietf@gmail.com>>; > > >> > > > > >> > > > > > <masivaku@cisco.com<mailto:masivaku@cisco.com > > >>; > > >> > > > > >> > > > > > <guofeng@huawei.com<mailto:guofeng@huawei.com > > >>; > > >> > > > > >> > > > > > > > >> > <pete.mcallister@metaswitch.com<mailto:pete.mcallister@ > > metaswitch.co > > >> > > m>>; > > >> > > > > >> > > > > > <liuyisong@huawei.com<mailto:l > > iuyisong@huawei.com>>;徐本 > > >> > 崇10065053; > > >> > > > > >> > > > > > <tanmoy.kundu@alcatel- > > >> > lucent.com<mailto:tanmoy.kundu@alcatel-lucent. > > >> > > com>>; > > >> > > > > >> > > > > > <zzhang_ietf@hotmail.com<mailto: > > zzhang_ietf@hotmail.com>>; > > >> > > > > >> > > > > > 日 期 :2018年02月03日 01:21 > > >> > > > > >> > > > > > 主 题 :RE: Hi all, about the modification of > > MSDP YANG > > >> > > > > >> > > > > > Hi Sandy and Reshad, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > The reason that we used to augment > > >> > > > > >> > > > > > /rt:routing/rt:control-plane-protocols, > > instead of > > >> > > > > >> > > > > > /rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol, > > >> > is > > >> > > > > >> > > > > > that we do not allow multiple instances of > > MSDP. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Thanks, > > >> > > > > >> > > > > > - Xufeng > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > From: Reshad Rahman (rrahman) [mailto: > > rrahman@cisco.com] > > >> > > > > >> > > > > > Sent: Friday, February 2, 2018 12:08 PM > > >> > > > > >> > > > > > To: zhang.zheng@zte.com.cn<mailto: > > zhang.zheng@zte.com.cn>; > > >> > Xufeng > > >> > > Liu > > >> > > > > >> > > > > > <Xufeng_Liu@jabil.com<mailto:X > > ufeng_Liu@jabil.com>>; > > >> > > > > >> > > > > > anish.ietf@gmail.com<mailto:an > > ish.ietf@gmail.com>; Mahesh > > >> > Sivakumar > > >> > > > > >> > > > > > (masivaku) > > >> > <masivaku@cisco.com<mailto:masivaku@cisco.com>>; > > >> > > > > >> > > > > > guofeng@huawei.com<mailto:guofeng@huawei.com > > >; > > >> > > > > >> > > > > > > > >> > pete.mcallister@metaswitch.com<mailto:pete.mcallister@ > > metaswitch.com > > >> > > >; > > >> > > > > >> > > > > > liuyisong@huawei.com<mailto:li > > uyisong@huawei.com>; > > >> > > > > >> > > > > > xu.benchong@zte.com.cn<mailto: > > xu.benchong@zte.com.cn>; > > >> > > > > >> > > > > > tanmoy.kundu@alcatel- > > >> > lucent.com<mailto:tanmoy.kundu@alcatel-lucent.c > > >> > > om>; > > >> > > > > >> > > > > > zzhang_ietf@hotmail.com<mailto: > > zzhang_ietf@hotmail.com> > > >> > > > > >> > > > > > Subject: Re: Hi all, about the modification > > of MSDP YANG > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Hi Sandy, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I don’t know what warning you are getting now > > but from a quick > > >> > look > > >> > > at > > >> > > > > >> > > > > > the revision you sent I see couple of issues.. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > identity msdp { > > >> > > > > >> > > > > > base "rt:routing-protocol"; <== > > should be rt:control-plane- > > >> > > protocol > > >> > > > > >> > > > > > description "MSDP"; > > >> > > > > >> > > > > > } > > >> > > > > >> > > > > > <snip> > > >> > > > > >> > > > > > /* > > >> > > > > >> > > > > > * Data nodes > > >> > > > > >> > > > > > */ > > >> > > > > >> > > > > > augment > > >> > > > > >> > > > > > "/rt:routing/rt:control-plane- > > protocols/rt:control-plane- > > >> > > protocol" { > > >> > > > > >> > > > > > when "rt:type = 'MSDP'" { <== should > > be "rt:type = > > >> > > 'msdp:msdp'" > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > HTH, > > >> > > > > >> > > > > > Reshad. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > From: > > >> > "zhang.zheng@zte.com.cn<mailto:zhang.zheng@zte.com.cn>" > > >> > > > > >> > > > > > <zhang.zheng@zte.com.cn<mailto: > > zhang.zheng@zte.com.cn>> > > >> > > > > >> > > > > > Date: Friday, February 2, 2018 at 4:37 AM > > >> > > > > >> > > > > > To: "xufeng_liu@jabil.com<mailto:x > > ufeng_liu@jabil.com>" > > >> > > > > >> > > > > > <xufeng_liu@jabil.com<mailto:x > > ufeng_liu@jabil.com>>, > > >> > > > > >> > > > > > "anish.ietf@gmail.com<mailto:a > > nish.ietf@gmail.com>" > > >> > > > > >> > > > > > <anish.ietf@gmail.com<mailto:a > > nish.ietf@gmail.com>>, "Mahesh > > >> > > Sivakumar > > >> > > > > >> > > > > > (masivaku)" > > >> > <masivaku@cisco.com<mailto:masivaku@cisco.com>>, > > >> > > > > >> > > > > > "guofeng@huawei.com<mailto:guofeng@huawei.com > > >" > > >> > > > > >> > > > > > <guofeng@huawei.com<mailto:guofeng@huawei.com > > >>, > > >> > > > > >> > > > > > > > >> > "pete.mcallister@metaswitch.com<mailto:pete.mcallister@ > > metaswitch.co > > >> > > m>" > > >> > > > > >> > > > > > > > >> > <pete.mcallister@metaswitch.com<mailto:pete.mcallister@ > > metaswitch.co > > >> > > m>>, > > >> > > > > >> > > > > > "liuyisong@huawei.com<mailto:l > > iuyisong@huawei.com>" > > >> > > > > >> > > > > > <liuyisong@huawei.com<mailto:l > > iuyisong@huawei.com>>, > > >> > > > > >> > > > > > "xu.benchong@zte.com.cn<mailto: > > xu.benchong@zte.com.cn>" > > >> > > > > >> > > > > > <xu.benchong@zte.com.cn<mailto: > > xu.benchong@zte.com.cn>>, > > >> > > > > >> > > > > > "tanmoy.kundu@alcatel- > > >> > lucent.com<mailto:tanmoy.kundu@alcatel-lucent. > > >> > > com>" > > >> > > > > >> > > > > > <tanmoy.kundu@alcatel- > > >> > lucent.com<mailto:tanmoy.kundu@alcatel-lucent. > > >> > > com>>, > > >> > > > > >> > > > > > "zzhang_ietf@hotmail.com<mailto: > > zzhang_ietf@hotmail.com>" > > >> > > > > >> > > > > > <zzhang_ietf@hotmail.com<mailto: > > zzhang_ietf@hotmail.com>> > > >> > > > > >> > > > > > Cc: "Reshad Rahman (rrahman)" > > >> > > > > >> > > > > > <rrahman@cisco.com<mailto:rrahman@cisco.com>> > > >> > > > > >> > > > > > Subject: FW: Hi all, about the modification > > of MSDP YANG > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Hi all, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I deleted some groupings and make the model > > more clear. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > And I updated the decription of (peer-as, > > up-time, expire). Please > > >> > > > > >> > > > > > review it. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > A warning is still existing about rt:type: > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 5, - augment of control-plane-protocols is > > incorrect. There should > > >> > > be > > >> > > > > >> > > > > > an identity msdp with > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > base "rt:routing-protocol" and then augment > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > "/rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol" > > >> > > > > >> > > > > > with a when > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > statement. Take a look at OSPF YANG for an > > example. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added the identity and modify the > > augmentation, but it > > >> > > seems > > >> > > > > >> > > > > > like there is no MSDP register in rt:type. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > How can we register it? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Thanks, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Sandy > > >> > > > > >> > > > > > 原始邮件 > > >> > > > > >> > > > > > 发件人:张征00007940 > > >> > > > > >> > > > > > 收件人: <xufeng_liu@jabil.com<mailto:x > > ufeng_liu@jabil.com>>; > > >> > > > > >> > > > > > <anish.ietf@gmail.com<mailto:a > > nish.ietf@gmail.com>>; > > >> > > > > >> > > > > > <masivaku@cisco.com<mailto:masivaku@cisco.com > > >>; > > >> > > > > >> > > > > > <guofeng@huawei.com<mailto:guofeng@huawei.com > > >>; > > >> > > > > >> > > > > > > > >> > <pete.mcallister@metaswitch.com<mailto:pete.mcallister@ > > metaswitch.co > > >> > > m>>; > > >> > > > > >> > > > > > <liuyisong@huawei.com<mailto:l > > iuyisong@huawei.com>>;徐本 > > >> > 崇10065053; > > >> > > > > >> > > > > > <tanmoy.kundu@alcatel- > > >> > lucent.com<mailto:tanmoy.kundu@alcatel-lucent. > > >> > > com>>; > > >> > > > > >> > > > > > <zzhang_ietf@hotmail.com<mailto: > > zzhang_ietf@hotmail.com>>; > > >> > > > > >> > > > > > 抄送人: <rrahman@cisco.com<mailto:rrah > > man@cisco.com>>; > > >> > > > > >> > > > > > 日 期 :2018年01月29日 17:04 > > >> > > > > >> > > > > > 主 题 :Hi all, about the modification of MSDP > > YANG > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Hi all, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > YANG doctor Reshad had finished the early > > review about MSDP > > >> > YANG. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I finished the preliminary modification > > version, please review it. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > I think some advices from Reshad should be > > discussed: > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 1, - Not sure why peer-as is needed. Don't > > see it in RFC3618. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 2, - leaf up-time, what's meant by "up time" > > in the description? Is > > >> > > it > > >> > > > > >> > > > > > time it's > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > been created? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 3, - description for leaf expire seems wrong.. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: These items (peer-as, up-time, > > expire) doesn't existed in > > >> > > > > >> > > > > > RFC3618, are these unnecessary? Please write > > down your > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > description if you insist on it. If nobody > > insist on it, should we > > >> > > > > >> > > > > > delete them? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 4, - Groupings are used for data which is > > used only once. Is this > > >> > > done > > >> > > > > >> > > > > > on purpose or > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > was the intention to use those groupings more > > than once? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: These eight groupings are used only > > once, should we > > >> > change > > >> > > > > >> > > > > > them to container? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > authentication-container; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > global-config-attributes; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > peer-config-attributes; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > peer-state-attributes; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > sa-cache-state-attributes; > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > statistics-container > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > statistics-error > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > statistics-queue > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 5, - augment of control-plane-protocols is > > incorrect. There should > > >> > > be > > >> > > > > >> > > > > > an identity msdp with > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > base "rt:routing-protocol" and then augment > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > "/rt:routing/rt:control-plane- > > protocols/rt:control-plane-protocol" > > >> > > > > >> > > > > > with a when > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > statement. Take a look at OSPF YANG for an > > example. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added the identity and modify the > > augmentation, but it > > >> > > seems > > >> > > > > >> > > > > > like there is no MSDP register in rt:type. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > How can we register it? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Most of the suggestion is adopted. The > > modification detail pls see > > >> > > > > >> > > > > > below: > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Too many features (17)! Every piece of > > config has an if-feature > > >> > > > > >> > > > > > - statement. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Some of the configs (timers?) should be part > > of most/basic > > >> > > > > >> > > > > > implementations, for > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > other config (e.g. authentication) I can see > > why a feature would > > >> > be > > >> > > > > >> > > > > > used. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Modified the three timers > > (connect-retry, hold, keepalive) > > >> > > to > > >> > > > > >> > > > > > fixed format. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > -“import ietf-yang-types” should have a > > reference to RFC6991 > > >> > (see > > >> > > > > >> > > > > > -section 4.7 of > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > rfc6087bis-15) > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - “import ietf-inet-types” should have a > > reference to RFC6991 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - “import ietf-routing” should have a > > reference to RFC8022 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - “import ietf-interfaces” should have a > > reference to RFC7223 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - "import ietf-ip" should have a reference to > > RFC7277 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - "import ietf-key-chain" should have a > > reference to RFC8177 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added all the references above. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - organization s/"...PIM( Protocols for IP > > Multicast ) Working > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Group"/"...PIM (Protocols for IP Multicast) > > Working Group"? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Remove WG Chairs from contact information > > as per Appendix C > > >> > of > > >> > > > > >> > > > > > - rfc6087bis-15 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - No copyright in the module description, see > > Appendix of > > >> > 6087bis-15 > > >> > > for > > >> > > > > >> > > > > > - a module description > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > example > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Module description must contain reference > > to RFC, see > > >> > Appendix C > > >> > > of > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > rfc6087bis-15 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Removed WG chairs and add copyright > > from Appendix of > > >> > > > > >> > > > > > rfc6087bis. Added reference to RFC3618. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - grouping authentication-container. > > key-chain and password > > >> > both > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > use if-feature peer-key-chain. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Removed the if-feature > > peer-key-chain from password. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - grouping connect-source. The name is not > > very > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > descriptive. Should this be something along > > the lines of > > >> > > > > >> > > > > > tcp-connection-source? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Changed the name "connect-source" to > > "tcp-connection- > > >> > > source". > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - grouping global-state-attributes has nothing > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Deleted the grouping. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Some of the descriptions are > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > pretty terse. e.g. for rpf-peer it says "RPF > > peer.". In a case like > > >> > > > > >> > > > > > this > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > consider adding more descriptive text or a > > reference to the > > >> > proper > > >> > > > > >> > > > > > section in > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > RFC3618 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added more description. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - peer-as (Autonomous System Number) is > > defined as type string, > > >> > > should > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > be of type as-number in ietf-inet-types? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Modified to inet types. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - keepalive-interval depends on > > holdtime-interval. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > There should be "if-feature > > peer-timer-holdtime" under leaf > > >> > > > > >> > > > > > keepalive-interval > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > or change the must statement to (assuming we > > keep the 2 > > >> > features): > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > must "(not ../holdtime-interval) or (. > 1 > > and . < > > >> > > > > >> > > > > > ../holdtime-interval)". > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Modified the features to fixed > > format. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - leaf up-time: s/sa cache/SA cache/ > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - leaf peer-learned-from, change description > > from "The address > > >> > of > > >> > > peer > > >> > > > > >> > > > > > - that we learned > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > this SA from ." to "The address of the peer > > that we learned this SA > > >> > > > > >> > > > > > from." > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Modified. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - RPC leaf group, I thought we had a type for > > IP multicast address? > > >> > > If > > >> > > > > >> > > > > > - not, it should be done? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Yes. Added the rt-type reference to > > RFC8294. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - s/msdp/MSDP/ > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - In rpc msdp-clear-peer, s/Clears the > > session to the peer./Clears > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > the TCP connection to the peer./ > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - In rpc msdp-clear-sa-cache, why have the > > enum '*' for > > >> > > > > >> > > > > > - source-addr. Can't the same technique as > > for peer-address be > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > used? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - msdp prefix not needed in rpc names > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Done. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - MSDP peers are configured in a mesh-group, > > did the authors > > >> > > consider > > >> > > > > >> > > > > > - adding state per mesh-group, e.g. all the > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > peers in a particular mesh-group? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: IMO it is unnecessary because the > > states of peers is not > > >> > > > > >> > > > > > unified in a mesh-group. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > General: > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Per Appendix B of rfc6087bis-15: "that all > > YANG modules > > >> > containing > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > imported items are cited as normative > > reference". So RFCs 6991, > > >> > > 7223, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > 7277, 8022 and 8177 should be included in the > > normative > > >> > reference > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > section. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Section 3 "the irrelevant information", add > > a > > >> > > reference/explanation > > >> > > > > >> > > > > > - for what > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > the irrelevant information is. s/the > > irrelevant > > >> > > information/irrelevant > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > information/? > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Changed the description. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Section 5 should give a brief description > > of what the RPCs do. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added some description. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Section 6 any plans for notifications? If > > not, just say so. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Done. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Need Security > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Considerations, see sections 3.7 and 6 of > > rfc6087bis-15 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added security consideration section. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Need IANA Considerations, see section 3.8 > > of rfc6087bis-15 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added IANA considerations. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > - Need license in YANG module, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > see appendix B of rfc6087bis-15 > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > [Sandy]: Added the YANG module description. > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Thanks, > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > Sandy > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > > >> > > > > >> > > > > > > >> > > > > >> > > > > _______________________________________________ > > >> > > > > >> > > > > yang-doctors mailing list > > >> > > > > >> > > > > yang-doctors@ietf.org > > >> > > > > >> > > > > https://www.ietf.org/mailman/ > > listinfo/yang-doctors > > >> > > > > >> > > > -- > > >> > > > > >> > > > Ladislav Lhotka > > >> > > > > >> > > > Head, CZ.NIC Labs > > >> > > > > >> > > > PGP Key ID: 0xB8F92B08A9F76C67 > > >> > > > > >> > > > > > >> > > > > >> > > > _______________________________________________ > > >> > > > > >> > > > yang-doctors mailing list > > >> > > > > >> > > > yang-doctors@ietf.org > > >> > > > > >> > > > https://www.ietf.org/mailman/ > > listinfo/yang-doctors > > >> > > > > >> > > > > > >> > > > > >> > > > > > >> > > > > >> > -- > > >> > Ladislav Lhotka > > >> > Head, CZ.NIC Labs > > >> > PGP Key ID: 0xB8F92B08A9F76C67 > > >> > > > >> > > >> > > >> > > >> > > >> > > > _______________________________________________ > > > yang-doctors mailing list > > > yang-doctors@ietf.org > > > https://www.ietf.org/mailman/listinfo/yang-doctors > > > > _______________________________________________ > > yang-doctors mailing list > > yang-doctors@ietf.org > > https://www.ietf.org/mailman/listinfo/yang-doctors > > > > > > _______________________________________________ > > yang-doctors mailing list > > yang-doctors@ietf.org > > https://www.ietf.org/mailman/listinfo/yang-doctors > > > > _______________________________________________ yang-doctors mailing list yang-doctors@ietf.org https://www.ietf.org/mailman/listinfo/yang-doctors
- Re: [pim] [yang-doctors] Optional key support? Acee Lindem (acee)
- Re: [pim] [yang-doctors] Optional key support? Acee Lindem (acee)
- Re: [pim] [yang-doctors] Optional key support? Acee Lindem (acee)