Re: [Rtg-yang-coord] rtg-cfg hierachy (Indentation in hierarchy corrected)

Ladislav Lhotka <lhotka@nic.cz> Mon, 23 February 2015 13:05 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 A3A271A1A9F; Mon, 23 Feb 2015 05:05:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.3
X-Spam-Level:
X-Spam-Status: No, score=-1.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_14=0.6] 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 NCPGnZnzTJYt; Mon, 23 Feb 2015 05:05:16 -0800 (PST)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 172111A1A9E; Mon, 23 Feb 2015 05:05:16 -0800 (PST)
Received: from localhost (unknown [195.113.220.110]) by trail.lhotka.name (Postfix) with ESMTPSA id 38C871CC0249; Mon, 23 Feb 2015 14:05:22 +0100 (CET)
From: Ladislav Lhotka <lhotka@nic.cz>
To: "Acee Lindem (acee)" <acee@cisco.com>, Thomas Morin <thomas.morin@orange.com>, Routing YANG <rtg-yang-coord@ietf.org>, Routing WG <rtgwg@ietf.org>
In-Reply-To: <D10A678C.EB2C%acee@cisco.com>
References: <D10A678C.EB2C%acee@cisco.com>
User-Agent: Notmuch/0.19 (http://notmuchmail.org) Emacs/24.4.51.2 (x86_64-apple-darwin14.0.0)
Date: Mon, 23 Feb 2015 14:05:15 +0100
Message-ID: <m27fv8zsl0.fsf@birdie.labs.nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/W1UEXfRIhOmmGSrR2cTDSYDJzPo>
Subject: Re: [Rtg-yang-coord] rtg-cfg hierachy (Indentation in hierarchy corrected)
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: Mon, 23 Feb 2015 13:05:18 -0000

"Acee Lindem (acee)" <acee@cisco.com> writes:

> Thanks Thomas for the clarification.
>
> I’d like to then suggest we change the rtg-cfg model hierarchy to reflect
> what most routing device implementations.
> There is a RIB (you can call it a default-RIB if you like) for every
> Address Family (AF). Multiple RIBs per AF is not widely implemented and I
> don’t see it becoming more prevalent. Hence, I agree it should be a
> feature. The one implementation I’m familiar with is multiple topology
> routing (e.g., RFC 4915), where RIB corresponds to a FIB that is selected
> based on packet marking. Does anyone have any other examples?

Another example could be a separate RIB for RPF, to be used e.g. by PIM.

>
> This would imply that RIBs are within a routing-instance and that

It seems (Junos experts, please confirm) that in Junos user-defined
routing tables can be specified both globally and per routing-instance:

http://www.juniper.net/documentation/en_US/junos14.2/topics/reference/configuration-statement/export-rib-edit-routing-options.html

>From the viewpoint of the data model, I think it is generally easier for
an implementation to restrict access to each RIB to a single routing
instance than allow different routing instances to share a RIB, if each
RIB would have to be inside a routing instance.


Lada

> routing-protocols within the routing-instance can operate on these RIBs.
> There is no requirement connect RIBs to routing-protocols or to form
> connections between RIBs.
>
> This would give us a high-level hierarchy of:
>
> rw routing-instance* [name]
>       |  +--rw address-family
>       |  |  |--rw default-rib* [address-family]
>       |  |  +--rw non-default-ribs (feature)
>       |  +--rw routing-protocols
>       |     +―--rw routing-protocol* [type name]
>
> I intensionally left out the interfaces since I don’t like some models
> augmenting or referencing the ietf-interface list and others augmenting or
> referencing the list in our rtg-cfg draft.
>
> Thanks,
> Acee
>
>
>
>
> On 2/18/15, 6:36 AM, "Thomas Morin" <thomas.morin@orange.com> wrote:
>
>>Hi Acee, Lada,
>>
>>It seems that my comment that you quote was more related to filters than
>>to routing tables, and indeed, *filters* were moved from "router" to
>>"global" in revision -03 that followed my review.
>>
>>Additionally, Lada, you say that based on my comments "in rev. -03 the
>>list of RIBs (then called "routing-table") was the moved out of the
>>routing instance (then called "router") and became global.". But if I
>>look at -03, "routing-table" is still a child of "router".  The change
>>to make "routing-table" global was made in -05.
>>
>>I guess you need to find out what was the motivation for the change in
>>-05, a few months after my initial comments were address.
>>
>>Best,
>>
>>-Thomas
>>
>>
>>
>>
>>
>>2015-02-13, Acee Lindem (acee):
>>>
>>> Hi Lada, Thomas,
>>>
>>> On 2/13/15, 5:10 AM, "Ladislav Lhotka" <lhotka@nic.cz> wrote:
>>>
>>>> Hi,
>>>>
>>>> "Acee Lindem (acee)" <acee@cisco.com> writes:
>>>>
>>>>> Hi Thomas,
>>>>>
>>>>> It is my understanding that the RIBs were moved out of the
>>>>> routing-instance in response to your comment that a RIB would need to
>>>>>be
>>>>> attached to multiple routing instances. I don¹t agree with this
>>>>> model. I
>>>>
>>>> Acee refers to this comment that Thomas made in his review of
>>>> draft-ietf-netmod-routing-cfg-02 on 2012-03-23:
>>>>
>>>> "Allowing multiple "routers" is a good starting point for using these
>>>> specs in the context of RFC4364 (MPLS/BGP IP VPNs). However, if I
>>>> understand correctly Yang syntax, the way the filters are defined would
>>>> not work in the context of RFC4364, where a BGP routing instance in the
>>>> master "router" exports selected routes in each of the routing table of
>>>> each VPN (VRF).  The VRF also export routes to the master instance."
>>>>
>>>> And indeed, in rev. -03 the list of RIBs (then called "routing-table")
>>>> was the moved out of the routing instance (then called "router") and
>>>> became global.
>>>
>>> Then do you agree to move the RIBs back into the routing-instance? Both
>>> the BGP YANG drafts model L3VPN definitions under the corresponding
>>> address family in BGP.
>>>
>>> http://www.ietf.org/id/draft-shaikh-idr-bgp-model-00.txt
>>> http://www.ietf.org/id/draft-zhdankin-idr-bgp-cfg-00.txt
>>>
>>> Thanks,
>>> Acee
>>>
>>>
>>>
>>>>
>>>> Lada
>>>>
>>>>> believe that a routing instance implies a VRF, virtual router or
>>>>> something
>>>>> in between and that a RIB should be associated with one and only one
>>>>> routing instance. Additionally, I feel that RIBs are basically passive
>>>>> entities with respect to import/export of routes between RIBs in the
>>>>> same
>>>>> or other routing-instances. Rather, all import/export is under the
>>>>> control
>>>>> of a routing-protocol. For example, this would be handled by a BGP
>>>>> routing-protocol instance for L3VPNs.
>>>>>
>>>>> I¹d like to get the opinions of others on this fundamental aspect of
>>>>>the
>>>>> rtg-cfg model.
>>>>>
>>>>> Thanks,
>>>>> Acee
>>>>>
>>>>>
>>>>
>>>> --
>>>> Ladislav Lhotka, CZ.NIC Labs
>>>> PGP Key ID: E74E8C0C
>>>
>>>
>>>
>>
>
>

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