Re: [Teas] MPLS and TE tunnels YANG data model meeting

"Tarek Saad (tsaad)" <tsaad@cisco.com> Sun, 23 October 2016 18:46 UTC

Return-Path: <tsaad@cisco.com>
X-Original-To: teas@ietfa.amsl.com
Delivered-To: teas@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 75CCC12959B for <teas@ietfa.amsl.com>; Sun, 23 Oct 2016 11:46:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.951
X-Spam-Level:
X-Spam-Status: No, score=-14.951 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.431, 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 AJ8NtweiI8qJ for <teas@ietfa.amsl.com>; Sun, 23 Oct 2016 11:46:29 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9BD99129501 for <teas@ietf.org>; Sun, 23 Oct 2016 11:46:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=70092; q=dns/txt; s=iport; t=1477248389; x=1478457989; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=jxAeRR5N/kIrnhOR8SLUAXxQ4oVMxc5IIZqHZNhlZjk=; b=FCNDIuxXPJJQKccf/27NAlredSlJ2or0+jTDNx+BbIvzrJlqyF8bcS5w NeEqF8V2merGse7s5a/4KonfVv5bfJSEnIK1zT/kXlwAAeTHDfcs2BuuC FNCFelMTpcPM7qIJRHoZQ5dZFIGlZRd7wGCWi3SLj93+zpKci8fFkJfnW I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CRAQATBQ1Y/4ENJK1TCRoBAQEBAgEBAQEIAQEBAYJ0NgEBAQEBHVh9B40tlnyHXopSgg+CB4JGAYNaAhqBTD8UAQIBAQEBAQEBYiiEYgEBAQQaCVEFEAIBCBEDAQIhAQkCAgIfER0IAQEEAQ0FiDgDF7U2iHUNg3cBAQEBAQEBAQEBAQEBAQEBAQEBAQEchj2BfQiCUIJHgVkEQxiCTCyCLwWOSYVuhSg1AYx5gxmBboRtiSeHF4FVhBqEAAEeNl6FAnIBhVyBLoEAAQEB
X-IronPort-AV: E=Sophos;i="5.31,390,1473120000"; d="scan'208,217";a="337395252"
Received: from alln-core-9.cisco.com ([173.36.13.129]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 23 Oct 2016 18:46:28 +0000
Received: from XCH-RTP-016.cisco.com (xch-rtp-016.cisco.com [64.101.220.156]) by alln-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id u9NIkRAv027483 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Sun, 23 Oct 2016 18:46:28 GMT
Received: from xch-rtp-001.cisco.com (64.101.220.141) by XCH-RTP-016.cisco.com (64.101.220.156) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Sun, 23 Oct 2016 14:46:27 -0400
Received: from xch-rtp-001.cisco.com ([64.101.220.141]) by XCH-RTP-001.cisco.com ([64.101.220.141]) with mapi id 15.00.1210.000; Sun, 23 Oct 2016 14:46:26 -0400
From: "Tarek Saad (tsaad)" <tsaad@cisco.com>
To: "Zhangxian (Xian)" <zhang.xian@huawei.com>, "Chenxia (D)" <jescia.chenxia@huawei.com>, Himanshu Shah <hshah@ciena.com>, "Wen, Bin" <Bin_Wen@cable.comcast.com>, Vishnu Pavan Beeram <vbeeram@juniper.net>, Raqib Jones <raqib@Brocade.com>, "Rakesh Gandhi (rgandhi)" <rgandhi@cisco.com>, "Kamran Raza (skraza)" <skraza@cisco.com>, "xufeng.liu.ietf@gmail.com" <xufeng.liu.ietf@gmail.com>, Igor Bryskin <Igor.Bryskin@huawei.com>, Paweł Brzozowski <PBrzozowski@advaoptical.com>, "Belotti, Sergio (Nokia - IT)" <sergio.belotti@nokia.com>
Thread-Topic: MPLS and TE tunnels YANG data model meeting
Thread-Index: AdGsbu7/38wJcuvMEE6orGReyfkjWR/BXljAAHpWcwA=
Date: Sun, 23 Oct 2016 18:46:26 +0000
Message-ID: <F6F8D4C3-8CEA-40E5-8652-C354C521873D@cisco.com>
References: <8146a57206a240faa470ea5c63c7c90e@XCH-RTP-001.cisco.com> <C636AF2FA540124E9B9ACB5A6BECCE6B7DF4BAE8@SZXEMA512-MBS.china.huawei.com>
In-Reply-To: <C636AF2FA540124E9B9ACB5A6BECCE6B7DF4BAE8@SZXEMA512-MBS.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.1a.0.160910
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.86.245.137]
Content-Type: multipart/alternative; boundary="_000_F6F8D4C38CEA40E58652C354C521873Dciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/teas/dreVzHJGi5nH_Qu5dN2Vx86Szlc>
Cc: "Belotti, Sergio (Nokia - IT)" <sergio.belotti@nokia.com>, Xufeng Liu <xliu@kuatrotech.com>, Paweł Kaczmarek <PKaczmarek@advaoptical.com>, "teas@ietf.org" <teas@ietf.org>, Anurag Sharma <AnSharma@infinera.com>
Subject: Re: [Teas] MPLS and TE tunnels YANG data model meeting
X-BeenThere: teas@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Traffic Engineering Architecture and Signaling working group discussion list <teas.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/teas>, <mailto:teas-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/teas/>
List-Post: <mailto:teas@ietf.org>
List-Help: <mailto:teas-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/teas>, <mailto:teas-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 23 Oct 2016 18:46:33 -0000

Thank you Xian and Sergio for your review and comments. Pasting your notes below and responding to them inline. Let me know if you have further comments on them.

Comments
** 1)There is nothing related to latency/delay in the metric.
[TS]: There are provisions for what metric to optimize (TE or IGP). Traditionally, the TE metric is used for latency. Is that not enough in your opinion?
      |  |  +--rw named-constraints* [name] {te-types:named-path-constraints}?
      |  |  |  +--rw name                               string
      |  |  |  +--rw path-constraints
      |  |  |  |  +--rw topology-id?       te-types:te-topology-id
      |  |  |  |  +--rw cost-limit?        uint32
      |  |  |  |  +--rw hop-limit?         uint8
      |  |  |  |  +--rw metric-type?       identityref
      |  |  |  |  +--rw tiebreaker-type?   identityref
      |  |  |  |  +--rw ignore-overload?   boolean

** 2) it seems to me there is some mix of metric and objective function. For Objective function why do not refer to what described in RFC 5541 sec. 4 ?
[TS]: Yes, RFC5541 contains more elaborate OFs and metric-types that we can extend to cover. Let’s discuss in next meeting if this needs to be in TE base (I doubt many vendors support all the OFs).
BTW, the objective function (MCP) and which metric to optimize for can be selected on per path using path-metric constraint:

      |  |  |  |  |  +--ro path-constraints
      |  |  |  |  |  |  +--ro topology-id?       te-types:te-topology-id
      |  |  |  |  |  |  +--ro cost-limit?        uint32
      |  |  |  |  |  |  +--ro hop-limit?         uint8
      |  |  |  |  |  |  +--ro metric-type?       identityref
      |  |  |  |  |  |  +--ro tiebreaker-type?   identityref
      |  |  |  |  |  |  +--ro ignore-overload?   boolean
      |  |  |  |  |  |  +--ro path-affinities {named-path-affinities}?
      |  |  |  |  |  |  |  +--ro (style)?
      |  |  |  |  |  |  |     +--:(values)
      |  |  |  |  |  |  |     |  +--ro value?         uint32
      |  |  |  |  |  |  |     |  +--ro mask?          uint32
      |  |  |  |  |  |  |     +--:(named)
      |  |  |  |  |  |  |        +--ro constraints* [usage]
      |  |  |  |  |  |  |           +--ro usage         identityref
      |  |  |  |  |  |  |           +--ro constraint
      |  |  |  |  |  |  |              +--ro affinity-names* [name]
      |  |  |  |  |  |  |                 +--ro name    string


** 3) Why nothing about exclusion , topology-exclusion, path-exclusion , for path computation constraints?
[TS]: Topology inclusion is there  using the topo-id (see above) – inclusion and exclusion can be on per ERO or affinities/SRLG using below:

      list explicit-route-objects {
        key "index";
        description
          "List of explicit route objects";
        leaf index {
          type uint8 {
            range "0..255";
          }
          description
            "Index of this explicit route object";
        }
        leaf explicit-route-usage {
          type identityref {
            base te-types:route-usage-type;
          }
          description "An explicit-route hop action.";
        }

affinities:
       case named {
          list constraints {
            key "usage";
            leaf usage {
              type identityref {
                base resource-affinities-type;
              }

SRLGs:
        case named {
          list constraints {
            key "usage";
            leaf usage {
              type identityref {
                base route-exclude-srlg;
              }
              description "SRLG usage";
            }

exclusion/inclusions is there on per ERO.

** 4) I do not see requested bw info..
[TS]: It is in ietf-rsvp-te-mpls.yang. Let us discuss if you’d like to see it present in another model..

  grouping lsp-bandwidth_config {
    description
      "LSP bandwidth grouping";
    leaf static-bandwidth {
      type uint32;
      description
        "Static bandwidth, e.g., using
         offline calculation";
    }
    uses lsp-auto-bandwidth_config;
  }

** How to specify the following constraint?
1: I want a least hop path between A and B?
[TS]: The default IGP cost is to be equal cost on all links – so, optimizing for IGP would yield the min-hop path.. However, if explicitly needed, I’ll expand metric-type to include “hop”

2: I want a path with delay smaller than X ms or a path with minimum delay?
      |  |  |  |  |  +--ro path-constraints
      |  |  |  |  |  |  +--ro topology-id?       te-types:te-topology-id
      |  |  |  |  |  |  +--ro cost-limit?        uint32
      |  |  |  |  |  |  +--ro hop-limit?         uint8
      |  |  |  |  |  |  +--ro metric-type?       identityref

Minimum delay, you’ll select the metric-type TE to optimize when computing path.
Smaller than X msec, then you need to set cost-limit to X.

te-optimization-criterion defined in te-types.yang, but not used in ietf.te.yang
[TS]: Yes, this seems to be redundant with path-metric-type.. I’ll sync-up with Xufeng to see if we can unify into 1.
  identity path-metric-type {
    description
      "Base identity for path metric type";
  }

  identity path-metric-te {
    base path-metric-type;
    description
      "TE path metric";
  }

  identity path-metric-igp {
    base path-metric-type;
    description
      "IGP path metric";
  }

Capability current missing.
Propose to add the following constraint:
1: min-hop empty
[T]: this is not a constraint but a metric to optimize for. I’ll append the path-metric-type above to include identity path-metric-hop;

(as in state, the ability to show the actual hop)
2:delay uint32
3: min-delay empty
[TS]: the provision to select path-metric-te is already there. And setting the limit is there..


**  Current draft only mentioned NETCONF, but for controller consumption of this ietf-te.yang model, we use RESTCONF protocol. Given that RESTCONF is already in WG LC stage, could we mention this somewhere in the draft? Suggestions would be either in the Introduction section, or Section 2.2 where the controller is mentioned.
[TS]: sure. We’ll reference RESTCONF in the draft.

** 1: A flag missing to show whether it is a Loose or Strict hop? See RFC3209.
[TS]: it is already there. Please see below:
      |  |  |  |  |  |  +--:(explicit)
      |  |  |  |  |  |     +--rw explicit-path-name?       string
      |  |  |  |  |  |     +--rw explicit-route-objects* [index]
      |  |  |  |  |  |        +--rw index                   uint8
      |  |  |  |  |  |        +--rw explicit-route-usage?   identityref
      |  |  |  |  |  |        +--rw (type)?
      |  |  |  |  |  |           +--:(ipv4-address)
      |  |  |  |  |  |           |  +--rw v4-address?             inet:ipv4-address
      |  |  |  |  |  |           |  +--rw v4-prefix-length?       uint8
      |  |  |  |  |  |           |  +--rw v4-loose?               boolean


** 2: In optical network, directionality of a termination point is also needed.  For example, a loose hop as NE1/TP1 (ingress), is very different from a loose hop as NE1/TP1 (egress). Is this requirement common to both packet and optical?
[TS]: the process of processing incoming PATH ERO and modifying the outgoing ERO is defined in rfc3209#section-4.3.4.1 and rfc3209#section-4.3.4.2.. Does that not cover the optical use case you have above? If not can you clarify?

** How can the following two functions supported?
** 1: For a transport tunnel, we need to specify whether a tunnel is revertive or not. Reversion means that the original path will not be torn down and the service can roll back to this path if necessary.  Is it something common?
** SB> agree on the comment
[TS]: we need to discuss if this is a base functionality that we’ll support or specific to optical. In either case, yes, this mode will still need to be defined.

** 2: We need to the model be able to allow the client to specify if the controller can do a reversion or not, by specifying a reversion-lock attribute. Is it something common?
** SB> Agree is like a policy for reversion normally used in transport .
[TS]: There’s a “delegation information” that can be defined for PCE-controlled tunnel.. However, I agree it has to be generic enough to cover (non-PCE) centrally controlled tunnels. We can discuss this in next meeting.

** 3: Another function we need is to manual switch from one path to another for a tunnel.  For example, in 1:1 case, even though there is no failure, a client can ask the controller to switch the traffic from the working to protection path, so that some maintenance work can be ** done on the working path.  Can it be supported by the existing te model?
** SB> Agree .need to have it if common.
[TS]: There are 2 ways I expect this can be done: 1) Voluntarily by the TE device (periodically or based on update of topology event), the device would evaluate tunnel is placed on the more preferred path (based on preference), 2) Triggered immediately by the operator. The latter I expect an RPC (yet to be defined) to trigger this. I’ll try to have something for next week to discuss.

** How is preference used?
** Can it used to support the requirement to specify the priority of restoration? Say if tunnel x, y and z fail, the one with higher priority will be rerouted first.
** SB> good point to raise
[TS]: tunnel/LSP priority is separate from path preference.. Path preference is taken into consideration when evaluating which path to pick from multiple configured for same tunnel.

** When this model is consumed by a controller to talk with a northbound client (say: a multi-domain orchestrator), the client DOES NOT care where and how controller get this information. So the origin-type and the constraint written in the code is not needed.
** Suggestion: removing the origin-type and the when conditional statement.
** SB: agree on the comment and suggestion
[TS]: we discussed that controller will usually contains ingress LSP information only (as is the case, e.g. in PCE world). Let’s discuss the usecase you have in mind.

** Oper-status vs. lsp-operational-status: these two are a bit too close, how about re-naming the second to carry-normal-traffic?
[TS]: Looking into this.

The impact of schema mount:
Does schema mount allow to augment the new leafs to the existing subtree within the ietf-te.yang? For example: there are more objective functions I would like to add in the path-constraints. How to do that?
SB> good point to address for clarification
[TS]: Yes, I expect schema mount will continue to allow augmentation of the mounted model.. As long as the target path to be augmented can be relatively defined..

Regards,
Tarek


From: "Zhangxian (Xian)" <zhang.xian@huawei.com>
Date: Friday, October 21, 2016 at 5:00 AM
To: Tarek Saad <tsaad@cisco.com>, "Chenxia (D)" <jescia.chenxia@huawei.com>, Himanshu Shah <hshah@ciena.com>, "Wen, Bin" <Bin_Wen@cable.comcast.com>, Vishnu Pavan Beeram <vbeeram@juniper.net>, Raqib Jones <raqib@Brocade.com>, "Rakesh Gandhi (rgandhi)" <rgandhi@cisco.com>, "Kamran Raza (skraza)" <skraza@cisco.com>, "xufeng.liu.ietf@gmail.com" <xufeng.liu.ietf@gmail.com>, Igor Bryskin <Igor.Bryskin@huawei.com>, Paweł Brzozowski <PBrzozowski@advaoptical.com>
Cc: Xufeng Liu <xliu@kuatrotech.com>, Paweł Kaczmarek <PKaczmarek@advaoptical.com>, "Belotti, Sergio (Nokia - IT)" <sergio.belotti@nokia.com>, Anurag Sharma <AnSharma@infinera.com>
Subject: Re: MPLS and TE tunnels YANG data model meeting

Hi, Tarek, All,

We do have some questions that we think should be discussed before a new version is posted. Please see the attached document for the questions that we have.

If you could consider how to address them directly in the YANG code update, that would be great. But if you see more discussions are needed, could we please discuss over emails? It would be much appreciated if they can be addressed in this update.


Regards,
Xian