Re: [netmod] "A YANG Data Model for Routing Management" Modifications

"Acee Lindem (acee)" <acee@cisco.com> Tue, 31 May 2016 20:29 UTC

Return-Path: <acee@cisco.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 EA69012D7F4 for <netmod@ietfa.amsl.com>; Tue, 31 May 2016 13:29:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.947
X-Spam-Level:
X-Spam-Status: No, score=-15.947 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 7SNj9cMps-dY for <netmod@ietfa.amsl.com>; Tue, 31 May 2016 13:29:19 -0700 (PDT)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9BFBE12D652 for <netmod@ietf.org>; Tue, 31 May 2016 13:29:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9804; q=dns/txt; s=iport; t=1464726559; x=1465936159; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=YMvhYgb3h93JadILE7WcYRoaeUrJwVnMOXZTmunLTi8=; b=ae3ovw82Ce22wvsn2dAabc0moxElTV8X+LKX4BIS//UOzklru/7ab0rk skGVm8FevDd9iw8sq0EH1EGBSzkA6wcPnlWyjXmKPMz8XQIA4OD2KENie sCgo/1vB4ztmCtyjQcWNte8JHPxpMxMMNJ+374W9pjQgWO8yGvijVr4V4 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AHAgAT801X/4QNJK1SCYM9Vn0Ggz20PIIPAQ2BeiKFbwIcgSM4FAEBAQEBAQFlJ4RGAQEEIwQNNx4CAQgYAgImAgICMBUQAgQBEogvDq13kScBAQEBAQEBAQEBAQEBAQEBAQEBGQWBAYhwgQOBSmeBWBAEI4MJglkFiA6FV4EyiSABhX+IIIFphE+IZI9LAR4BAUKDbW4BAQGIcUV/AQEB
X-IronPort-AV: E=Sophos;i="5.26,397,1459814400"; d="scan'208";a="110102403"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 31 May 2016 20:29:18 +0000
Received: from XCH-RTP-004.cisco.com (xch-rtp-004.cisco.com [64.101.220.144]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id u4VKTIPM032115 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 31 May 2016 20:29:18 GMT
Received: from xch-rtp-015.cisco.com (64.101.220.155) by XCH-RTP-004.cisco.com (64.101.220.144) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Tue, 31 May 2016 16:29:17 -0400
Received: from xch-rtp-015.cisco.com ([64.101.220.155]) by XCH-RTP-015.cisco.com ([64.101.220.155]) with mapi id 15.00.1104.009; Tue, 31 May 2016 16:29:16 -0400
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Ladislav Lhotka <lhotka@nic.cz>, "Yingzhen Qu (yiqu)" <yiqu@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: "A YANG Data Model for Routing Management" Modifications
Thread-Index: AQHRtO7r+C2S73ZgJUC44PCbE4kSTw==
Date: Tue, 31 May 2016 20:29:16 +0000
Message-ID: <D3736BBF.62D4B%acee@cisco.com>
References: <D3663B1A.620CF%acee@cisco.com> <m2r3ct7y8x.fsf@birdie.labs.nic.cz> <D36A5C26.624C0%acee@cisco.com> <m2wpmfx2fj.fsf@birdie.labs.nic.cz> <D36DA33A.6294B%acee@cisco.com> <D36DD139.5D526%yiqu@cisco.com> <m2y46raeuu.fsf@birdie.labs.nic.cz>
In-Reply-To: <m2y46raeuu.fsf@birdie.labs.nic.cz>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.116.152.196]
Content-Type: text/plain; charset="utf-8"
Content-ID: <B4AFF99B5477394B9D89EEE1C840198B@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/zUvMjAKF-hFrqQX3V_9BF0PcsLU>
Subject: Re: [netmod] "A YANG Data Model for Routing Management" Modifications
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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, 31 May 2016 20:29:22 -0000

Hi Lada, 
If we can’t get YANG to do what we need, can we just support a choice with
a special value of “unspecified” for the interface and address?
Additionally, we’d need a constraint that enforces the fact that both
interface and address cannot be “unspecified”.

Thanks,
Acee 

On 5/30/16, 8:51 AM, "Ladislav Lhotka" <lhotka@nic.cz> wrote:

>"Yingzhen Qu (yiqu)" <yiqu@cisco.com> writes:
>
>> Hi Lada,
>>
>> The ³multi-next-hop² is using the combination of interface and address
>>as
>> the list key. I know key can¹t be empty, but for next hop it¹s possible
>> that only either interface or address is used. I¹ve been trying to
>>figure
>> out a better way to present this, any suggestion?
>
>Optional list keys were proposed for YANG 1.1:
>
>https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-10
>
>The reason that the issue Y09 was eventually rejected was that many
>people thought it was a relatively far-reaching change. This means we
>are left with the same options as in YANG 1.0, none of them being very
>pretty:
>
>- Add a dummy opaque key, e.g.
>
>  list next-hop-entries {
>    key id;
>    leaf id {
>      type uint16;
>    }
>    unique interface address;
>    ...
>  }
>
>- Use special value, such as empty string, to indicate that either
>  interface or address isn't present. But since inet:ipv[46]-address
>  cannot be empty, we would need to define the type of "address" as a
>  union of empty string and inet:ipv[46]-address.
>
>Lada
>
>>
>> If there is anything I can help with the modification, please let me
>>know.
>>
>> Thanks,
>> Yingzhen
>>
>> On 5/27/16, 4:14 AM, "Acee Lindem (acee)" <acee@cisco.com> wrote:
>>
>>>Hi Lada, 
>>>
>>>On 5/27/16, 5:42 AM, "Ladislav Lhotka" <lhotka@nic.cz> wrote:
>>>
>>>>Hi Acee,
>>>>
>>>>I have a couple of questions:
>>>>
>>>>1. I changed "routing-protocol" -> "control-plane-protocol" (this is
>>>>   already in GitHub). As for identities, I introduced a new base
>>>>   identity "control-plane-protocol", and derived "routing-protocol"
>>>>   from it. So the idea is that routing protocols will still use
>>>>   "routing-protocol" as their base. Is it OK?
>>>
>>>Yes - as long as there is a single list. I¹ll pull the source today.
>>>
>>>>
>>>>2. We could define identities for route types but I am still not
>>>>   convinced that route-type should be added to ietf-routing because
>>>>   then we can't limit the set of types for each protocol, so that, for
>>>>   example, OSPF routes could carry IS-IS Level [12] routes.
>>>
>>>Do you mean that OSPF would install the wrong type of route? I would see
>>>this as a bug but not something the model itself should enforce.
>>>
>>>Note that OSPF can ³carry² any type of route if it is imported into OSPF
>>>and advertised as an AS External route.
>>>
>>>>
>>>>3. The "multi-next-hop" case in rib-extend-01 uses interface and
>>>>address
>>>>   as keys. This means that for every next-hop *both* parameters have
>>>>to
>>>>   be given. Is it really intended?
>>>
>>>No - either or both must be specified but both are not required. I¹ll
>>>leave this to you YANG experts.
>>>
>>>Thanks,
>>>Acee
>>>
>>>
>>>
>>>>
>>>>Thanks, Lada
>>>>
>>>>"Acee Lindem (acee)" <acee@cisco.com> writes:
>>>>
>>>>> Hi Lada, 
>>>>>
>>>>>
>>>>> On 5/23/16, 8:30 AM, "Ladislav Lhotka" <lhotka@nic.cz> wrote:
>>>>>
>>>>>>"Acee Lindem (acee)" <acee@cisco.com> writes:
>>>>>>
>>>>>>> Hi Lada, 
>>>>>>>
>>>>>>> I thought I go through the impetus for the changes I discussed in
>>>>>>>my
>>>>>>>last
>>>>>>> E-mail. I believe we should make these changes and then freeze the
>>>>>>> specification other than possible modifications based on the
>>>>>>>consensus
>>>>>>>for
>>>>>>> the NETMOD operational state direction.
>>>>>>
>>>>>>I agree.
>>>>>>
>>>>>>>
>>>>>>> The request to merge draft
>>>>>>> https://www.ietf.org/id/draft-acee-rtgwg-yang-rib-extend-01.txt is
>>>>>>>based
>>>>>>> on the comments we received in the RTG WG meeting at IETF 95. The
>>>>>>> consensus in the room was that the proposed next-hop additions were
>>>>>>>pretty
>>>>>>> standard in a networking device supporting routing. We were careful
>>>>>>>not
>>>>>>>to
>>>>>>> include any MPLS or other tunneling technologies. If you feel that
>>>>>>>some
>>>>>>>of
>>>>>>> these are not applicable to hosts, we could make them features.
>>>>>>
>>>>>>I don't think that many home routers support these features either
>>>>>>(except ECMP). I still think they should be added as augments, and,
>>>>>>as
>>>>>>you know, ietf-routing was previously modified to enable it. Another
>>>>>>advantage of doing so is that it will be more future-proof: it will
>>>>>>be
>>>>>>easier to replace their definitions with something else, which may be
>>>>>>impossible if they are an integral part of ietf-routing, because of
>>>>>>the
>>>>>>rigid rules for updating published YANG modules.
>>>>>
>>>>> Lou and I had a lengthy discussion on this and we agreed that the
>>>>>base
>>>>> should support ECMP and a metric per-path (like Linux).
>>>>>
>>>>> I also think we could route-type and tag to the operational state as
>>>>>long
>>>>> as they have default value of ³unspecified² and ³none² respectively.
>>>>>This
>>>>> would address the E-mail Helen Chen sent to NETMOD today.
>>>>>
>>>>> As for configuration of the tag and the backup path, we can keep
>>>>>these
>>>>>as
>>>>> augmentations.
>>>>>
>>>>>>
>>>>>>>
>>>>>>> The request to change the name of routing-protocols to
>>>>>>> control-plane-protocols is in support of
>>>>>>> https://www.ietf.org/id/draft-rtgyangdt-rtgwg-device-model-04.txt.
>>>>>>>This
>>>>>>> informative model was always had a control-plane-protocols list. If
>>>>>>>we
>>>>>>> don¹t put a standards-based control-plane-protocols list here, we
>>>>>>>will
>>>>>>> need to have one list for routing-protocols (i.e., RIB clients) and
>>>>>>> another list for non-RIB clients. While the name is somewhat more
>>>>>>>general
>>>>>>> than the scope of routing-cfg, it seems like a very good trade-off
>>>>>>>to
>>>>>>>put
>>>>>>> it here rather than have two lists and have to move protocols
>>>>>>>between
>>>>>>> lists if they suddenly add a capability that allows the protocol to
>>>>>>>modify
>>>>>>> the RIB.
>>>>>>
>>>>>>I don't mind changing the name, but I was a bit concerned that this
>>>>>>may
>>>>>>induce other changes, e.g. in the definition of RIBs. Lou already
>>>>>>told
>>>>>>me it was not the case, so we can change the name.
>>>>>
>>>>>
>>>>> Great. 
>>>>>
>>>>> Thanks,
>>>>> Acee 
>>>>>
>>>>>
>>>>>>
>>>>>>Lada
>>>>>>
>>>>>>>
>>>>>>> If you are amenable to these modifications, we can confirm them on
>>>>>>>the
>>>>>>> NETMOD list.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Acee 
>>>>>>>
>>>>>>
>>>>>>-- 
>>>>>>Ladislav Lhotka, CZ.NIC Labs
>>>>>>PGP Key ID: E74E8C0C
>>>>>
>>>>
>>>>-- 
>>>>Ladislav Lhotka, CZ.NIC Labs
>>>>PGP Key ID: E74E8C0C
>>>
>>
>
>-- 
>Ladislav Lhotka, CZ.NIC Labs
>PGP Key ID: E74E8C0C