Re: [Netconf] the name "checksum" in YANG library

Rohit R Ranade <rohitrranade@huawei.com> Mon, 15 October 2018 08:51 UTC

Return-Path: <rohitrranade@huawei.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 25494130E2E for <netconf@ietfa.amsl.com>; Mon, 15 Oct 2018 01:51:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.589
X-Spam-Level:
X-Spam-Status: No, score=-2.589 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 GXQDFw-9aB0W for <netconf@ietfa.amsl.com>; Mon, 15 Oct 2018 01:51:49 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EC788130E0E for <netconf@ietf.org>; Mon, 15 Oct 2018 01:51:47 -0700 (PDT)
Received: from LHREML713-CAH.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id B72231039EF2D for <netconf@ietf.org>; Mon, 15 Oct 2018 09:51:44 +0100 (IST)
Received: from DGGEML421-HUB.china.huawei.com (10.1.199.38) by LHREML713-CAH.china.huawei.com (10.201.108.36) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 15 Oct 2018 09:51:45 +0100
Received: from DGGEML510-MBX.china.huawei.com ([169.254.2.196]) by dggeml421-hub.china.huawei.com ([10.1.199.38]) with mapi id 14.03.0399.000; Mon, 15 Oct 2018 16:51:33 +0800
From: Rohit R Ranade <rohitrranade@huawei.com>
To: Robert Wilton <rwilton@cisco.com>, Martin Bjorklund <mbj@tail-f.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] the name "checksum" in YANG library
Thread-Index: AQHUYU+r+OxuXa+NZUuar3yMev1i1aUZ5GTQ//9+tICAAbiJgP//2JMAgACIoPD//4eIAACgKG8w
Date: Mon, 15 Oct 2018 08:51:32 +0000
Message-ID: <991B70D8B4112A4699D5C00DDBBF878A6BC61B9E@dggeml510-mbx.china.huawei.com>
References: <20181011.124600.2085483972062437440.mbj@tail-f.com> <991B70D8B4112A4699D5C00DDBBF878A6BC567C6@dggeml510-mbx.china.huawei.com> <20181011.133113.643945777606446073.mbj@tail-f.com> <991B70D8B4112A4699D5C00DDBBF878A6BC57080@dggeml510-mbx.china.huawei.com> <674660c8-13e4-2fad-8a7e-1fef2dd3f572@cisco.com> <991B70D8B4112A4699D5C00DDBBF878A6BC572E8@dggeml510-mbx.china.huawei.com> <e2c728d6-5c9e-eab9-77f7-73c4312f6d5d@cisco.com>
In-Reply-To: <e2c728d6-5c9e-eab9-77f7-73c4312f6d5d@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.18.150.121]
Content-Type: multipart/alternative; boundary="_000_991B70D8B4112A4699D5C00DDBBF878A6BC61B9Edggeml510mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/J3icIdH01lZNWOkkQz7nANORuoA>
Subject: Re: [Netconf] the name "checksum" in YANG library
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Configuration WG mailing 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: Mon, 15 Oct 2018 08:51:53 -0000

Hi Robert,

The text looks fine to me.

With Regards,
Rohit R

From: Robert Wilton [mailto:rwilton@cisco.com]
Sent: 12 October 2018 17:55
To: Rohit R Ranade <rohitrranade@huawei.com>; Martin Bjorklund <mbj@tail-f.com>; netconf@ietf.org
Subject: Re: [Netconf] the name "checksum" in YANG library


Hi Rohit,

I'm OK with removing "unique" if the other authors and WG agree with the change.
Note that the full context for the current block of text would become this (incorporating Martin's proposed changes):



   o  The "/yang-library/content-id" leaf contains the YANG library

      content identifier, which is an implementation-specific

      identifier representing the current information in the YANG

      library on a specific server.  The value of this leaf MUST change

      whenever the information in the YANG library changes.  There is no

      requirement that the same information always results in the same

      "content-id" value.  This leaf allows a client to fetch all schema

      information once, cache it, and only refetch it if the value of

      this leaf has been changed.  If the value of this leaf changes,

      the server also generates a "yang-library-update" notification.

Thanks,
Rob
On 12/10/2018 12:40, Rohit R Ranade wrote:

Hi Robert,



When I read that the identifier is a "unique implementation-specific identifier", I inferred that this identifier should generate a unique value whenever the contents change.

So I inferred that there should not be a repetition of the identifier values. But the use-cases presented show that to make full use of this leaf, it is better if same content generated the same identifier.



Maybe if we removed the term "unique", then this doubt may not arise.



With Regards,

Rohit



-----Original Message-----

From: Robert Wilton [mailto:rwilton@cisco.com]

Sent: 12 October 2018 16:57

To: Rohit R Ranade <rohitrranade@huawei.com><mailto:rohitrranade@huawei.com>

Cc: Martin Bjorklund <mbj@tail-f.com><mailto:mbj@tail-f.com>; netconf@ietf.org<mailto:netconf@ietf.org>

Subject: Re: [Netconf] the name "checksum" in YANG library



Hi Rohit,



If the server restarts, or the YANG management daemon on the server restarts, and the YANG library content is the same then it is less work on the client to return the same content-id value.



It isn't the end of the world if it is different because it just forces the client to re-download and re-parse YANG library. However, it could be a problem for the client if the server returns the same value if the server reboots and uses a different set of YANG modules after it has rebooted (e.g. after a software upgrade).



Perhaps if you write the counter to persistent storage this can still be made to work in a reliable way, but using a robust hash function over the contents in YANG library is probably a simpler approach.   I would predict that if MurmurHash3, generating a 128 bit hash value, is used over the Yang Library contents then the risk of a collision (i.e. where the content differs, but hashes to the same value) would be extremely low in practice.



Thanks,

Rob





On 12/10/2018 06:59, Rohit R Ranade wrote:

Hi Martin,



" The value of this leaf MUST change whenever the

       information in the YANG library changes." ==> This statement in Section 3, indicates that the value must change when content changes.



The draft has also placed a constraint that it is a " unique implementation-specific identifier". When the contents changes, especially if the length of the data which is used for checksum changes, then the resulting checksum values may not be unique.



So I feel it is simpler, if a counter is used.



With Regards,

Rohit



-----Original Message-----

From: Martin Bjorklund [mailto:mbj@tail-f.com]

Sent: 11 October 2018 17:01

To: Rohit R Ranade <rohitrranade@huawei.com><mailto:rohitrranade@huawei.com>

Cc: netconf@ietf.org<mailto:netconf@ietf.org>

Subject: Re: [Netconf] the name "checksum" in YANG library



Rohit R Ranade <rohitrranade@huawei.com><mailto:rohitrranade@huawei.com> wrote:

Since this leaf has to change every-time the content of YANG library

changes, "content-modify-count" can also be used which is simple for

a server to implement (just increment when content changes) and also

for client or a human reader to understand.

But it doesn't have to change everytime, it could very well be implemented as a checksum of the contents.





/martin







-----Original Message-----

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Martin

Bjorklund

Sent: 11 October 2018 16:16

To: netconf@ietf.org<mailto:netconf@ietf.org>

Subject: [Netconf] the name "checksum" in YANG library



Hi,



Several reviewers in the IESG have commented that the name "checksum"

in YANG library is misleading.  It is not really a checksum ('There

is no requirement that the same information always results in the

same "checksum" value.')



So since many people have complained, maybe we should change it.



After a quick discussion among (some of the) authors, we suggest that

we call it "YANG library content identifier" or "content-id" for

short.



The changes would be:



OLD:



    o  YANG library checksum: A server-generated checksum of the contents

       of the YANG library.



NEW:



    o  YANG library content identifier: A server-generated identifier of

       the contents of the YANG library.





OLD:



    o  The "/yang-library/checksum" leaf contains the YANG library

       checksum, which is a unique implementation-specific identifier

       representing the current information in the YANG library on a

       specific server.





NEW:



    o  The "/yang-library/content-id" leaf contains the YANG library

       content identifier, which is a unique implementation-specific

       identifier representing the current information in the YANG

       library on a specific server.





.... and various simpler search&replaces.





We would also update the schema-mount and netconf-nmda documents to

use the new term.





Does anyone object to this change?







/martin



_______________________________________________

Netconf mailing list

Netconf@ietf.org<mailto:Netconf@ietf.org>

https://www.ietf.org/mailman/listinfo/netconf



_______________________________________________

Netconf mailing list

Netconf@ietf.org<mailto:Netconf@ietf.org>

https://www.ietf.org/mailman/listinfo/netconf

.