Re: [mpls] MPLS Base YANG Module

Loa Andersson <loa@pi.nu> Fri, 27 January 2017 11:32 UTC

Return-Path: <loa@pi.nu>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B444A1294AA; Fri, 27 Jan 2017 03:32:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.099
X-Spam-Level:
X-Spam-Status: No, score=-5.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-3.199] autolearn=ham autolearn_force=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 WcJpDTUiqj-Y; Fri, 27 Jan 2017 03:32:34 -0800 (PST)
Received: from pipi.pi.nu (pipi.pi.nu [83.168.239.141]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E38FB129448; Fri, 27 Jan 2017 03:32:33 -0800 (PST)
Received: from [192.168.1.11] (unknown [122.52.28.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: loa@pi.nu) by pipi.pi.nu (Postfix) with ESMTPSA id C668818013D1; Fri, 27 Jan 2017 12:32:27 +0100 (CET)
To: "Tarek Saad (tsaad)" <tsaad@cisco.com>, "Acee Lindem (acee)" <acee@cisco.com>, "mpls@ietf.org" <mpls@ietf.org>
References: <495ABB60-04F9-4ADC-95B0-4081DDA05E0D@cisco.com> <D4ABEA82.9905B%acee@cisco.com> <98BD05F7-1D12-4C44-9D2E-3C87A08578AC@cisco.com> <044362de-9519-1baa-adf5-46c07ef9657e@pi.nu> <77C9B336-B65B-4DA1-BF27-17FE0E9491A8@cisco.com>
From: Loa Andersson <loa@pi.nu>
Message-ID: <608fc90f-2443-5d62-5e42-c0049d3a7b5c@pi.nu>
Date: Fri, 27 Jan 2017 19:32:21 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0
MIME-Version: 1.0
In-Reply-To: <77C9B336-B65B-4DA1-BF27-17FE0E9491A8@cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/zDNuKu0_bFz5o0g7WLiCExTopJI>
Cc: RTG YANG Design Team <rtg-dt-yang-arch@ietf.org>, "draft-ietf-mpls-base-yang@ietf.org" <draft-ietf-mpls-base-yang@ietf.org>
Subject: Re: [mpls] MPLS Base YANG Module
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Jan 2017 11:32:38 -0000

Tarek,

On the “pop-impose-and-forward” are you saying that what happens is that 
an incoming packet with this label stack:




                                          +-------+
                                          |  Lz   |
                                          +-------+
                                          |  Ly   |
     +-------+                            +-------+
     |  La   |                            |  Lx   |
     +-------+                            +-------+
     |  Lb   |                            |  Lv   |
     +-------+                            +-------+
     |  Lc   |   leaves the LSR as        |  Lc   |
     +-------+                            +-------+
     |  PL   |                            |  PL   |
     |       |                            |       |

That is a pop (La) swap (La to Lv), push (Lx), push (Ly), push(Lx)
operation, right?

So nothing but push, pop, swap.

Why do we need to single out the pop-swap-push(times n)-forward
operation?

/Loa


On 2017-01-27 13:26, Tarek Saad (tsaad) wrote:
> Hi Loa,
>
> On 2017-01-24, 8:34 PM, "Loa Andersson" <loa@pi.nu> wrote:
>
>     Tarek,
>
>     We've used push, swap and pop, since the beginning of MPLS,
>     what is the reason to rename "push" to "impose" now?
> [TS]: “impose” is quite common too, but I will raise this up in our next meeting and try to converge on “push” instead.
>
>     What is the difference between 3 and 4 below?
> [TS]: the intention was to distinguish a case where the top label is popped and replaced with a series of labels “pop-impose-and-forward” vs. special case of swap the top label “swap-and-forward”.
>
> Regards,
> Tarek
>
>     /Loa
>
>
>     On 2017-01-24 22:05, Tarek Saad (tsaad) wrote:
>     > Hi Acee,
>     >
>     >
>     >
>     > The MPLS operations we’ve defined are:
>     >
>     > 1.      impose-and-forward
>     >
>     > 2.      pop-and-forward (e.g. PHP behavior)
>     >
>     > 3.      pop-impose-and-forward
>     >
>     > 4.      swap-and-forward
>     >
>     > 5.      pop-and-lookup
>     >
>     >
>     >
>     > Currently nhlfe-role is defining the path-role: primary, pure-backup,
>     > primary-and-backup.
>     >
>     > This may equally apply to IP-RIBs (e.g. to cover IP-FRR) too, so we can
>     > remove it from mpls augmentation if it can be present in
>     > draft-acee-rtgwg-yang-rib-extend-00 (for example).
>     >
>     >
>     >
>     > Regards,
>     >
>     > Tarek
>     >
>     >
>     >
>     > *From: *"Acee Lindem (acee)" <acee@cisco.com>
>     > *Date: *Monday, January 23, 2017 at 5:23 PM
>     > *To: *Tarek Saad <tsaad@cisco.com>, "mpls@ietf.org" <mpls@ietf.org>
>     > *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org>,
>     > "draft-ietf-mpls-base-yang@ietf.org" <draft-ietf-mpls-base-yang@ietf.org>
>     > *Subject: *Re: MPLS Base YANG Module
>     >
>     >
>     >
>     > Hi Tarek,
>     >
>     >
>     >
>     > Since these are augmentations to the IPv4 and IPv6 unicast RIBs, what
>     > operation would be valid other than imposition (i.e., push)? Also, what
>     > is the nhlfe-role? I see the role type defined in the expired base MPLS
>     > model.
>     >
>     >
>     >
>     > Thanks,
>     >
>     > Acee
>     >
>     >
>     >
>     > *From: *"Tarek Saad (tsaad)" <tsaad@cisco.com <mailto:tsaad@cisco.com>>
>     > *Date: *Thursday, January 19, 2017 at 9:27 PM
>     > *To: *"mpls@ietf.org <mailto:mpls@ietf.org>" <mpls@ietf.org
>     > <mailto:mpls@ietf.org>>
>     > *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org
>     > <mailto:rtg-dt-yang-arch@ietf.org>>, "draft-ietf-mpls-base-yang@ietf.org
>     > <mailto:draft-ietf-mpls-base-yang@ietf.org>"
>     > <draft-ietf-mpls-base-yang@ietf.org
>     > <mailto:draft-ietf-mpls-base-yang@ietf.org>>, Acee Lindem
>     > <acee@cisco.com <mailto:acee@cisco.com>>
>     > *Subject: *MPLS Base YANG Module
>     >
>     >
>     >
>     >     Hi WG/all,
>     >
>     >
>     >
>     >     As part of “draft-ietf-mpls-base-yang”, we are trying to model the
>     >     MPLS FTN, NHLFE and ILM tables in YANG.
>     >
>     >     One proposal is to augment the IETF routing RIB model (rfc8022) for
>     >     V4 and V6 RIBs so IP prefix route also carries the additional MPLS
>     >     route local label and remote label bindings per next-hop.
>     >
>     >     Below highlights the augmentation of the RIB model for V4/V6. For
>     >     MPLS cross-connects (non-IP mpls routes), we propose those to reside
>     >     under a new address-family (MPLS) RIB, by defining a new identity as
>     >     below.
>     >
>     >     Let us know if you have feedback/comments on this proposal.
>     >
>     >
>     >
>     >
>     >
>     >     *_Example IPv4 RIB augmention for MPLS (highlighted in yellow):_*
>     >
>     >
>     >
>     >        |  +--ro ribs
>     >
>     >        |     +--ro rib* [name]
>     >
>     >        |        +--ro name              string
>     >
>     >        |        +--ro address-family    identityref
>     >
>     >        |        +--ro default-rib?      boolean {multiple-ribs}?
>     >
>     >        |        +--ro routes
>     >
>     >        |        |  +--ro route*
>     >
>     >        |        |     +--ro route-preference?          route-preference
>     >
>     >        |        |     +--ro next-hop
>     >
>     >        |        |     |  +--ro (next-hop-options)
>     >
>     >        |        |     |     +--:(simple-next-hop)
>     >
>     >        |        |     |     |  +--ro outgoing-interface?
>     >     if:interface-state-ref
>     >
>     >        |        |     |     |  +--ro v4ur:next-hop-address?
>     >     inet:ipv4-address
>     >
>     >        |        |     |     |  +--ro mpls:remote-labels*    mpls-label
>     >
>     >        |        |     |     |  +--ro mpls:operation?
>     >     label-operation
>     >
>     >        |        |     |     +--:(special-next-hop)
>     >
>     >        |        |     |     |  +--ro special-next-hop?        enumeration
>     >
>     >        |        |     |     +--:(next-hop-list)
>     >
>     >        |        |     |        +--ro next-hop-list
>     >
>     >        |        |     |           +--ro next-hop*
>     >
>     >        |        |     |              +--ro outgoing-interface?
>     >     if:interface-state-ref
>     >
>     >        |        |     |              +--ro v4ur:address?
>     >     inet:ipv4-address
>     >
>     >        |        |     |              +--ro mpls:index?             string
>     >
>     >        |        |     |              +--ro mpls:backup-index?      string
>     >
>     >        |        |     |              +--ro mpls:role?
>     >     nhlfe-role
>     >
>     >        |        |     |              +--ro mpls:outgoing-labels*
>     >     mpls-label
>     >
>     >        |        |     |              +--ro mpls:operation?
>     >     label-operation
>     >
>     >        |        |     +--ro source-protocol            identityref
>     >
>     >        |        |     +--ro active?                    empty
>     >
>     >        |        |     +--ro last-updated?              yang:date-and-time
>     >
>     >        |        |     +--ro v4ur:destination-prefix?   inet:ipv4-prefix
>     >
>     >        |        |     +--ro mpls:local-label?       mpls-label
>     >
>     >
>     >
>     >
>     >
>     >     For MPLS cross-connects (non-IP mpls routes), we propose to reside
>     >     under a new address-family (MPLS) RIB, by defining a new identity as
>     >     below:
>     >
>     >
>     >
>     >       identity mpls {
>     >
>     >         base rt:address-family;
>     >
>     >         description
>     >
>     >           "This identity represents the MPLS address family.";
>     >
>     >       }
>     >
>     >
>     >
>     >     Regards,
>     >
>     >     Tarek
>     >
>     >
>     >
>     >     *From: *"Acee Lindem (acee)" <acee@cisco.com <mailto:acee@cisco.com>>
>     >     *Date: *Friday, January 6, 2017 at 12:33 PM
>     >     *To: *Tarek Saad <tsaad@cisco.com <mailto:tsaad@cisco.com>>,
>     >     "draft-ietf-mpls-base-yang@ietf.org
>     >     <mailto:draft-ietf-mpls-base-yang@ietf.org>"
>     >     <draft-ietf-mpls-base-yang@ietf.org
>     >     <mailto:draft-ietf-mpls-base-yang@ietf.org>>
>     >     *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org
>     >     <mailto:rtg-dt-yang-arch@ietf.org>>, Loa Andersson <loa@pi.nu
>     >     <mailto:loa@pi.nu>>, "xufeng.liu.ietf@gmail.com
>     >     <mailto:xufeng.liu.ietf@gmail.com>" <xufeng.liu.ietf@gmail.com
>     >     <mailto:xufeng.liu.ietf@gmail.com>>
>     >     *Subject: *Re: [Rtg-dt-yang-arch] MPLS Base YANG Module
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >     *From: *"Tarek Saad (tsaad)" <tsaad@cisco.com <mailto:tsaad@cisco.com>>
>     >     *Date: *Friday, January 6, 2017 at 12:00 PM
>     >     *To: *Acee Lindem <acee@cisco.com <mailto:acee@cisco.com>>,
>     >     "draft-ietf-mpls-base-yang@ietf.org
>     >     <mailto:draft-ietf-mpls-base-yang@ietf.org>"
>     >     <draft-ietf-mpls-base-yang@ietf.org
>     >     <mailto:draft-ietf-mpls-base-yang@ietf.org>>
>     >     *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org
>     >     <mailto:rtg-dt-yang-arch@ietf.org>>, Loa Andersson <loa@pi.nu
>     >     <mailto:loa@pi.nu>>, "xufeng.liu.ietf@gmail.com
>     >     <mailto:xufeng.liu.ietf@gmail.com>" <xufeng.liu.ietf@gmail.com
>     >     <mailto:xufeng.liu.ietf@gmail.com>>
>     >     *Subject: *Re: [Rtg-dt-yang-arch] MPLS Base YANG Module
>     >
>     >
>     >
>     >         Also for completeness, the model in
>     >         “draft-ietf-i2rs-rib-data-model” seems to present a “single”
>     >         list of routes that contain all the different route-types
>     >         (including MPLS routes).. It was mentioned that there are
>     >         discussions between authors of “draft-ietf-i2rs-rib-data-model”
>     >         and draft-ietf-netmod-routing-cfg”. Has anything emerged that
>     >         can help us steer the MPLS augmentation?
>     >
>     >
>     >
>     >     You should align with RFC 8022 where there is a separate model per
>     >     address family.
>     >
>     >
>     >
>     >     Thanks,
>     >
>     >     Acee
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >            +--rw route-list* [route-index]
>     >
>     >               +--rw route-index                uint64
>     >
>     >               +--rw match
>     >
>     >               |  +--rw (route-type)?
>     >
>     >               |     +--:(ipv4)
>     >
>     >               |     |  +--rw ipv4
>     >
>     >               |     |     +--rw (ip-route-match-type)?
>     >
>     >               |     |        +--:(dest-ipv4-address)
>     >
>     >               |     |        |  ...
>     >
>     >               |     |        +--:(src-ipv4-address)
>     >
>     >               |     |        |  ...
>     >
>     >               |     |        +--:(dest-src-ipv4-address)
>     >
>     >               |     |           ...
>     >
>     >               |     +--:(ipv6)
>     >
>     >               |     |  +--rw ipv6
>     >
>     >               |     |     +--rw (ip-route-match-type)?
>     >
>     >               |     |        +--:(dest-ipv6-address)
>     >
>     >               |     |        |  ...
>     >
>     >               |     |        +--:(src-ipv6-address)
>     >
>     >               |     |        |  ...
>     >
>     >               |     |        +--:(dest-src-ipv6-address)
>     >
>     >               |     |           ...
>     >
>     >               |     +--:(mpls-route)
>     >
>     >               |     |  +--rw mpls-label              uint32
>     >
>     >               |     +--:(mac-route)
>     >
>     >               |     |  +--rw mac-address             uint32
>     >
>     >               |     +--:(interface-route)
>     >
>     >               |        +--rw interface-identifier if:interface-ref
>     >
>     >
>     >
>     >         Regards,
>     >
>     >         Tarek
>     >
>     >
>     >
>     >         *From: *Tarek Saad <tsaad@cisco.com <mailto:tsaad@cisco.com>>
>     >         *Date: *Friday, January 6, 2017 at 11:53 AM
>     >         *To: *"Acee Lindem (acee)" <acee@cisco.com
>     >         <mailto:acee@cisco.com>>, "draft-ietf-mpls-base-yang@ietf.org
>     >         <mailto:draft-ietf-mpls-base-yang@ietf.org>"
>     >         <draft-ietf-mpls-base-yang@ietf.org
>     >         <mailto:draft-ietf-mpls-base-yang@ietf.org>>
>     >         *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org
>     >         <mailto:rtg-dt-yang-arch@ietf.org>>, Loa Andersson <loa@pi.nu
>     >         <mailto:loa@pi.nu>>, "xufeng.liu.ietf@gmail.com
>     >         <mailto:xufeng.liu.ietf@gmail.com>" <xufeng.liu.ietf@gmail.com
>     >         <mailto:xufeng.liu.ietf@gmail.com>>
>     >         *Subject: *Re: [Rtg-dt-yang-arch] MPLS Base YANG Module
>     >
>     >
>     >
>     >         Thanks Acee for your review and comments. The authors met and we
>     >         discussed your comments, see below for more..
>     >
>     >
>     >
>     >         >> I really only have one comment and that is that the “config false” version of interface-mpls need not be replicated in both the rt:routing and rt:routing-state trees.
>     >
>     >         We discussed this and have some concerns due to potential
>     >         upcoming changes discussed at netmod group. Xufeng will follow
>     >         up on this thread regarding this.
>     >
>     >
>     >
>     >         >> when some of the MPLS operational state will be added? The obvious examples are the ILM, FTN, and NHLFEs.
>     >
>     >         We’ve been discussing this, and we have some initial
>     >         implementation of the tables under mpls @
>     >         https://github.com/ietf-mpls-yang/te/blob/master/ietf-mpls.yang.tree..
>     >         However, we’re also discussing the possibility of augmenting RIB
>     >         for MPLS routes (see below) as you pointed..
>     >
>     >
>     >
>     >         >> One view is that the ILM, FTN, and NHLFEs could be provided via an augmentation to the RIB…
>     >
>     >         It is possible to have MPLS FTN table realized as an
>     >         augmentation to existing IPv4 and IPv6 RIBs models defined in
>     >         “draft-ietf-netmod-routing-cfg”. However, for pure MPLS-routes
>     >         (keyed by label or aka the ILM table), this would require a new
>     >         separate list of routes (new address family?) and a new “MPLS”
>     >         RIB. In section 5.1 of “draft-ietf-netmod-routing-cfg”, the
>     >         routes have mandatory “destination-prefix” attribute, and one
>     >         way to have the MPLS route list is to redefine
>     >         “destination-prefix” so it signifies the MPLS incoming label for
>     >         MPLS routes. Any thoughts on this?
>     >
>     >
>     >
>     >         Regards,
>     >
>     >         Tarek and co-authors
>     >
>     >
>     >
>     >
>     >
>     >         *From: *"Acee Lindem (acee)" <acee@cisco.com
>     >         <mailto:acee@cisco.com>>
>     >         *Date: *Friday, December 23, 2016 at 12:59 PM
>     >         *To: *"Acee Lindem (acee)" <acee@cisco.com
>     >         <mailto:acee@cisco.com>>, "draft-ietf-mpls-base-yang@ietf.org
>     >         <mailto:draft-ietf-mpls-base-yang@ietf.org>"
>     >         <draft-ietf-mpls-base-yang@ietf.org
>     >         <mailto:draft-ietf-mpls-base-yang@ietf.org>>
>     >         *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org
>     >         <mailto:rtg-dt-yang-arch@ietf.org>>, Loa Andersson <loa@pi.nu
>     >         <mailto:loa@pi.nu>>
>     >         *Subject: *Re: [Rtg-dt-yang-arch] MPLS Base YANG Module
>     >         *Resent-From: *<alias-bounces@ietf.org
>     >         <mailto:alias-bounces@ietf.org>>
>     >         *Resent-To: *<jescia.chenxia@huawei.com
>     >         <mailto:jescia.chenxia@huawei.com>>, <bin_wen@cable.comcast.com
>     >         <mailto:bin_wen@cable.comcast.com>>, <igor.bryskin@huawei.com
>     >         <mailto:igor.bryskin@huawei.com>>, <vbeeram@juniper.net
>     >         <mailto:vbeeram@juniper.net>>, <xufeng.liu.ietf@gmail.com
>     >         <mailto:xufeng.liu.ietf@gmail.com>>, <rgandhi@cisco.com
>     >         <mailto:rgandhi@cisco.com>>, <skraza@cisco.com
>     >         <mailto:skraza@cisco.com>>, Tarek Saad <tsaad@cisco.com
>     >         <mailto:tsaad@cisco.com>>, <raqib@brocade.com
>     >         <mailto:raqib@brocade.com>>
>     >         *Resent-Date: *Friday, December 23, 2016 at 12:59 PM
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >         *From: *Rtg-dt-yang-arch <rtg-dt-yang-arch-bounces@ietf.org
>     >         <mailto:rtg-dt-yang-arch-bounces@ietf.org>> on behalf of Acee
>     >         Lindem <acee@cisco.com <mailto:acee@cisco.com>>
>     >         *Date: *Friday, December 23, 2016 at 12:52 PM
>     >         *To: *"draft-ietf-mpls-base-yang@ietf.org
>     >         <mailto:draft-ietf-mpls-base-yang@ietf.org>"
>     >         <draft-ietf-mpls-base-yang@ietf.org
>     >         <mailto:draft-ietf-mpls-base-yang@ietf.org>>
>     >         *Cc: *RTG YANG Design Team <rtg-dt-yang-arch@ietf.org
>     >         <mailto:rtg-dt-yang-arch@ietf.org>>, Loa Andersson <loa@pi.nu
>     >         <mailto:loa@pi.nu>>
>     >         *Subject: *[Rtg-dt-yang-arch] MPLS Base YANG Module
>     >
>     >
>     >
>     >             Hi Authors,
>     >
>     >
>     >
>     >             Loa asked if I would do a review of the base MPLS YANG
>     >             document. I really only have one comment and that is that
>     >             the “config false” version of interface-mpls need not be
>     >             replicated in both the rt:routing and rt:routing-state
>     >             trees. For consistency, I’d recommend removing it from
>     >             rt:routing.
>     >
>     >
>     >
>     >             I’d also ask where and when some of the MPLS operational
>     >             state will be added? The obvious examples are the ILM, FTN,
>     >             and NHLFEs.
>     >
>     >
>     >
>     >         One view is that the ILM, FTN, and NHLFEs could be provided via
>     >         an augmentation to the RIB…
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >             Thanks,
>     >
>     >             Acee
>     >
>     >
>     >
>     > _______________________________________________
>     > mpls mailing list
>     > mpls@ietf.org
>     > https://www.ietf.org/mailman/listinfo/mpls
>     >
>
>     --
>
>
>     Loa Andersson                        email: loa@mail01.huawei.com
>     Senior MPLS Expert                          loa@pi.nu
>     Huawei Technologies (consultant)     phone: +46 739 81 21 64
>
>

-- 


Loa Andersson                        email: loa@mail01.huawei.com
Senior MPLS Expert                          loa@pi.nu
Huawei Technologies (consultant)     phone: +46 739 81 21 64