Re: [netmod] js review of draft-ietf-netmod-schema-mount-09

Martin Bjorklund <mbj@tail-f.com> Tue, 10 April 2018 14:15 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 0C439129C5D for <netmod@ietfa.amsl.com>; Tue, 10 Apr 2018 07:15:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, 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 4p11_mQLdLmc for <netmod@ietfa.amsl.com>; Tue, 10 Apr 2018 07:15:49 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 28514129C51 for <netmod@ietf.org>; Tue, 10 Apr 2018 07:15:49 -0700 (PDT)
Received: from localhost (unknown [173.38.220.33]) by mail.tail-f.com (Postfix) with ESMTPSA id 98E461AE00A0; Tue, 10 Apr 2018 16:15:47 +0200 (CEST)
Date: Tue, 10 Apr 2018 16:15:46 +0200 (CEST)
Message-Id: <20180410.161546.1818555188781690245.mbj@tail-f.com>
To: j.schoenwaelder@jacobs-university.de
Cc: netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20180410124643.mnywxuxrnyaahttv@elstar.local>
References: <20180406122406.wdba43mr3bxsnyce@elstar.local> <20180406.152710.818971844955208858.mbj@tail-f.com> <20180410124643.mnywxuxrnyaahttv@elstar.local>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/fHKe45bmhGOgzOcO4rPtxbW0Wlw>
Subject: Re: [netmod] js review of draft-ietf-netmod-schema-mount-09
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Tue, 10 Apr 2018 14:15:51 -0000

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> On Fri, Apr 06, 2018 at 03:27:10PM +0200, Martin Bjorklund wrote:
> > 
> > Ok.  I tweaked it to:
> > 
> >   This document defines a mechanism to add the schema trees defined
> >   by a set of YANG modules onto a mount point defined in the schema
> >   tree in some YANG module.
> >
> 
> Works for me.
> 
> > > OK. It seems that for a client capable to support a 'shared schema',
> > > the 'inline' schema really is just a special case without parent
> > > references. (I wonder whether anything should be said to YANG library
> > > version numbers, whether they are always scoped by the mount point
> > > or have meaning across mount points; if two YANG library instances
> > > in mounted schemas have the same version number, does this imply
> > > that these YANG library instances are identical or is this just a
> > > version number clash? But then this probably goes across the spirit
> > > of not talking about YANG library too much.)
> > 
> > When you say "version number" do you mean the YANG library checksum?
> > I don't think the YL document guarantees that there can never be
> > clashes.
> 
> Yes, the checksum (which I think is actually a version identifier).
> Anyway, the question is whether a client can draw any conclusions from
> seeing YANG library instances with the same checksum and whether a
> client must simpy treat this as a clash. If multiple mounted schemas
> have the same YANG library, then reading one of them would be
> sufficient. The question is whether the checksum is a tool for
> deciding whether a YANG library is similar to an already known one or
> whether a client must not make this assumption, i.e., a checksum is
> always scoped to the YANG library instance and you have to read them
> all.

Options:

1.  Be silent about the YL checksum in this document.

2.  State that the server MUST ensure that if two mounted YL
    instances have the same checksum, then the YL contents MUST be
    the same.

3.  State that just b/c the YL checksum is the same in two mounted
    instances, it does not mean that the YL contents is the same.

4.  State that for use-schema, the YL contents and YL checksum MUST be
    the samem but for inline, equal YL checksum is no guarantee for
    equal YL contents.

>From a client perspective, 2 is preferrable.  It is probably not
difficult to implement on a server either; except in the peer mount
case where the data is just read from some device.

> > > This helps. Can I also mount NACM into a mount point? If yes, what if
> > > both are present?
> > 
> > Yes you can mount NACM.  To keep things simple, I think the inner NACM
> > should not affect the access control done in the parent.  Consider the
> > use cases for this.  In a NI situation, it doesn't make much sense to
> > mount NACM.  In an LNE (or in a "peer mount") situation, it may make
> > sense to mount NACM if the LNE (or device) supports it.  In this case,
> > if I try to access any mounted data in the parent, access is
> > controlled by the parent.  If I have access, the parent may send a
> > request over to the mounted device to read/write the data.  That
> > device will use its local copy of NACM to control access, or some
> > other mechanism.
> 
> In this scenarios, if the parent NACM grants access but the inner NACM
> does not grant access, I assume I will not have access, right? So how
> does this line up with "the inner NACM should not affect the access
> control done in the parent"? Frankly, this is all a bit hypothetical
> since we have no standards for doing peer mounts - and clearly not for
> writable peer mounts. So probably the truth is that it is undefined
> whether the inner NACM applies or not. Hm.

But maybe this is something that needs to be handled when we define
peer mount?  The question is if we need to add any text to this
document?


/martin