Re: [I2rs-proto-dt] couple YANG details

"Susan Hares" <> Fri, 23 October 2015 20:41 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 8B6111A907F for <>; Fri, 23 Oct 2015 13:41:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -99.055
X-Spam-Status: No, score=-99.055 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DOS_OUTLOOK_TO_MX=2.845, USER_IN_WHITELIST=-100] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id OarDidLq6aJe for <>; Fri, 23 Oct 2015 13:41:28 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 99A381A907C for <>; Fri, 23 Oct 2015 13:41:28 -0700 (PDT)
X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=;
From: Susan Hares <>
To: 'Jeffrey Haas' <>, 'Andy Bierman' <>
References: <> <>
In-Reply-To: <>
Date: Fri, 23 Oct 2015 16:41:29 -0400
Message-ID: <033801d10dd3$32542190$96fc64b0$>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQKMEsdjPzkqeQIW8vtZ5c+9e7UOnAGkpZ8knPZac+A=
Content-Language: en-us
Archived-At: <>
Subject: Re: [I2rs-proto-dt] couple YANG details
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: I2RS protocol design team <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 23 Oct 2015 20:41:29 -0000

Jeff and Andy: 

I agree with Jeff.  I2RS should not create new constraints for anything
under a configuration data tree.   (Jeff see the BGP suggestions below). 

What about the I2RS protocol data modules?  I think these data modules have
their own constraints.  Is this true. 


Examples from BGP: 

1) if you create an ephemeral BGP peer, then it should have the same
constraints and other peers. 
b) If you create a BGP cost community, then it should have the same
constraints as other cost communities. 

-----Original Message-----
From: Jeffrey Haas [] 
Sent: Friday, October 23, 2015 11:18 AM
To: Andy Bierman
Cc: Susan Hares;
Subject: Re: [I2rs-proto-dt] couple YANG details

On Wed, Oct 21, 2015 at 02:45:56PM -0700, Andy Bierman wrote:
> 1) module-level "ephemeral" flag
> Since the data node flag applies to the entire subtree, it should be 
> simple enough to just require each top-level data node to declare 
> 'ephemeral true' if needed.
> There are usually 1 - 2 top-level data nodes per module so this is not 
> a burden.  Checking 2 places is too complicated and they can conflict.

As long as we permit ephemeral true in nodes other than the top one, I think
that's good.  We want to permit data models to be published that have
non-ephemeral components with some ephemeral without requiring an ephemeral
augmentation module just for the ephemeral properties.

> 2) groupings wrt/ edit overlap
> YANG already has a way to say what sub-nodes must be present 
> (mandatory=true, min-elements>0).
> Is this good enough for I2RS?  Can the requirements for the ephemeral 
> version be different than the persistent version, wrt/ mandatory & 
> min-elements?

If I'm parsing this correctly, I think that's fine.  We want to avoid
introducing additional constraints in ephemeral modules, but shouldn't
perturb the requirements for persistent config state.  Since ephemeral state
can only go underneath the persistent stuff when they mix, min-elements
should be tied to requirements for the persistent nodes; the ephemeral nodes
may contribute, but shouldn't count against the min, ideally.

-- Jeff