Re: [Teas] Structure of draft-ietf-mpls-static-yang

"Tarek Saad (tsaad)" <> Wed, 14 November 2018 14:24 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EBD0F130E8F; Wed, 14 Nov 2018 06:24:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.97
X-Spam-Status: No, score=-14.97 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id K_S53jm6ir_B; Wed, 14 Nov 2018 06:24:27 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id EC0C4130E83; Wed, 14 Nov 2018 06:24:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=9994; q=dns/txt; s=iport; t=1542205467; x=1543415067; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=38MfWliOGUf0tT78O07mbhSYVCviawkGEAsf6U0R1nQ=; b=Ookpv2g27r5AtysGn8nqFDB9oS9NM1GOhQtvrqucovbtD2tor/wPgs21 EVx3ByjY/QALhKitJWoEDI2BGIfamiPU3gzIrzzrKzLYZcs8DdB2y9EbC FbO5xM3G+o1OHKghmPOQUOVqe6UQIvHvqaD+kTw4shY7lqxZwAkQ0DJvw E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ADAADuLuxb/5tdJa1ZCRkBAQEBAQE?= =?us-ascii?q?BAQEBAQEHAQEBAQEBgVEEAQEBAQELAYIDgWgnCoNuiBiLeYINlzaBegsBAYR?= =?us-ascii?q?sAheDMSI0DQ0BAwEBAgEBAm0ohToBAQEDASMRMxIMBAIBCBEDAQEBAwImAgI?= =?us-ascii?q?CMBUICAIEAQ0FgyGBegioCoEviiyBC4p6F4FAP4EQAScfgkyEVAMnJoJeMYI?= =?us-ascii?q?mAolBhUiQVQkCkSAYkHWUVIMGAhEUgSYfOIFVcBVlAYJBgicXjhxBMYsagS6?= =?us-ascii?q?BHwEB?=
X-IronPort-AV: E=Sophos;i="5.56,232,1539648000"; d="scan'208";a="471165712"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Nov 2018 14:24:25 +0000
Received: from ( []) by (8.15.2/8.15.2) with ESMTPS id wAEEOONx005341 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 14 Nov 2018 14:24:25 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 14 Nov 2018 09:24:24 -0500
Received: from ([]) by ([]) with mapi id 15.00.1395.000; Wed, 14 Nov 2018 09:24:24 -0500
From: "Tarek Saad (tsaad)" <>
To: tom petch <>, mpls <>, "" <>, "" <>
CC: "" <>
Thread-Topic: Structure of draft-ietf-mpls-static-yang
Thread-Index: AQHUe02zLoXhPVZ4oEewoTF89DwZ8aVPVN6A
Date: Wed, 14 Nov 2018 14:24:24 +0000
Message-ID: <>
References: <> <03b001d3a714$5e08dce0$> <> <001001d4767d$62fb1a40$> <00c901d478f6$25a75c00$> <060801d47b4d$730cbd60$> <> <006d01d47b74$cde44920$>
In-Reply-To: <006d01d47b74$cde44920$>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Teas] Structure of draft-ietf-mpls-static-yang
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Traffic Engineering Architecture and Signaling working group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 14 Nov 2018 14:24:30 -0000

+ draft-ietf-ospf-yang authors
+ teas alias to comment on the utility of TE router-ID in the OSPF YANG model for other non-MPLS technologies too.

Hi Tom,


-----Original Message-----
From: tom petch <>
Date: Tuesday, November 13, 2018 at 12:19 PM
To: Tarek Saad <>om>, mpls <>
Cc: "" <>
Subject: Re: Structure of  draft-ietf-mpls-static-yang

    ----- Original Message -----
    From: "Tarek Saad (tsaad)" <>
    Sent: Tuesday, November 13, 2018 4:31 PM
    > Hi Tom,
    > Thanks. To me, RIP/OSPF/PIM/BGP are all control plane protocols and
    would think should exist below /routing/control-plane-protocols.
    > MPLS on the contrary is a forwarding augmentation to existing V4/V6
    routing table(s) (which are already defined at path
    /routing/ribs/rib/routes/route/next-hop ) - the MPLS augmentation
    carries additional mpls specific data.
    > There are signaling control plane protocols specific to exchange MPLS
    labels (e.g. RSVP-TE, LDP) which I expect will exist at
    /routing/control-plane-protocols/control-plane-protocol (e.g.
    Yes, so BGP is out of line, but that is a problem for another WG.
    The MPLS quirks are IMHO twofold.
    Why define an address family?  I always think of AFI/SAFI when someone
    says address family and I do not see MPLS figuring in that context.
[TS]: MPLS can augment routes in the V4/V6 AFI routing tables defined in RFC8349. However, there are other type of MPLS routes (cross-connects) that are not associated with an IP prefix or an AFI defined in RFC8349. Examples of such routes can be RSVP-LSP labels/cross-connects, per L2 or L3 VRF de-aggregation labels, etc.).. Such routes will exist in the new MPLS AFI table.
    Second, what are MPLS and MPLStunnel doing in the Interface Table?  Ok,
    they are a carry over from the MIB but do they have any role here?
[TS]: currently, this is enabling MPLS on the specific (sub)set of interfaces and setting minimal set of attributes - e.g. MPLS MTU.
    I am fishing for some 'when' (or if-feature) statements alongside the
    to make the augment conditional (although perhaps not as many as TEAS
    created:-).  Instinctively I feel there should be something as e.g. OSPF
    has although accepting your point about MPLS not being a protocol; but
    then mpls-ldp is a protocol but has no conditionals that I can see.
[TS]: I think the assumption was MPLS is a base functionality that most router vendors will support - so we've avoided an if-feature check. However, I can see that some devices may not support MPLS (or may not turn MPLS), so we can look into adding a when or feature check to control augments to external YANG models. For MPLS LDP, yes, I think they can add the same for signaling MPLS. However, I am aware LDP protocol can be used for non-MPLS signaling too (e.g. ICCP) - so the LDP YANG modeling team may need to look at what augments can be controlled/associated with MPLS.
    At a slight tangent, I see in OSPF and others references such as
           container mpls {
             description "OSPF MPLS config state.";
             container te-rid {
               if-feature te-rid;
    ie conditional but not on MPLS per se.

[TS]: Yes, although traditionally enabled for MPLS-TE, the TE router-ID can apply to non-MPLS technologies too (e.g. for GMPLS OTN, etc.).. IMO, Ideally this would not need to exist under mpls container.. We may need to raise this with OSPF team.

    Tom Petch
    > Regards,
    > Tarek
    > -----Original Message-----
    > From: tom petch <>
    > Date: Tuesday, November 13, 2018 at 7:37 AM
    > To: Tarek Saad <>om>, mpls <>
    > Cc: ""
    > Subject: Structure of  draft-ietf-mpls-static-yang
    >     I wonder if the IETF has yet worked out how to model routing
    >     I asked, what is MPLS?  Looking at various modules, I see
    >     RIP
    >          augment
    >            +--rw rip
    >               +--rw interfaces
    >     OSPF
    >          augment
    >            +--rw ospf
    >               +--rw areas
    >               |  +--rw area* [area-id]
    >               |     +--rw interfaces
    >     the other IxxxGP
    >       module: ietf-ixxx
    >         augment /routing/ribs/rib/routes/route:
    >           +--ro route-type?   enumeration
    >         augment /interfaces/interface:
    >           +--rw clns-mtu?   uint16
    >         augment
    >           +--rw ixxx
    >              +--rw enable?                   boolean {admin-control}?
    >              +--rw system-id?                system-id
    >              +--rw area-address*             area-address
    >     BGP
    >          augment "/routing-policy/defined-sets"
    >         module ietf-bgp {
    >                +--rw bgp!
    >                  +--rw global
    >                     +--rw afi-safis
    >                        +--rw afi-safi* [afi-safi-name]
    >                           +--rw ipv4-unicast
    >                           +--rw ipv6-unicast
    >                           +--rw l3vpn-ipv4-unicast
    >     PIM
    >     module: ietf-pim-base
    >          augment /routing/control-plane-protocols:
    >            +--rw pim!
    >               +--rw address-family* [address-family]
    >               |  +--rw address-family        identityref
    >               |  +--rw <per address family configuration>
    >               +--rw interfaces
    >                  +--rw interface* [name]
    >                     +--rw name              if:interface-ref
    >                     +--rw address-family* [address-family]
    >     MPLS
    >     module: ietf-mpls
    >       augment /rt:routing:
    >         +--rw mpls
    >       augment /routing/ribs/rib/routes/:route:
    >         +--ro local-label?   rt-types:mpls-label
    >       augment
    >     :
    >      ....
    >       identity mpls { base address-family;
    >     Different! which is right?  Perhaps none of them.  It is very
    early days
    >     for routing YANG modules, no RFC, limited experience.  I am
    mindful that
    >     it took several years after the publication of the initial system
    >     modules for the advent of NDMA - a radically different approach -
    >     perhaps in a few years we will be looking at the routing modules
    and say
    >     it needs a different approach.  Sigh
    >     Tom Petch