Re: [Rtg-yang-coord] container with presence

Ladislav Lhotka <lhotka@nic.cz> Thu, 28 May 2015 11:42 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E0861A909C for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 04:42:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.061
X-Spam-Level:
X-Spam-Status: No, score=-0.061 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, J_CHICKENPOX_29=0.6, T_RP_MATCHES_RCVD=-0.01] autolearn=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 j8K0uiOy7KoX for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 04:42:42 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 47C661A908C for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 04:42:42 -0700 (PDT)
Received: from birdie.labs.nic.cz (unknown [195.113.220.110]) by mail.nic.cz (Postfix) with ESMTPSA id E6FCF13F7CA; Thu, 28 May 2015 13:42:40 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1432813360; bh=j+/upLRzOdX5dSTe/kkRlL3a+b/mzzHdjOsXTw2IHWk=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=bsSv+7+2EBLlfUcMnJ2EU3H9JWk/8ln9/A1XQoSaLAkFCNi1t7bq3DcFK8fbToGXE hWbra/PMMd5ZDQ2isxl906WLoJ/o+ILnvdUJxTu8wFAkE7aZ2LcohvJTwQL4Yh35Rt 5e2yWP799pPdbmyiIQ6oK1chLXfsVqVwn7Gua4AQ=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <00a701d09937$f8edf620$eac9e260$@ndzh.com>
Date: Thu, 28 May 2015 13:42:41 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <07EA8763-056F-4BD3-B7F1-8B6647B486A6@nic.cz>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz> <00a701d09937$f8edf620$eac9e260$@ndzh.com>
To: Susan Hares <shares@ndzh.com>
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/qljlW5Q9xVXPZbKHbhkyGNCI4Lo>
Cc: Rtg-yang-coord@ietf.org
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 11:42:44 -0000

Hi Sue,

> On 28 May 2015, at 13:18, Susan Hares <shares@ndzh.com> wrote:
> 
> Lada: 
> 
> Thank you for this suggestion. How would you suggest the I2RS yang models for I2RS RIB, I2RS Topology, and I2RS FB-RIB use the 

These models don’t define routing protocols, so why should they augment "rt:routing-protocol”?

However, the use of presence containers is a common workaround for all situation where mandatory data are needed inside an augment. Another example is the if:interface list in the ietf-interfaces module, where config data for a specific interface type (augmented into the list from another module) might include mandatory items.

Another solution that doesn’t need an extra presence container is to use a “must” statement. 
 

> 
> 
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type = 'i2rs:i2rs'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is i2rs.";
>       }
>       presence "I2RS routing protocol”;
>       ...
>     }
> 
> If a modules depends on L1 TEAS model or l2  how should this be tested?

Sorry, I don’t understand, what exactly do you want to test?

Lada

>  
> 
> 
> Sue 
> 
> -----Original Message-----
> From: Rtg-yang-coord [mailto:rtg-yang-coord-bounces@ietf.org] On Behalf Of Ladislav Lhotka
> Sent: Thursday, May 28, 2015 5:29 AM
> To: Rtg-yang-coord@ietf.org
> Subject: [Rtg-yang-coord] container with presence
> 
> Hi,
> 
> I have a suggestion for the authors of all routing protocol modules: the container that encapsulates all configuration data for a given protocol should be a container with presence (see sec. 7.5.1 in RFC 6020) because then the configuration data may include mandatory items that are otherwise forbidden at the top level of an augment.
> 
> See also YANG 1.1 issue Y26:
> 
> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
> 
> For example, in the the ietf-isis it should look like this:
> 
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type = 'isis:isis'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is isis.";
>       }
>       presence "IS-IS routing protocol”;
>       ...
>     }
> 
> I am also including this recommendation in the routing-cfg draft.
> 
> Lada
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
> 
> 
> 
> 
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
> 

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C