<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="exp" docName="draft-wd-teas-vtn-network-yang-00"
     ipr="trust200902">
  <front>
    <title abbrev="draft-wd-teas-vtn-network-yang-00">A VTN Network YANG
    Module</title>

    <author fullname="Bo Wu" initials="B." surname="Wu">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>lana.wubo@huawei.com</email>
      </address>
    </author>

    <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Divyashree Techno Park</street>

          <city>Bangalore</city>

          <region>Karnataka</region>

          <code>560066</code>

          <country>India</country>
        </postal>

        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2021"/>

    <area>Routing Area</area>

    <abstract>
      <t>This document defines a virtual transport network (VTN) network YANG
      module for retrieving and manipulating VTN topology and resource
      allocation. The model can be used to implement the provisioning of IETF
      network slice services.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t><xref target="I-D.ietf-teas-ietf-network-slices"/> defines IETF
      network slice services that provide connectivity coupled with network
      resources commitment between a number of endpoints over a shared network
      infrastructure, and also defines the IETF Network Slice controller (NSC)
      to realize the network slice services by mapping it to a suitable
      underlying technology.</t>

      <t><xref target="I-D.ietf-teas-enhanced-vpn"/> describes that enhanced
      VPN (VPN+) services can be used to realize IETF network slice services.
      To improve service scalability, The virtual transport network (VTN),
      which has a customized network topology and a group of dedicated or
      shared nodes and links of the physical network, is introduced for
      multiple VPN+ services with similar connection and SLA requirements. For
      the control and management of these VTN resources, <xref
      target="I-D.dong-teas-enhanced-vpn-vtn-scalability"> </xref> gives a
      detailed analysis and description.</t>

      <t>This document defines VTN network model that the NSC can use to
      create and manage VTN instances to realize the network slicing services.
      According to the YANG model classification of <xref target="RFC8309"/>,
      VTN network model is a network configuration model.</t>
    </section>

    <section title="Conventions used in this document">
      <t>The keywords "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 BCP14,
      <xref target="RFC2119"/>, <xref target="RFC8174"/> when, and only when,
      they appear in all capitals, as shown here.</t>

      <t>The following terms are defined in <xref target="RFC6241"/> and are
      used in this specification: <list style="symbols">
          <t>configuration data</t>

          <t>state data</t>
        </list></t>

      <t>The following terms are defined in <xref target="RFC7950"/> and are
      used in this specification: <list style="symbols">
          <t>augment</t>

          <t>data model</t>

          <t>data node</t>
        </list>The terminology for describing YANG data models is found in
      <xref target="RFC7950"/>.</t>

      <section anchor="tree-diagrams" title="Tree Diagrams">
        <t>The tree diagram used in this document follows the notation defined
        in <xref target="RFC8340"/>.</t>
      </section>
    </section>

    <section title="VTN Network Yang Module Consideration">
      <t>To realize the IETF Network Slice based on the reference framework
      defined in <xref target="I-D.ietf-teas-ietf-network-slices"/> , the
      <xref target="Usecase"/> shows an approach with VPN network model and
      VTN network YANG module.</t>

      <t><figure anchor="Usecase" title="Reference Module Use Case">
          <artwork><![CDATA[       +------------------------------------------+
       |                 Customer                 |
       |                                          |
       +------------------------------------------+
                            A
                            | NSC NBI
                            V
       +------------------------------------------+
       |    IETF Network Slice Controller (NSC)   |
       +------------------------------------------+
                            A
               LxNM model   | NSC SBI  VTN network module
                            V          VTN as VPN underlay
       +------------------------------------------+
       |           Network Controller(s)          |
       +------------------------------------------+
                            A
           Device model     |       VTN device model
                            V       
    +------------------------------------------------+
                          Network

]]></artwork>
        </figure></t>

      <t>The VTN network model can be used in the following ways:</t>

      <t><list style="symbols">
          <t>Static VTN configuration: A VTN instance can be created before
          processing IETF Network Slice service request by a network
          controller.</t>

          <t>Dynamic VTN configuration: A VTN instance can be initiated along
          with configuring IETF Network Slice service request by a network
          controller.</t>
        </list></t>

      <t>In the process of realizing an IETF network slice service, when
      creating a Layer 3 VPN or Layer 2 VPN instance, The NSC can use a static
      VTN instance or dynamically create one as the VPN underlay transport.
      Compared with existing VPN underlying full mesh tunneling mechanisms,
      the VTN could provide resource isolation, topology constraints, and
      simplified configuration. Additionally, specific service flows of a VPN
      can be further optimized using SR policies defined in <xref
      target="I-D.dong-idr-sr-policy-vtn"/>. </t>

      <t>And also in multi-domain network slicing cases, instead of mapping
      the overlay VPN to the intra-domain VTNs at the edge of each domain, an
      inter-domain VTN could be used directly for inter-domain
      interconnection, which is described in <xref
      target="I-D.li-teas-e2e-ietf-network-slicing"/> . The network controller
      serving the transit domain can only manage the VTNs. A 5G end-to-end
      network slicing scenario is shown in the following figure.<figure
          title="5G end-to-end network slicing scenario">
          <artwork><![CDATA[    /----\        /----\         /----\          /----\         /----\
   /      \     //      \\     //      \\      //      \\      /      \
  |  RAN   |---|   NW-1   |---|   NW-2   |----|   NW-3   |----|  Core  |
   \      /     \\      //     \\      //      \\      //      \      /
    \----/        \----/         \----/          \----/         \----/

    S-NSSAI
  o--------------------------------------------------------------------o
             IETF Network Slice (VPN+)
           o--------------------------------------------------o
                Global VTN
              o===========================================o
               Domain VTN-1   Domain VTN-2    Domain VTN-3
              o************o o************o   o***********o]]></artwork>
        </figure></t>

      <t>In addition to providing VTN network configuration, VTN network model
      also provides monitoring details of the underlying resource created to
      meet the requirements of IETF network slice service.</t>

      <t>An example of VTN instances and a physical network is illustrated in
      <xref target="exp"/>.</t>

      <t><figure anchor="exp" title="A VTN example">
          <artwork><![CDATA[            ++++   ++++   ++++
            +--+===+--+===+--+
            +--+===+--+===+--+
            ++++   +++\\  ++++
             ||     || \\  ||             Physical
             ||     ||  \\ ||             Network
     ++++   ++++   ++++  \\+++   ++++
     +  +===+--+===+--+===+--+===+  +
     +  +===+--+===+--+===+--+===+  +
     ++++   ++++   ++++   ++++   ++++
      PE1                         PE2
                      |
                     \|/

             o----o-----o
            /          /              VTN-1
     o-----o-----o----o----o


             o----o
            /    / \                  VTN-2
     o-----o----o---o------o

                                       ...

                  o----o
                 /    /               VTN-n
     o-----o----o----o-----o

        o   is a virtual node
        --- is a virtual link]]></artwork>
        </figure></t>

      <t>In the example, each VTN instance has a customized network topology
      comprised of a set of links and nodes in the physical network. In
      control plane, each VTN is associated with a multi-topology or a
      Flex-Algo. And it also has its own forwarding plane resources and
      identifiers which provide VTN-specific packet processing.</t>

      <section title="VTN Operation">
        <t>There are multiple modes of VTN operations to be supported as
        follows.<list style="symbols">
            <t>New VTN Binding: In realization, a NSC could request a set of
            underlay resources that are unaffected by other slice services. A
            new VTN could be created and bound to a VPN per the network slice
            service and not used for any other VPNs.</t>

            <t>VTN Sharing: A NSC could decide to use allocated underlay
            resources to meet the requirements of an IETF network slice.
            Therefore, an existing VTN instance can be reused and multiple
            VPNs in the VTN instance can share same VTN resources. In some
            cases, the properties of the existing VTN (e.g., link bandwidth)
            need modification.</t>

            <t>VTN Deletion: If the NSC determines that no VPN service is
            using a VTN, the NSC can delete the VTN instance.</t>

            <t>VTN Monitoring: The NSC could also use the VTN network model to
            track and monitor VTN resource status and usage.</t>
          </list></t>
      </section>

      <section title="VTN Network Modeling Design">
        <t>A VTN network is modeled as network topology defined in <xref
        target="RFC8345"/> with augmentations. A new network type "vtn" is
        defined in this document. When a network topology data instance
        contains the vtn network type, it represents an instance of a VTN.</t>

        <t>Each VTN consists of a set of nodes and a set of links. Each node
        and link have different attributes that represent the allocated
        resources or the operational status of the VTN network. VTN supports
        several resource partition methods, which are defined by
        'interface-partition-capability'' under a link, which can further be
        supported by FlexE and independent queue techniques.</t>

        <t>The container "vtn" under 'network' of <xref target="RFC8345"/>
        defines global parameters for a VTN, which defines the specific
        control plane technique of the VTN and a unique "vtn-data-plane
        identifier" for data plane. And also, a color attribute for steering
        traffic, such as VPN traffic, into a VTN is also defined.</t>
      </section>
    </section>

    <section title="Description of the VTN Network YANG Module">
      <t>The description of the VTN data nodes are as follows:</t>

      <t><list style="symbols">
          <t>"vtn-id": Is an identifier that is used to uniquely identify the
          VTN instance within the network scope.</t>

          <t>VTN allocation resources: The nodes and links represent the
          network resource allocated for a VTN instance.
          'bandwidth-reservation' specifies the bandwidth allocated to a VTN
          network, or is overridden by the configuration of the VTN link.
          'interface-partition-capability' specifies the resource partition
          capability of the physical interfaces associated with a VTN
          link.</t>

          <t>VTN control plane: Based on the existing work in IETF, control
          plane mechanism of VTN could be implemented by Multi-Topology
          Routing (MTR) which defined in <xref target="RFC4915"/>, <xref
          target="RFC5120"/>, and <xref target="I-D.ietf-lsr-isis-sr-vtn-mt"/>
          or Flex-algo which is defined in <xref
          target="I-D.ietf-lsr-flex-algo"/>. With these control plane
          technologies, VTN nodes of each VTN instance will create their own
          VTN-specific forwarding tables.</t>

          <t>VTN data plane: Defines the data plane mechanism and the VTN
          identifier of the network domain managed by the network controller.
          The data plane mechanism could be baed on MPLS or IPv6 forwarding.
          "vtn-domain-identifier" is used to identify network resource of data
          plane that has been allocated for the VTN. In the case of IPv6 based
          forwarding, VTN data plane identifier is defined in <xref
          target="I-D.dong-6man-enhanced-vpn-vtn-id"/>. If a network slice
          service traverses multiple network domains, a global VTN identifier
          across the domains may be defined. For example, <xref
          target="I-D.li-6man-e2e-ietf-network-slicing"/> defines a IPv6
          extension header to carry the global VTN identifier.</t>

          <t>VTN steering policy: "vtn-color-id" is the color attribute of VTN
          for traffic steering.</t>
        </list></t>
    </section>

    <section title="VTN Yang Module Tree">
      <t><figure>
          <artwork><![CDATA[
module: ietf-vtn-ntw
  augment /nw:networks/nw:network/nw:network-types:
    +--rw vtn!
  augment /nw:networks/nw:network:
    +--rw vtn
       +--rw vtn-id?                  uint32
       +--rw vtn-name?                string
       +--rw bandwidth-reservation
       |  +--rw (bandwidth-type)?
       |     +--:(bandwidth-value)
       |     |  +--rw bandwidth-value?     uint64
       |     +--:(bandwidth-percentage)
       |        +--rw bandwidth-percent?   rt-types:percentage
       +--rw control-plane
       |  +--rw (vtn-cp-type)?
       |     +--:(flex-algo)
       |     |  +--rw flex-algo
       |     |     +--rw flex-algo-id?   uint32
       |     +--:(multi-topology)
       |        +--rw multi-topology-id?   uint32
       +--rw data-plane
       |  +--rw vtn-global-identifier?   uint32
       |  +--rw domain-data-plane
       |     +--rw data-plane-type?         identityref
       |     +--rw vtn-domain-identifier?   uint32
       +--rw steering-policy
          +--rw vtn-color-id?   uint32
  augment /nw:networks/nw:network/nw:node:
    +--rw vtn
  augment /nw:networks/nw:network/nt:link:
    +--rw vtn
    |  +--rw interface-partition-capability?   identityref
    |  +--rw bandwidth-reservation
    |     +--rw (bandwidth-type)?
    |        +--:(bandwidth-value)
    |        |  +--rw bandwidth-value?     uint64
    |        +--:(bandwidth-percentage)
    |           +--rw bandwidth-percent?   rt-types:percentage
    +--ro statistics
       +--ro admin-status?                  te-types:te-admin-status
       +--ro oper-status?                   te-types:te-oper-status
       +--ro one-way-available-bandwidth?   rt-types:bandwidth-ieee-float32
       +--ro one-way-utilized-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro one-way-min-delay?             uint32
       +--ro one-way-max-delay?             uint32
       +--ro one-way-delay-variation?       uint32
       +--ro one-way-packet-loss?           decimal64
]]></artwork>
        </figure></t>
    </section>

    <section title="VTN Yang Module">
      <t>&lt;CODE BEGINS&gt; file "ietf-vtn-ntw@2021-06-04.yang"<figure>
          <artwork><![CDATA[module ietf-vtn-ntw {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-vtn-ntw";
  prefix vtn-ntw;

  import ietf-network {
    prefix nw;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-network-topology {
    prefix nt;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-routing-types {
    prefix rt-types;
    reference
      "RFC 8294: Common YANG Data Types for the Routing Area";
  }
  import ietf-te-types {
    prefix te-types;
    reference
      "RFC 8776: Traffic Engineering Common YANG Types";
  }
  import ietf-te-packet-types {
    prefix te-packet-types;
    reference
      "RFC 8776: Traffic Engineering Common YANG Types";
  }

  organization
    "IETF TEAS Working Group";
  contact
    "
     WG Web: <http://tools.ietf.org/wg/teas/>
     WG List:<mailto:teas@ietf.org>

     Editor: Bo Wu <lana.wubo@huawei.com>
           : Dhruv Dhody <dhruv.ietf@gmail.com>";
  description
    "This YANG module defines a network data module for
     VTN(Virtual Transport Network)";

  revision 2021-06-04 {
    description
      "This is the initial version of VTN network yang module";
    reference
      "RFC XXX: YANG Data module for VTN network";
  }

  identity interface-partition-capability {
    description
      "Base identity for interface partition capability.";
  }

  identity flexe-partition {
    base interface-partition-capability;
    description
      "Identity for FlexE partition capability.";
  }

  identity queue-partition {
    base interface-partition-capability;
    description
      "Identity for queue partition capability.";
  }

  identity vtn-data-plane-type {
    description
      "Base identity for VTN data plane type.";
  }

  identity vtn-data-plane-vtn-ipv6 {
    base vtn-data-plane-type;
    description
      "Identity for VTN based packet forwarding of IPv6.";
  }

  identity vtn-data-plane-vtn-mpls {
    base vtn-data-plane-type;
    description
      "Identity for VTN based packet forwarding of MPLS.";
  }

  identity vtn-data-plane-sr-mpls {
    base vtn-data-plane-type;
    description
      "Identity for SR MPLS forwarding mechanism.";
  }

  identity vtn-data-plane-srv6 {
    base vtn-data-plane-type;
    description
      "Identity for SRv6 forwarding mechanism.";
  }

  /*
   * Groupings
   */

  grouping traffic-steering-policy {
    description
      "Configuration of the traffic mapping policy.";
    container steering-policy {
      description
        "Policy set that matches to a VTN.";
      leaf vtn-color-id {
        type uint32;
        description
          "VTN color ID for VTN traffic steering";
      }
    }
  }

  grouping vtn-bandwidth-reservation {
    description
      "Grouping for VTN bandwidth reservation.";
    container bandwidth-reservation {
      description
        "Container for VTN bandwidth reservation.";
      choice bandwidth-type {
        description
          "Choice of bandwidth reservation type.";
        case bandwidth-value {
          leaf bandwidth-value {
            type uint64;
            units "bps";
            description
              "Bandwidth allocation for the VTN as absolute value.";
          }
        }
        case bandwidth-percentage {
          leaf bandwidth-percent {
            type rt-types:percentage;
            description
              "Bandwidth allocation for the VTN as a percentage of a link.";
          }
        }
      }
    }
  }

  grouping vtn-control-plane-attributes {
    description
      "VTN topology control plane attributes.";
    container control-plane {
      description
        "vtn control plane mechanism.";
      choice vtn-cp-type {
        description
          "Choice of vtn control plane.";
        case flex-algo {
          container flex-algo {
            description
              "A VTN could use flex-algo as a control plane
               mechanism.";
            leaf flex-algo-id {
              type uint32;
              description
                "flex-algo-id for VTN";
            }
          }
        }
        case multi-topology {
          description
            "A VTN could use MT (Multi-Topology) as a control
             plane mechanism.";
          leaf multi-topology-id {
            type uint32;
            description
              "MT-id for VTN";
          }
        }
      }
    }
  }

  grouping vtn-data-plane-attributes {
    description
      "Grouping for VTN topology data plane attributes.";
    container data-plane {
      description
        "VTN data plane mechanism.";
      leaf vtn-global-identifier {
        type uint32;
        description
          "The global VTN identifier for multi-domain is specified.";
      }
      container domain-data-plane {
        description
          "VTN data plane mechanism per network domain.";
        leaf data-plane-type {
          type identityref {
            base vtn-data-plane-type;
          }
          description
            "Specifies the data plane forwarding mechanism of the VTN.
             The mechanism consists of VTN based Packet Forwarding or
             existing Segment Routing with MPLS data plane or IPv6 data
             plane.";
        }
        leaf vtn-domain-identifier {
          type uint32;
          description
            "The domain VTN identifier is specified for
             VTN based Packet Forwarding of a network domain.
             The forwarding plane could be with
             the MPLS Data Plane or IPv6";
          reference
            "draft-li-mpls-enhanced-vpn-vtn-id?
             Carrying Virtual Transport Network identifier
             in MPLS Packet
             draft-dong-6man-enhanced-vpn-vtn-id
             Carrying Virtual Transport Network Identifier
             in IPv6 Extension Header";
        }
      }
    }
  }

  grouping vtn-topology-attributes {
    description
      "VTN topology scope attributes.";
    container vtn {
      description
        "Containing VTN topology attributes.";
      leaf vtn-id {
        type uint32;
        description
          "VTN identifier";
      }
      leaf vtn-name {
        type string;
        description
          "VTN Name";
      }
      uses vtn-bandwidth-reservation;
      uses vtn-control-plane-attributes;
      uses vtn-data-plane-attributes;
      uses traffic-steering-policy;
    }
    // vtn
  }

  // vtn-node-attributes

  grouping vtn-node-attributes {
    description
      "VTN node scope attributes.";
    container vtn {
      description
        "Containing VTN attributes.";
    }
  }

  // vtn-node-attributes

  grouping vtn-link-attributes {
    description
      "VTN link scope attributes";
    container vtn {
      description
        "Containing VTN attributes.";
      leaf interface-partition-capability {
        type identityref {
          base interface-partition-capability;
        }
        description
          "Describes different resource partition type of a link.";
      }
      uses vtn-bandwidth-reservation;
    }
  }

  // vtn-statistics  

  grouping statistics-per-vtn {
    description
      "Statistics attributes per VTN.";
  }

  // vtn-node-statistics

  grouping statistics-per-node {
    description
      "Statistics attributes per VTN node.";
  }

  // one-way-performance-metrics

  grouping one-way-performance-bandwidth {
    description
      "Grouping for one-way performance bandwidth .";
    leaf one-way-available-bandwidth {
      type rt-types:bandwidth-ieee-float32;
      units "bytes per second";
      default "0x0p0";
      description
        "Available bandwidth that is defined to be VTN link
         bandwidth minus bandwidth utilization.  For a
         bundled link, available bandwidth is defined to be the
         sum of the component link available bandwidths.";
    }
    leaf one-way-utilized-bandwidth {
      type rt-types:bandwidth-ieee-float32;
      units "bytes per second";
      default "0x0p0";
      description
        "Bandwidth utilization that represents the actual
         utilization of the link (i.e. as measured in the router).
         For a bundled link, bandwidth utilization is defined to
         be the sum of the component link bandwidth
         utilizations.";
    }
  }

  // vtn-link-statistics

  grouping vtn-statistics-per-link {
    description
      "Statistics attributes per VTN link.";
    container statistics {
      config false;
      description
        "Statistics for VTN link.";
      leaf admin-status {
        type te-types:te-admin-status;
        description
          "The administrative state of the link.";
      }
      leaf oper-status {
        type te-types:te-oper-status;
        description
          "The current operational state of the link.";
      }
      uses one-way-performance-bandwidth;
      uses te-packet-types:one-way-performance-metrics-packet;
    }
  }

  augment "/nw:networks/nw:network/nw:network-types" {
    description
      "Defines the VTN topology type.";
    container vtn {
      presence "Indicates VTN topology";
      description
        "Its presence identifies the VTN type.";
    }
  }

  augment "/nw:networks/nw:network" {
    when 'nw:network-types/vtn-ntw:vtn' {
      description
        "Augment only for VTN topology.";
    }
    description
      "Augment VTN configuration and state.";
    uses vtn-topology-attributes;
  }

  augment "/nw:networks/nw:network/nw:node" {
    when '../nw:network-types/vtn-ntw:vtn' {
      description
        "Augment only for VTN topology.";
    }
    description
      "Augment node configuration and state.";
    uses vtn-node-attributes;
  }

  augment "/nw:networks/nw:network/nt:link" {
    when '../nw:network-types/vtn-ntw:vtn' {
      description
        "Augment only for VTN topology.";
    }
    description
      "Augment link configuration and state.";
    uses vtn-link-attributes;
    uses vtn-statistics-per-link;
  }
}


]]></artwork>
        </figure>&lt;CODE ENDS&gt;</t>
    </section>

    <section title="Security Considerations">
      <t>The YANG module defined in this document is designed to be accessed
      via network management protocols such as NETCONF <xref
      target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. The lowest
      NETCONF layer is the secure transport layer, and the
      mandatory-to-implement secure transport is Secure Shell (SSH) <xref
      target="RFC6242"/>. The lowest RESTCONF layer is HTTPS, and the
      mandatory-to-implement secure transport is TLS <xref
      target="RFC8446"/>.</t>

      <t>The NETCONF access control model <xref target="RFC8341"/> provides
      the means to restrict access for particular NETCONF or RESTCONF users to
      a preconfigured subset of all available NETCONF or RESTCONF protocol
      operations and content.</t>

      <t>There are a number of data nodes defined in this YANG module that are
      writable/creatable/deletable (i.e., config true, which is the default).
      These data nodes may be considered sensitive or vulnerable in some
      network environments. Write operations (e.g., edit-config) to these data
      nodes without proper protection can have a negative effect on network
      operations.</t>

      <t>vtn-link: A malicious client could attempt to remove a link from a
      topology, add a new link. In each case, the structure of the topology
      would be sabotaged, and this scenario could, for example, result in an
      VTN topology that is less than optimal.</t>

      <t>The entries in the nodes above include the whole network
      configurations corresponding with the VTN, and indirectly create or
      modify the PE or P device configurations. Unexpected changes to these
      entries could lead to service disruption and/or network misbehavior.</t>
    </section>

    <section title="IANA Considerations">
      <t>This document registers a URI in the IETF XML registry <xref
      target="RFC3688"/>. Following the format in <xref target="RFC3688"/>,
      the following registration is requested to be made:</t>

      <figure>
        <artwork><![CDATA[
   URI: urn:ietf:params:xml:ns:yang:ietf-vtn-ntw
   Registrant Contact: The IESG.
   XML: N/A, the requested URI is an XML namespace.


]]></artwork>
      </figure>

      <t>This document requests to register a YANG module in the YANG Module
      Names registry <xref target="RFC7950"/>.</t>

      <figure>
        <artwork><![CDATA[
           Name: ietf-vtn-ntw
           Namespace: urn:ietf:params:xml:ns:yang:ietf-vtn-ntw
           Prefix: vtn-ntw
           Reference: RFC XXXX 
]]></artwork>
      </figure>
    </section>

    <section anchor="Acknowledgements" title="Contributor">
      <t><figure>
          <artwork><![CDATA[   Zhenbin Li
   Huawei

   Email: lizhenbin@huawei.com


   Jie Dong
   Huawei

   Email: jie.dong@huawei.com
]]></artwork>
        </figure></t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include='reference.RFC.4915'?>

      <?rfc include='reference.RFC.3688'?>

      <?rfc include='reference.RFC.7950'?>

      <?rfc include='reference.RFC.8345'?>

      <?rfc include='reference.RFC.8309'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.6241'?>

      <?rfc include='reference.RFC.8040'?>

      <?rfc include='reference.RFC.8446'?>

      <?rfc include='reference.RFC.6242'?>

      <?rfc include='reference.RFC.8341'?>

      <?rfc include='reference.RFC.8340'?>

      <?rfc include='reference.RFC.5120'?>

      <?rfc include='reference.I-D.ietf-lsr-isis-sr-vtn-mt'?>

      <?rfc include='reference.I-D.ietf-lsr-flex-algo'?>

      <?rfc include='reference.I-D.ietf-spring-segment-routing-policy'?>

      <?rfc include='reference.I-D.zhu-lsr-isis-sr-vtn-flexalgo'?>

      <?rfc include='reference.I-D.dong-6man-enhanced-vpn-vtn-id'?>

      <?rfc include='reference.I-D.li-6man-e2e-ietf-network-slicing'?>

      <?rfc include='reference.I-D.dong-idr-sr-policy-vtn'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.I-D.dong-teas-enhanced-vpn-vtn-scalability'?>

      <?rfc include='reference.I-D.ietf-teas-ietf-network-slices'?>

      <?rfc include='reference.I-D.ietf-teas-enhanced-vpn'?>

      <?rfc include='reference.I-D.li-teas-e2e-ietf-network-slicing'?>
    </references>

    <section title="Example VTN Network Model">
      <t>Device could map</t>

      <t><figure>
          <artwork/>
        </figure></t>
    </section>
  </back>
</rfc>
