Re: [netmod] yang-data-ext issues

Robert Varga <> Mon, 23 April 2018 16:48 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6EDA212D881 for <>; Mon, 23 Apr 2018 09:48:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 4YirbyhXPNmS for <>; Mon, 23 Apr 2018 09:48:43 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B68FB12E887 for <>; Mon, 23 Apr 2018 09:48:37 -0700 (PDT)
Received: from nitebug.localdomain ( []) by (Postfix) with ESMTPSA id E9EC9242EC0; Mon, 23 Apr 2018 18:48:34 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=mail; t=1524502115; bh=xjbIaDmUumd7CW3WA6KWPDN9Jzje5+LyuuqBT9cwjWs=; h=Subject:To:References:From:Date:In-Reply-To; b=J5vGlgwGhzoEP66hhKcVwJSjrJVQiX43HWX+EVOS46fEP7BLy3gDsDMGukLIw0x9W VsB7WKNjtqCz+J0nzcRDd4E/nlNcS1TmWOwwVz8aANZSfcOtSvbm4tezQY319U9DUL Xz5Jb3WpnaBFncsMOjFMgML2TO7AxFCaTScbjI7U=
To: Ladislav Lhotka <>,
References: <> <> <> <>
From: Robert Varga <>
Message-ID: <>
Date: Mon, 23 Apr 2018 18:48:27 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="TEtu9BWMHa5gnQmBQ64bQV43a2x8P7D8R"
Archived-At: <>
Subject: Re: [netmod] yang-data-ext issues
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 23 Apr 2018 16:48:48 -0000

On 22/04/18 14:56, Ladislav Lhotka wrote:
>> One example: YANG 1.1 was supposed to be a backwards-compatible, yet it
>> introduced multiple-inheritence to a language which was previously
>> strictly single-inheritence. That sort of change is a major revision of
>> the metamodel and certainly does not qualify as backwards-compatible at
>> that level of abstraction.
> I'd defend YANG 1.1 here, I think it was a well managed and conservative update.
> The meaning of backward compatibility was defined in the charter: YANG 1.0
> modules should continue to work in 1.1. Apart from fixing evident bugs, I
> believe this goal was achieved.

I agree and the upgrade process was very smooth, all things considered.

> I am much more concerned with some of the post-1.1 features, also because YANG
> is now being updated in several directions without a clear vision. And another
> big problem is that YANG extensions are used for these changes, so we will
> probably end up with several different versions of YANG, although formally
> everything will be 1.1.  

Agree, and it's especially the interactions between extensions which are
critical to manage the outcome.

> Regarding your example: from my own experience, implementing validation of
> identityref values with multiple inheritance is not terribly complicated in
> comparison to single inheritance. I have other favorites for the most peculiar
> feature in YANG.

It's not, but it forced us to incompatibly change our Java binding
specifications -- where we used to use abstract classes we have to use
interfaces. Luckily there is no state involved :)