<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.14 (Ruby 2.7.0) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dhody-teas-te-traffic-yang-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="Traffic-TE-YANG">Traffic Mapping YANG model for Traffic Engineering (TE)</title>
    <seriesInfo name="Internet-Draft" value="draft-dhody-teas-te-traffic-yang-02"/>
    <author initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <code>560066</code>
          <country>IN</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <date/>
    <area>Routing</area>
    <workgroup>TEAS Working Group</workgroup>
    <abstract>
      <t>This document provides a YANG data model to map traffic to Traffic Engineering (TE) paths. This model providers operator a seamless control and management of which traffic to send on the underlying TE resources.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Data models are a representation of objects that can be configured or monitored within a system.  Within the IETF, YANG <xref target="RFC7950"/> is the language of choice for documenting data models, and YANG models have been produced to allow configuration or modeling of a variety of network devices, protocol instances, and network services.</t>
      <t>There are various YANG models to establish paths in the network, such as:</t>
      <ul spacing="normal">
        <li>TE Tunnels <xref target="I-D.ietf-teas-yang-te"/></li>
        <li>Segment Routing (SR) Policy <xref target="I-D.ietf-spring-sr-policy-yang"/></li>
        <li>Service Function Chaining (SFC)</li>
        <li>Virtual Network (VN)</li>
        <li>IETF Network Slice</li>
      </ul>
      <t>These models do not include an exact mechanism to describe the traffic that needs to be mapped to the paths. Thus an operator lacks a way to simply use the YANG model to tell requirements such as the traffic from source X on port Y should go on a TE path with delay less than Z. The YANG model defined in this document fills this gap.</t>
      <t>To achieve this goal, the YANG model defined in this document utilizes the concept borrowed from:</t>
      <ul spacing="normal">
        <li>BGP FlowSpec: Where the description of traffic flows is done by the combination of multiple Flow Specification Components and their dissemination as traffic flow specifications (Flow Specifications) is described for BGP in <xref target="RFC8955"/>.  In BGP, a Flow Specification is comprised of traffic filtering rules and is associated with actions to perform on the packets that match the Flow Specification.  The BGP routers that receive a Flow Specification can classify received packets according to the traffic filtering rules and can direct packets based on the associated actions.</li>
        <li>Path Computation Element (PCE) FlowSpec: Extends the idea to PCE Communication Protocol (PCEP) <xref target="RFC9168"/>.</li>
        <li>Access Control List (ACL): A basic elements used to configure device-forwarding behavior in form of a user-ordered set of rules that is used to filter traffic on a networking device.  Each rule is represented by an Access Control Entry (ACE). Each ACE has a group of match criteria and a group of actions <xref target="RFC8519"/>.</li>
      </ul>
      <t>The YANG model includes two key concepts:</t>
      <ul spacing="normal">
        <li>Traffic Description: The various fields that needs to be matched to identify a traffic flow.</li>
        <li>Action: The associated action that needs to be taken. For the purpose of this YANG model the action is to simply point to the TE resource in form of the TE tunnel, SR Policy etc.</li>
      </ul>
      <t>Note: The RFC Editor will replace XXXX with the number assigned to the RFC once this draft becomes an RFC.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <section anchor="tree-diagrams">
        <name>Tree Diagrams</name>
        <t>A simplified graphical representation of the data model is used in this document.  The meaning of the symbols in these diagrams is defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="prefixes-in-data-node-names">
        <name>Prefixes in Data Node Names</name>
        <t>In this document, names of data nodes and other data model objects are often used without a prefix, as long as it is clear from the context in which YANG module each name is defined.  Otherwise, names are prefixed using the standard prefix associated with the corresponding YANG module, as shown in Table 1.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="center">YANG module</th>
              <th align="right">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">inet</td>
              <td align="center">ietf-inet-types</td>
              <td align="right">
                <xref target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">yang</td>
              <td align="center">ietf-yang-types</td>
              <td align="right">
                <xref target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">te</td>
              <td align="center">ietf-te</td>
              <td align="right">
                <xref target="I-D.ietf-teas-yang-te"/></td>
            </tr>
            <tr>
              <td align="left">rt</td>
              <td align="center">ietf-routing</td>
              <td align="right">
                <xref target="RFC8349"/></td>
            </tr>
            <tr>
              <td align="left">sr-policy</td>
              <td align="center">ietf-sr-policy</td>
              <td align="right">
                <xref target="I-D.ietf-spring-sr-policy-yang"/></td>
            </tr>
            <tr>
              <td align="left">ietf-nss</td>
              <td align="center">ietf-network-slice-service</td>
              <td align="right">
                <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/></td>
            </tr>
            <tr>
              <td align="left">acl</td>
              <td align="center">ietf-access-control-list</td>
              <td align="right">
                <xref target="RFC8519"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="references-in-the-model">
        <name>References in the Model</name>
        <t>Following documents are referenced in the model defined in this document -</t>
        <table>
          <thead>
            <tr>
              <th align="left">Document</th>
              <th align="center">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">YANG Data Model for Network Access Control Lists (ACLs)</td>
              <td align="center">
                <xref target="RFC8519"/></td>
            </tr>
            <tr>
              <td align="left">A YANG Data Model for Traffic Engineering Tunnels and Interfaces</td>
              <td align="center">
                <xref target="I-D.ietf-teas-yang-te"/></td>
            </tr>
            <tr>
              <td align="left">YANG Data Model for Segment Routing Policy</td>
              <td align="center">
                <xref target="I-D.ietf-spring-sr-policy-yang"/></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="discussion-items">
      <name>Discussion Items</name>
      <t>For describing the traffic, currently the YANG models uses:</t>
      <ul spacing="normal">
        <li>The match criteria grouping from the <xref target="I-D.ietf-teas-ietf-network-slice-nbi-yang"/>. If this document gets WG backing, then it might be a good idea to move the grouping to this document instead.</li>
        <li>The ACL Name. Should that be ACE instead?</li>
        <li>The match action granularity in case of IETF network slice and VN needs to be discussed.</li>
        <li>The match action for SFC is not handled yet.</li>
      </ul>
    </section>
    <section anchor="tree-structure">
      <name>Tree Structure</name>
      <sourcecode type="Tree"><![CDATA[
module: ietf-traffic-map
  +--rw traffic-map
     +--rw maps* [id]
        +--rw id         string
        +--rw traffic
        |  +--rw id?                      string
        |  +--rw (type)?
        |     +--:(match-criteria)
        |     |  +--rw match-criterion* [index]
        |     |     +--rw index         uint32
        |     |     +--rw match-type    identityref
        |     |     +--rw value*        string
        |     +--:(acl)
        |     |  +--rw acl?               -> /acl:acls/acl/name
        |     +--:(flowspec)
        |     +--:(other)
        +--rw action
        |  +--rw te-tunnel*   te:tunnel-ref
        |  +--rw sr-policy*
        |  |       [headend policy-color-ref policy-endpoint-ref]
        |  |  +--rw headend                inet:ip-address-no-zone
        |  |  +--rw policy-color-ref       leafref
        |  |  +--rw policy-endpoint-ref    leafref
        |  +--rw other
        +--ro stats
           +--ro matched-packets?   yang:counter64
           +--ro matched-octets?    yang:counter64


]]></sourcecode>
    </section>
    <section anchor="yang-model">
      <name>YANG Model</name>
      <sourcecode type="YANG"><![CDATA[
<CODE BEGINS> file "ietf-traffic-map@2022-07-11.yang"
module ietf-traffic-map {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-traffic-map";
  prefix tm;

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-te {
    prefix te;
    reference
      "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
       Engineering Tunnels and Interfaces";
  }
  import ietf-routing {
    prefix rt;
    reference
      "RFC8349: A YANG Data Model for Routing Management";
  }
  import ietf-sr-policy {
    prefix sr-policy;
    reference
      "I-D.ietf-spring-sr-policy-yang: YANG Data Model for Segment
       Routing Policy";
  }
  import ietf-network-slice-service {
    prefix ietf-nss;
    reference
      "I-D.ietf-teas-ietf-network-slice-nbi-yang: IETF
       Network Slice Service YANG Model";
  }
  import ietf-access-control-list {
    prefix acl;
    reference
      "RFC8519: YANG Data Model for Network Access Control
       Lists (ACLs)";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:  <https://datatracker.ietf.org/wg/teas/about/>
     WG List:  <mailto:teas@ietf.org>
     Editor: Dhruv Dhody <dhruv.ietf@gmail.com>";
  description
    "This module contains a YANG module to map traffic to
     Traffic Engineering (TE) paths.

     Copyright (c) 2022 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";

  revision 2022-07-11 {
    description
      "initial version.";
    reference
      "RFC XXXX: Traffic Mapping YANG model for Traffic
       Engineering (TE)";
  }

  grouping traffic-description {
    description
      "The traffic description";
    leaf id {
      type string;
      description
        "The identifier for Traffic Description";
    }
    choice type {
      description
        "The various ways the traffic can be described";
      case match-criteria {
        description
          "Use the match criteria";
        list match-criterion {
          key "index";
          description
            "List of traffic match criteria.";
          leaf index {
            type uint32;
            description
              "The entry index.";
          }
          leaf match-type {
            type identityref {
              base ietf-nss:service-match-type;
            }
            mandatory true;
            description
              "Identifies an entry in the list of the
               match criteria.";
          }
          leaf-list value {
            type string;
            description
              "Describes the slice service match criteria, e.g.
               IP address, VLAN, etc.";
          }
        }
      }
      case acl {
        description
          "Reference to ACL";
        leaf acl {
          type leafref {
            path "/acl:acls/acl:acl/acl:name";
          }
          description
            "The ACL Name. The action part of the ACL is not
             used.";
          reference
            "RFC8519: YANG Data Model for Network Access Control
             Lists (ACLs)";
        }
      }
      case flowspec {
        description
          "Based on FlowSpec component type - TODO";
      }
      case other {
        description
          "TODO";
      }
    }
  }

  grouping te-ref {
    description
      "Reference to TE paths";
    leaf-list te-tunnel {
      type te:tunnel-ref;
      description
        "Reference to TE Tunnels";
      reference
        "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
         Engineering Tunnels and Interfaces";
    }
    list sr-policy {
      key "headend policy-color-ref policy-endpoint-ref";
      description
        "SR Policy";
      reference
        "I-D.ietf-spring-sr-policy-yang: YANG Data Model for
         Segment Routing Policy";
      /*Headend needs to be added*/
      leaf headend {
        type inet:ip-address-no-zone;
        description
          "SR Policy headend";
      }
      leaf policy-color-ref {
        type leafref {
          path
            "/rt:routing/sr-policy:segment-routing"
          + "/sr-policy:traffic-engineering/sr-policy:policies"
          + "/sr-policy:policy/sr-policy:color";
        }
        description
          "Reference to sr-policy color";
      }
      leaf policy-endpoint-ref {
        type leafref {
          path
            "/rt:routing/sr-policy:segment-routing"
          + "/sr-policy:traffic-engineering/sr-policy:policies"
          + "/sr-policy:policy/sr-policy:endpoint";
        }
        description
          "Reference to sr-policy endpoint";
      }
    }
    container other {
      description
        "To dp - VN, IETF Network Slice, SFC etc";
    }
  }

  /* Configuration data nodes */

  container traffic-map {
    description
      "AP configurations";
    list maps {
      key "id";
      description
        "traffic map identifier";
      leaf id {
        type string;
        description
          "The identifier for Traffic Maps";
      }
      container traffic {
        description
          "The traffic description";
        uses traffic-description;
      }
      container action {
        description
          "The action is limited to identifying the TE resource";
        uses te-ref;
      }
      container stats {
        config false;
        description
          "Statistics";
        leaf matched-packets {
          type yang:counter64;
          description
            "The number of packets that matched the traffic
             description";
        }
        leaf matched-octets {
          type yang:counter64;
          description
            "The number of octets (byte) that matched the traffic
             description";
        }
      }
    }
  }
}


<CODE ENDS>
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to make the following allocation for the URIs in the "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
   --------------------------------------------------------------------
   URI: urn:ietf:params:xml:ns:yang:ietf-traffic-map
   Registrant Contact: The IESG.
   XML: N/A, the requested URI is an XML namespace.
   --------------------------------------------------------------------
]]></artwork>
      <t>IANA is requested to make the following allocation for the YANG module in the "YANG Module Names" registry <xref target="RFC6020"/>:</t>
      <artwork><![CDATA[
   --------------------------------------------------------------------
   name:         ietf-traffic-map
   namespace:    urn:ietf:params:xml:ns:yang:ietf-traffic-map
   prefix:       tm
   reference:    RFC XXXX
   --------------------------------------------------------------------
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/rfc3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling">
              <organization/>
            </author>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC6991" target="https://www.rfc-editor.org/info/rfc6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder">
              <organization/>
            </author>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language.  This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8340" target="https://www.rfc-editor.org/info/rfc8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger">
              <organization/>
            </author>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams.  The purpose of this document is to provide a single location for this definition.  This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC8349" target="https://www.rfc-editor.org/info/rfc8349">
          <front>
            <title>A YANG Data Model for Routing Management (NMDA Version)</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka">
              <organization/>
            </author>
            <author fullname="A. Lindem" initials="A." surname="Lindem">
              <organization/>
            </author>
            <author fullname="Y. Qu" initials="Y." surname="Qu">
              <organization/>
            </author>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document specifies three YANG modules and one submodule. Together, they form the core routing data model that serves as a framework for configuring and managing a routing subsystem.  It is expected that these modules will be augmented by additional YANG modules defining data models for control-plane protocols, route filters, and other functions.  The core routing data model provides common building blocks for such extensions -- routes, Routing Information Bases (RIBs), and control-plane protocols.</t>
              <t>The YANG modules in this document conform to the Network Management Datastore Architecture (NMDA).  This document obsoletes RFC 8022.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8349"/>
          <seriesInfo name="DOI" value="10.17487/RFC8349"/>
        </reference>
        <reference anchor="RFC8519" target="https://www.rfc-editor.org/info/rfc8519">
          <front>
            <title>YANG Data Model for Network Access Control Lists (ACLs)</title>
            <author fullname="M. Jethanandani" initials="M." surname="Jethanandani">
              <organization/>
            </author>
            <author fullname="S. Agarwal" initials="S." surname="Agarwal">
              <organization/>
            </author>
            <author fullname="L. Huang" initials="L." surname="Huang">
              <organization/>
            </author>
            <author fullname="D. Blair" initials="D." surname="Blair">
              <organization/>
            </author>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document defines a data model for Access Control Lists (ACLs). An ACL is a user-ordered set of rules used to configure the forwarding behavior in a device.  Each rule is used to find a match on a packet and define actions that will be performed on the packet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8519"/>
          <seriesInfo name="DOI" value="10.17487/RFC8519"/>
        </reference>
        <reference anchor="I-D.ietf-teas-yang-te" target="https://www.ietf.org/archive/id/draft-ietf-teas-yang-te-30.txt">
          <front>
            <title>A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths and Interfaces</title>
            <author fullname="Tarek Saad">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Rakesh Gandhi">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Xufeng Liu">
              <organization>IBM Corporation</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Igor Bryskin">
              <organization>Individual</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>   This document defines a YANG data model for the provisioning and
   management of Traffic Engineering (TE) tunnels, Label Switched Paths
   (LSPs), and interfaces.  The model covers data that is independent of
   any technology or dataplane encapsulation and is divided into two
   YANG modules that cover device-specific, and device independent data.

   This model covers data for configuration, operational state, remote
   procedural calls, and event notifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-30"/>
        </reference>
        <reference anchor="I-D.ietf-spring-sr-policy-yang" target="https://www.ietf.org/archive/id/draft-ietf-spring-sr-policy-yang-01.txt">
          <front>
            <title>YANG Data Model for Segment Routing Policy</title>
            <author fullname="Kamran Raza">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Robert Sawaya">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Zhuang Shunwan">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Muhammad Durrani">
              <organization>Equinix</organization>
            </author>
            <author fullname="Satoru Matsushima">
              <organization>SoftBank</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <date day="7" month="April" year="2021"/>
            <abstract>
              <t>   This document defines a YANG data model for Segment Routing (SR)
   Policy that can be used for configuring, instantiating, and managing
   SR policies.  The model is generic and apply equally to the MPLS and
   SRv6 instantiations of SR policies.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-sr-policy-yang-01"/>
        </reference>
        <reference anchor="I-D.ietf-teas-ietf-network-slice-nbi-yang" target="https://www.ietf.org/archive/id/draft-ietf-teas-ietf-network-slice-nbi-yang-02.txt">
          <front>
            <title>IETF Network Slice Service YANG Model</title>
            <author fullname="Bo Wu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Reza Rokui">
              <organization>Ciena</organization>
            </author>
            <author fullname="Tarek Saad">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Liuyan Han">
              <organization>China Mobile</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>   This document defines a YANG model for the IETF Network Slice
   service.  The model can be used by an IETF Network Slice customer to
   manage IETF Network Slices.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slice-nbi-yang-02"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8955" target="https://www.rfc-editor.org/info/rfc8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="C. Loibl" initials="C." surname="Loibl">
              <organization/>
            </author>
            <author fullname="S. Hares" initials="S." surname="Hares">
              <organization/>
            </author>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk">
              <organization/>
            </author>
            <author fullname="D. McPherson" initials="D." surname="McPherson">
              <organization/>
            </author>
            <author fullname="M. Bacher" initials="M." surname="Bacher">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix. </t>
              <t>It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI.  Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t> This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
        <reference anchor="RFC9168" target="https://www.rfc-editor.org/info/rfc9168">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extension for Flow Specification</title>
            <author fullname="D. Dhody" initials="D." surname="Dhody">
              <organization/>
            </author>
            <author fullname="A. Farrel" initials="A." surname="Farrel">
              <organization/>
            </author>
            <author fullname="Z. Li" initials="Z." surname="Li">
              <organization/>
            </author>
            <date month="January" year="2022"/>
            <abstract>
              <t>The Path Computation Element (PCE) is a functional component capable of selecting paths through a traffic engineering (TE) network.  These paths may be supplied in response to requests for computation or may be unsolicited requests issued by the PCE to network elements.  Both approaches use the PCE Communication Protocol (PCEP) to convey the details of the computed path.</t>
              <t>Traffic flows may be categorized and described using "Flow Specifications".  RFC 8955 defines the Flow Specification and describes how Flow Specification components are used to describe traffic flows.  RFC 8955 also defines how Flow Specifications may be distributed in BGP to allow specific traffic flows to be associated with routes.</t>
              <t>This document specifies a set of extensions to PCEP to support dissemination of Flow Specifications.  This allows a PCE to indicate what traffic should be placed on each path that it is aware of.</t>
              <t>The extensions defined in this document include the creation, update, and withdrawal of Flow Specifications via PCEP and can be applied to tunnels initiated by the PCE or to tunnels where control is delegated to the PCE by the Path Computation Client (PCC). Furthermore, a PCC requesting a new path can include Flow Specifications in the request to indicate the purpose of the tunnel allowing the PCE to factor this into the path computation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9168"/>
          <seriesInfo name="DOI" value="10.17487/RFC9168"/>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Adrian Farrel for the motivation behind this document.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>TO be added in future revisions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
