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

"Yingzhen Qu (yiqu)" <yiqu@cisco.com> Tue, 31 May 2016 20:56 UTC

Return-Path: <yiqu@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 936D412D8E2 for <netmod@ietfa.amsl.com>; Tue, 31 May 2016 13:56:26 -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 AQjKqF5yU37F for <netmod@ietfa.amsl.com>; Tue, 31 May 2016 13:56:24 -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 26B5F12D8DA for <netmod@ietf.org>; Tue, 31 May 2016 13:56:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10756; q=dns/txt; s=iport; t=1464728184; x=1465937784; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=AORJpugCaGDSiZovV9qDIJMZbjNtKmn/F81VNtUb27s=; b=Wfud+EjK3faR1lxji81MpI9XxTHAu2hs4LtnoIGoEwx87LnH3J1yf9++ 9hjHxpaGIjvjxQ5GumMOhfhn6nG8P8Czt2LiNMlXD5ldBtDm7a0U77+LR YWU0QX8YWjBv4mGphjA+ahVAcLhqeg5PNzq87cW2QkdDO0aeLyn0QnxB5 g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ADAgAY+k1X/4QNJK1SCYM9Vn0Gt3mCDwENgXoihW8CHIEjOBQBAQEBAQEBZSeERgEBBCcNNx4CAQgYBCgCAjAlAgQBEogvDpBTnRUGkS8BAQEBAQEBAQEBAQEBAQEBAQEBGQV7hSyDSoEDgUpngVgQBCODA4JfBYgOhVeBMokgAYV/iCCBaYRPiGSPSwEeAQFCg21uAQEBiHFFfwEBAQ
X-IronPort-AV: E=Sophos;i="5.26,397,1459814400"; d="scan'208";a="110110127"
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:56:02 +0000
Received: from XCH-ALN-015.cisco.com (xch-aln-015.cisco.com [173.36.7.25]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id u4VKu2Br020725 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 31 May 2016 20:56:02 GMT
Received: from xch-aln-002.cisco.com (173.36.7.12) by XCH-ALN-015.cisco.com (173.36.7.25) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Tue, 31 May 2016 15:56:01 -0500
Received: from xch-aln-002.cisco.com ([173.36.7.12]) by XCH-ALN-002.cisco.com ([173.36.7.12]) with mapi id 15.00.1104.009; Tue, 31 May 2016 15:56:01 -0500
From: "Yingzhen Qu (yiqu)" <yiqu@cisco.com>
To: "Acee Lindem (acee)" <acee@cisco.com>, Ladislav Lhotka <lhotka@nic.cz>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: "A YANG Data Model for Routing Management" Modifications
Thread-Index: AQHRtO7tOcUgpX3Gp0qnsfGLAJZjo5/JFUMAgAPMwgCAABndAP//9FUAgATdqoCAAhJGAP//kh8A
Date: Tue, 31 May 2016 20:56:01 +0000
Message-ID: <D37342A0.5D76F%yiqu@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> <D3736BBF.62D4B%acee@cisco.com>
In-Reply-To: <D3736BBF.62D4B%acee@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.5.2.150604
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.154.160.221]
Content-Type: text/plain; charset="euc-kr"
Content-ID: <D72D376C624DDD4C977A9FA0011808EF@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/2aRg_A3c4z8mp5T53YLJCOXfZfg>
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:56:26 -0000

Since “multi-next-hop” is a list and we need a key for a list, even choice
doesn’t work here. I’m thinking maybe we can use “0.0.0.0” for empty ip
address and “NULL” for empty interface, but it doesn’t look pretty anyway.
Especially the interface should be a reference, and it can’t be “NULL”.

Thanks,
Yingzhen

On 5/31/16, 1:29 PM, "Acee Lindem (acee)" <acee@cisco.com> wrote:

>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
>