Re: [netconf] pls clarify get operation

"Rob Wilton (rwilton)" <rwilton@cisco.com> Fri, 28 June 2019 09:09 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C3127120169; Fri, 28 Jun 2019 02:09:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=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 header.b=JebgNzUb; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=HXWSAeW7
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 3goeyVqDDjhj; Fri, 28 Jun 2019 02:09:40 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B1A21200B7; Fri, 28 Jun 2019 02:09:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=88215; q=dns/txt; s=iport; t=1561712980; x=1562922580; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=g2AZo5SIk5Tp0cgrE913EhsDBYB+hVXWnGrlVC2x1Kg=; b=JebgNzUbVqRjq3lj2dtGqVXpiWJ7fRDmS+l/PTzbtk2vHyY04QcfH7fG M0rd5P+326mSy3judKm3Co2m+ank2ODznwkZN/0u+0eCnYV+yzwYd/GSd F9lJ3nDhl22hgPU21rCm18Zs0nzxgsg7I5eIQWcFMrtekk18W8Pl2pXFN 8=;
X-Files: image001.png : 5474
IronPort-PHdr: 9a23:uzMKNR83lRAVrv9uRHGN82YQeigqvan1NQcJ650hzqhDabmn44+8ZB7E/fs4iljPUM2b8P9Ch+fM+4HYEW0bqdfk0jgZdYBUERoMiMEYhQslVdSaCEnnK/jCZC0hF8MEX1hgrDm2
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AJAADd2BVd/51dJa1mGQEBAQEBAQEBAQEBAQcBAQEBAQGBVAMBAQEBAQsBgRQvKScDalUgBAsoCoQSg0cDjlyCW36WRoEuFIEQA1QCBwEBAQkBAgEBIwoCAQGEQAIXgmkjNQgOAQMBAQQBAQIBBW2KNwyFSgEBAQQFDRECCAESAQE3AQ8CAQYCEQEDAQEGAQEBGAEGAwICAgUQAQ4MFAMGCAEBBAENBAEGAgYUgwGBagMdAQIMinWQYAKBOIhgcYEygnkBAQWFDRiCCgcJgTQBikCBHheBQD8ma0aCFzU+gmEBAQIBgSsBCwcBIQMDDwgIBgkIgkwygiaLdIEngUSEeyNnh0+Ed4JJhU5sCQKCFoVHAYELjUCCK4cYjh6MDYEghziMHINLAgQCBAUCDgEBBYFRATZncXAVO4JsCYI4gSYBAoJIhRSFP3IBgSiMNA8XgQsBgSABAQ
X-IronPort-AV: E=Sophos;i="5.63,427,1557187200"; d="png'150?scan'150,208,217,150";a="289447833"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 28 Jun 2019 09:09:39 +0000
Received: from XCH-ALN-016.cisco.com (xch-aln-016.cisco.com [173.36.7.26]) by rcdn-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id x5S99cB3018311 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 28 Jun 2019 09:09:38 GMT
Received: from xhs-rcd-001.cisco.com (173.37.227.246) by XCH-ALN-016.cisco.com (173.36.7.26) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 28 Jun 2019 04:09:38 -0500
Received: from xhs-aln-001.cisco.com (173.37.135.118) by xhs-rcd-001.cisco.com (173.37.227.246) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 28 Jun 2019 04:09:37 -0500
Received: from NAM04-SN1-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-001.cisco.com (173.37.135.118) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 28 Jun 2019 04:09:37 -0500
ARC-Seal: i=1; a=rsa-sha256; s=testarcselector01; d=microsoft.com; cv=none; b=prWSAOAMWgpbtJ/kmH5n7VYVmWjrrlwNYVYA1pYN1igTkwZzx/sLDG2TbWl1UDr4QaCNIHW/iYpA/nv2CkV8K7OSYBEkG7OR6pFqRoF1XCmoTVMq7JDfKXJ86KYikUcukFD3X84ZGg1e8O/i/J5CKv8twJ9bnk7MKxgjDrGx0UA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=testarcselector01; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L2fhRww0836ol0VabMYBIc1gx1VOqHsQ51syOmsRrTI=; b=At2hLAFz7rSDkMZxDv3QjU95vOvoQ5En87pwtF+4BNLtdiaXRlGmT8mVbw9xKeGOL1LHCiWtVw3ICDCfAVIfkX7PMKAi38MAoIEze0cdwVlH2Fkc2kzH3EP34EkFZJeJkW4PKeq+aGhuEFg7bgRc0ARm9qpYT4Tbyl+5AKTuGZs=
ARC-Authentication-Results: i=1; test.office365.com 1;spf=none;dmarc=none;dkim=none;arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L2fhRww0836ol0VabMYBIc1gx1VOqHsQ51syOmsRrTI=; b=HXWSAeW7cuCyDIUjcMaQf4+o2VQLWWGlUBMhGiQDsx1rgkGaR9/muHv71n2Ffgk9U32eLx8TWysykI+IyXAkn/JTiJRoPF9QSSEYZjb01wmHhDEGEPVdHEHsgKeYQE+Lcg2WSApdY+79wMRWk8hAzgXgtrB7V+MjOQg9fBE4I00=
Received: from BYAPR11MB2631.namprd11.prod.outlook.com (52.135.227.28) by BYAPR11MB3798.namprd11.prod.outlook.com (20.178.239.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.16; Fri, 28 Jun 2019 09:09:36 +0000
Received: from BYAPR11MB2631.namprd11.prod.outlook.com ([fe80::ed99:b6a8:d6fb:5045]) by BYAPR11MB2631.namprd11.prod.outlook.com ([fe80::ed99:b6a8:d6fb:5045%4]) with mapi id 15.20.2008.018; Fri, 28 Jun 2019 09:09:36 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "Fengchong (frank)" <frank.fengchong@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
CC: "Zhangwei (SS)" <zhangwei70@huawei.com>
Thread-Topic: pls clarify get operation
Thread-Index: AdUsiu4JIzTUBFYNTIGSUYTtxnFLqwA1gt7QAApPi5AAAM+k8AAAh5VQ
Date: Fri, 28 Jun 2019 09:09:36 +0000
Message-ID: <BYAPR11MB2631E697964372E2051C671AB5FC0@BYAPR11MB2631.namprd11.prod.outlook.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001ED5E20@dggemm513-mbx.china.huawei.com> <BYAPR11MB2631D3A01E398ADDBB294588B5FC0@BYAPR11MB2631.namprd11.prod.outlook.com> <5756FB984666AD4BB8E1D63E2E3AA3D001ED6060@dggemm513-mbx.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001ED6060@dggemm513-mbx.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com;
x-originating-ip: [173.38.220.34]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 89a152c7-f8a1-4341-d2a1-08d6fba857c0
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(49563074)(7193020); SRVR:BYAPR11MB3798;
x-ms-traffictypediagnostic: BYAPR11MB3798:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <BYAPR11MB37980901D494B56502417335B5FC0@BYAPR11MB3798.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-forefront-prvs: 00826B6158
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(396003)(366004)(346002)(39860400002)(136003)(189003)(53754006)(199004)(51444003)(229853002)(68736007)(6436002)(33656002)(256004)(14444005)(5024004)(8936002)(14454004)(25786009)(99286004)(478600001)(9326002)(53946003)(55016002)(53936002)(9686003)(99936001)(5660300002)(236005)(66066001)(3846002)(52536014)(54556002)(790700001)(6116002)(54896002)(6306002)(86362001)(3480700005)(733005)(2501003)(71200400001)(2201001)(71190400001)(486006)(7736002)(8676002)(26005)(81156014)(81166006)(76176011)(66556008)(73956011)(76116006)(66616009)(66476007)(2906002)(66946007)(64756008)(316002)(110136005)(606006)(66446008)(446003)(11346002)(102836004)(476003)(7116003)(7696005)(4326008)(74316002)(186003)(53386004)(6246003)(6506007)(53546011)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR11MB3798; H:BYAPR11MB2631.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: zeG3UgehBGlas3CYSHuK9EWXnB6Tcq2UZ+x2nOflkDxVbEaO0ACzSeGT+uxZ2t9pgo2wQtVh6YYl7aPnqyGOKpUcGGLfi5s/h/u4xcjhdYEdrpmsQLZqPnKZeR9bMppph1wtxZYpNYLkftC5hD2Ful2YxBKVX5QF0n4ldHKIwjtqQu69KMB3Gi/KnDoSNpZWVR3mWPqk7wsEpN2COZNcJ0HIK7r1pS8hIP52LoUz6z7hh8eo/o4AIUTePq+ZNMHqxUAPNiQIGUCx5v80aFdsyne5tQYZuOnTh3+gKQwHhP/tWi9XXLN4DeieIk2KDvkkRp3CrXeWmuyKIffAGqBrcmhdmtXmgp/tcwPKorlQfa4HENRe3gwbse41CsyUb5TPYEOAiuIgnxTl0KeWDVQmQaYE0o7x0gVx9XU4LiCEu7Y=
Content-Type: multipart/related; boundary="_004_BYAPR11MB2631E697964372E2051C671AB5FC0BYAPR11MB2631namp_"; type="multipart/alternative"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 89a152c7-f8a1-4341-d2a1-08d6fba857c0
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2019 09:09:36.3306 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rwilton@cisco.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3798
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.26, xch-aln-016.cisco.com
X-Outbound-Node: rcdn-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/QvVXK_ZpH3JNxuHgR02athOHTm0>
Subject: Re: [netconf] pls clarify get operation
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Jun 2019 09:09:45 -0000

Hi Frank,

NMDA does not change the semantics of the <get> operation at all: I.e. the operation returns the contents of the <running> datastore combined with all the operational state as well.

Going outside the standards there are probably 2 pragmatic choices:

  1.  Implement <get> as above (but may be expensive to implement for a new device).
  2.  Don’t support the <get> operation at all, requiring users to use the <get-data> equivalent instead.  This was the informal long term plan, i.e. <get> will probably eventually be deprecated.

Regarding your last question, yes, you are right that it cannot return system-controlled data.  One option here is to use the NMDA YANG module as input to a conversion process that generates old IETF style YANG models with split config/state trees (i.e. like RFC 7223).

Thanks,
Rob


From: Fengchong (frank) <frank.fengchong@huawei.com>
Sent: 28 June 2019 09:55
To: Rob Wilton (rwilton) <rwilton@cisco.com>; netconf@ietf.org; netmod@ietf.org
Cc: Zhangwei (SS) <zhangwei70@huawei.com>
Subject: 答复: pls clarify get operation

Hi Rob,
Thanks for your explanation.
You mean get operation only  report running configuration and state nodes in non-NMDA scenario.
But if in NMDA scenario, what would be reported when we use the same get operation  to retrieve information? The same with non-NMDA or report all configuration including user-controlled and  system-controlled?


Another question:
If we write a NMDA-style YANG module without config false copy, when we implement this YANG in non-NMDA device, perhaps we have no way to get the information of system-controlled data.

________________________________
华为技术有限公司 Huawei Technologies Co., Ltd.
[Company_logo]
个人签名:冯冲
手  机:13776612983
电子邮件:frank.fengchong@huawei.com<mailto:frank.fengchong@huawei.com>
公司网址:www.huawei.com<http://www.huawei.com>
________________________________
 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
This e-mail and its attachments contain confidential information from HUAWEI, which
is intended only for the person or entity whose address is listed above. Any use of the
information contained herein in any way (including, but not limited to, total or partial
disclosure, reproduction, or dissemination) by persons other than the intended
recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!

发件人: Rob Wilton (rwilton) [mailto:rwilton@cisco.com]
发送时间: 2019年6月28日 16:39
收件人: Fengchong (frank) <frank.fengchong@huawei.com<mailto:frank.fengchong@huawei.com>>; netconf@ietf.org<mailto:netconf@ietf.org>; netmod@ietf.org<mailto:netmod@ietf.org>
抄送: Zhangwei (SS) <zhangwei70@huawei.com<mailto:zhangwei70@huawei.com>>
主题: RE: pls clarify get operation

Hi Frank,

Pre NMDA:
-        You have a the <running> datastore, along with some others like <candidate> and <startup> that you can ignore for the purposes of this discussion.
-        The <running> datastore can only contains data for schema nodes that are marked as “config true” in YANG (i.e. “rw” in your tree output below).
-        The system may also have some operational state data that is marked as “config false” in YANG (i.e. “ro” in your tree output below).

The NETCONF <get-config> operation returns the contents of the <running> datastore.
The NETCONF <get> operation returns the contents of the <running> datastore combined with all the operational state as well.  Filters can be applied to return a subset of the data.

Regarding your question about user created configuration vs system created configuration, it depends on whether the devices instantiates the configuration in <running> or not.  If it does, then it would be returned in <get> and <get-config> operations.  If it doesn’t then it would not.  Different vendors/devices will likely implement this in different ways.

Generally, I think that <running> should only contain the configuration explicitly configured by the operator’s systems.  But this means that there isn’t a clean way to represent system created configuration or applied configuration, unless you make a config false copy of every config true node in YANG.  This is approach that was taken by the original IETF YANG models (e.g. RFC 7223) before they were superseded by NMDA, and also the OpenConfig YANG models (but using a different structure – which also struggles to cleanly represent system created configuration data).

The NMDA architecture was written to solve this problem in a clean way without requiring duplication in the YANG data models.

Hopefully this helps clarify.

Thanks,
Rob


From: netmod <netmod-bounces@ietf.org<mailto:netmod-bounces@ietf.org>> On Behalf Of Fengchong (frank)
Sent: 28 June 2019 04:29
To: netconf@ietf.org<mailto:netconf@ietf.org>; netmod@ietf.org<mailto:netmod@ietf.org>
Cc: Zhangwei (SS) <zhangwei70@huawei.com<mailto:zhangwei70@huawei.com>>
Subject: [netmod] 答复: pls clarify get operation

Hi all,

     Pls clarify this question. I have been confused for a long time.

________________________________
华为技术有限公司 Huawei Technologies Co., Ltd.
[Company_logo]
个人签名:冯冲
手  机:13776612983
电子邮件:frank.fengchong@huawei.com<mailto:frank.fengchong@huawei.com>
公司网址:www.huawei.com<http://www.huawei.com>
________________________________
 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
This e-mail and its attachments contain confidential information from HUAWEI, which
is intended only for the person or entity whose address is listed above. Any use of the
information contained herein in any way (including, but not limited to, total or partial
disclosure, reproduction, or dissemination) by persons other than the intended
recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!

发件人: Fengchong (frank)
发送时间: 2019年6月27日 9:59
收件人: 'netconf@ietf.org' <netconf@ietf.org<mailto:netconf@ietf.org>>; netmod@ietf.org<mailto:netmod@ietf.org>
抄送: Yangshouchuan <yangshouchuan@huawei.com<mailto:yangshouchuan@huawei.com>>; Zhangwei (SS) <zhangwei70@huawei.com<mailto:zhangwei70@huawei.com>>
主题: pls clarify get operation

Hi all,
In RFC6241, get operation is defined as:
7.7<https://tools.ietf.org/html/rfc6241#section-7.7>.  <get>

   Description:  Retrieve running configuration and device state

      information.
This description is too simply, so I think it should be clarified.

The case is: a data node modelled by one yang can be configured by user, but also can be created/modified by system or other protocols. If client issues get operation to retrieve this node,
          The data is created/modified by system or other protocols SHOULD be returned?
          For example:
          Rib can be configured by user and also can be created by routing protocols. In RFC 8349, the rib list is defined as:



      +--rw ribs

         +--rw rib* [name]

            +--rw name              string

            +--rw address-family?   identityref

            +--ro default-rib?      boolean {multiple-ribs}?

            +--ro routes

            |  +--ro route*

            |        ...

            +---x active-route

            |  +---w input

            |  |  +---w v4ur:destination-address?   inet:ipv4-address

            |  |  +---w v6ur:destination-address?   inet:ipv6-address

            |  +--ro output

            |        ...

            +--rw description?      string



       If client issued get operation to retrieve ribs from non-NMDA device, rib instance created by routing protocols should be returned?

       Another associated question: If client issued get-config operation from non-NMDA device, only user-controlled rib instance should be returned?