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

"Tarek Saad (tsaad)" <> Tue, 13 November 2018 16:31 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 40A701298C5; Tue, 13 Nov 2018 08:31:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.971
X-Spam-Status: No, score=-14.971 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, 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 gi_20XFloiqU; Tue, 13 Nov 2018 08:31:49 -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 4F06B128A6E; Tue, 13 Nov 2018 08:31:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=4932; q=dns/txt; s=iport; t=1542126709; x=1543336309; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=hElk3QA9zAAV4FAdb+VAObyv3UjRvv/mDlOEaN8H8xU=; b=li8XWyYGdYN9QC4NRwkKqJtKZ9lSE/Ov0ruZgGP7Iyry0WFV9uA1Bndb AWW2GwaF0vRsH4KTixtSIEgjaPVD/KuYwIWUedQYjqmnTUNFPklwoj+Fk 8CCBNPMGPQbh5sOfK/kiInEt2kiboG2zcA6AW44/rVQwJD+Bt/idf3cql A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.56,228,1539648000"; d="scan'208";a="481009972"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2018 16:31:27 +0000
Received: from ( []) by (8.15.2/8.15.2) with ESMTPS id wADGVRbF030823 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 13 Nov 2018 16:31:27 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 13 Nov 2018 11:31:26 -0500
Received: from ([]) by ([]) with mapi id 15.00.1395.000; Tue, 13 Nov 2018 11:31:26 -0500
From: "Tarek Saad (tsaad)" <>
To: tom petch <>, mpls <>
CC: "" <>
Thread-Topic: Structure of draft-ietf-mpls-static-yang
Thread-Index: AQHUe02zLoXhPVZ4oEewoTF89DwZ8aVN5gcA
Date: Tue, 13 Nov 2018 16:31:26 +0000
Message-ID: <>
References: <> <03b001d3a714$5e08dce0$> <> <001001d4767d$62fb1a40$> <00c901d478f6$25a75c00$> <060801d47b4d$730cbd60$>
In-Reply-To: <060801d47b4d$730cbd60$>
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: [mpls] Structure of draft-ietf-mpls-static-yang
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 13 Nov 2018 16:31:51 -0000

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. draft-ietf-teas-yang-rsvp)


-----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 protocols.
    I asked, what is MPLS?  Looking at various modules, I see
         augment /routing/control-plane-protocols/control-plane-protocol:
           +--rw rip
              +--rw interfaces
         augment /routing/control-plane-protocols/control-plane-protocol:
           +--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 /routing/control-plane-protocols/:control-plane-protocol:
          +--rw ixxx
             +--rw enable?                   boolean {admin-control}?
             +--rw system-id?                system-id
             +--rw area-address*             area-address
         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
    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]
    module: ietf-mpls
      augment /rt:routing:
        +--rw mpls
      augment /routing/ribs/rib/routes/:route:
        +--ro local-label?   rt-types:mpls-label
      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 YANG
    modules for the advent of NDMA - a radically different approach - so
    perhaps in a few years we will be looking at the routing modules and say
    it needs a different approach.  Sigh
    Tom Petch