[netmod] YANG extensions

Martin Bjorklund <mbj@tail-f.com> Thu, 01 August 2013 16:50 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 171BC21E80BF for <netmod@ietfa.amsl.com>; Thu, 1 Aug 2013 09:50:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.796
X-Spam-Level:
X-Spam-Status: No, score=-1.796 tagged_above=-999 required=5 tests=[AWL=0.250, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qXvTtxlCiZaC for <netmod@ietfa.amsl.com>; Thu, 1 Aug 2013 09:50:15 -0700 (PDT)
Received: from mail.tail-f.com (de-2007.d.ipeer.se [213.180.74.102]) by ietfa.amsl.com (Postfix) with ESMTP id DEAD521F9D1E for <netmod@ietf.org>; Thu, 1 Aug 2013 09:50:14 -0700 (PDT)
Received: from localhost (213-65-182-102-no181.tbcn.telia.com [213.65.182.102]) by mail.tail-f.com (Postfix) with ESMTPSA id C735612000A3 for <netmod@ietf.org>; Thu, 1 Aug 2013 18:50:09 +0200 (CEST)
Date: Thu, 01 Aug 2013 18:50:07 +0200
Message-Id: <20130801.185007.338342419.mbj@tail-f.com>
To: netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
X-Mailer: Mew version 6.5rc2 on Emacs 23.4 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: [netmod] YANG extensions
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netmod>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Aug 2013 16:50:31 -0000

Hi,

I'd just like to comment on Kent's last comment in the session today.
He said that Juniper tried to use YANG, but it wasn't suitable, so they
had to add all kinds of YANG extensions.

First of all, it is important to understand that YANG's extension
mechanism is very powerful, but it be disastrous to interoperability
if not used carefully.  The way to think about an extension is that if
a client does not understand the extension, the clienbt should still
be able to communicate with the device correctly.  For example, adding
an extension to make a key in a list optional would break
interoperability, but adding an extension that classifies a config
false node into operational state and statistics would not.  (I am
specificially referring to NETCONF interoperability here).

(We have one extension that breaks this rule, and I truly regret that
we added it - it has caused much more trouble than it solved)

Second, it would be interesting to know what you meant when you said
that it was not suitable.  If you meant that you could not use YANG to
describe all your *current* behavior, it is not all surprising
(well...).  But if you meant that the YANG-defined behavior is
completely unacceptable (even if it wasn't for backwards-compatibility
with you current behavior), it would be very useful to know what it
is.


/martin