Internet DRAFT - draft-wu-opsawg-network-overlay-resource-model

draft-wu-opsawg-network-overlay-resource-model







OPSAWG Working Group                                               Q. Wu
Internet-Draft                                                   M. Wang
Intended status: Standards Track                                  Huawei
Expires: September 3, 2018                                  M. Boucadair
                                                                  Orange
                                                           March 2, 2018


     A YANG Data Module for Network Virtualization Overlay Resource
                               Management
           draft-wu-opsawg-network-overlay-resource-model-00

Abstract

   This document defines a YANG data module for Network Virtualization
   Overlay Resource Management.  It is a resource facing model
   independent of control plane protocols and captures topological and
   resource related information pertaining to Network Virtualization
   Overlay.

   This module enables clients, which interact with a network
   orchestrator or controller via a REST interface, for Network
   Virtualization Overlay topology related operations such as obtaining
   and allocating the relevant topology resource information.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 3, 2018.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Wu, et al.              Expires September 3, 2018               [Page 1]

Internet-Draft       Network Overlay Resource Model           March 2018


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   3
   3.  Overview of Network Virtualization Overlay Resource
       Management Model  . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  VN Service Configuration  . . . . . . . . . . . . . . . .   6
       3.1.1.  VN and Network Access Association Configuration . . .   6
       3.1.2.  Traffic Performance Requirements Configuration  . . .   7
     3.2.  VN Service Topology Resource Distribution configuration .  10
   4.  RPC Definitions for Computation of TE Path Element List and
       Network Access Connectivity List  . . . . . . . . . . . . . .  11
   5.  Data Hierarchy  . . . . . . . . . . . . . . . . . . . . . . .  13
   6.  Network Virtualization Overlay Management YANG Module . . . .  17
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  33
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  34
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  34
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  34
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  35
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  35

1.  Introduction

   [RFC8299] defines customer service model for L3VPN service that can
   be used to describe a service as offered or delivered to a customer
   by a network operator.  As described in [RFC8309], a customer service
   model is not resource facing model and does not describes how a
   network operator realizes and delivers the service described by the
   module since it is not used to directly configure network devices,
   protocols, or functions or something sent to network devices (i.e.,
   routers or switches) for processing.

   This document defines a YANG module for Network Virtualization
   Overlay Management.  It is a resource facing model independent of
   control plane protocols and captures topological and resource related
   information pertaining to Network Virtualization Overlay.





Wu, et al.              Expires September 3, 2018               [Page 2]

Internet-Draft       Network Overlay Resource Model           March 2018


   This module enables clients to interact with a network orchestrator
   or controller via a RESTful interface, for providing connectivity
   services over a Network Virtualization Overlay topology.  In
   particular, this module supports operations such as exposing abstract
   service topology, retrieving, and allocating the relevant topology
   resource information.

   As a reminder, and as defined in [RFC7297], the IP connectivity
   service is the IP transfer capability characterized by a (Source
   Nets, Destination Nets, Guarantees, Scope) tuple where "Source Nets"
   is a group of unicast IP addresses, "Destination Nets" is a group of
   IP unicast and/or multicast addresses, and "Guarantees" reflects the
   guarantees (expressed in terms of Quality Of Service (QoS),
   performance, and availability, for example) to properly forward
   traffic to the said "Destination".  Finally, the "Scope" denotes the
   (network) perimeter (e.g., between Provider Edge (PE) routers or
   Customer Nodes) where the said guarantees need to be provided.  These
   requirements include: reachability scope (e.g., limited scope,
   Internet-wide), direction (in/ou), bandwidth requirements, QoS
   parameters (e.g., one-way delay [RFC7679], loss [RFC7680], or one-way
   delay variation (jitter) [RFC3393]), protection, and high-
   availability guidelines (e.g., restoration in less than 50 ms, 100
   ms, or 1 second).

   The module includes flow identification and classification rules that
   are required for traffic conformance purposes.

   How the data captured using this YANG module is tranlated into
   network-spefic clauses is out of scope.

2.  Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].  In this
   document, these words will appear with that interpretation only when
   in ALL CAPS.  Lower case uses of these words are not to be
   interpreted as carrying [RFC2119] significance.

   The following notations are used within the data tree and carry the
   meaning as below.

   Each node is printed as:








Wu, et al.              Expires September 3, 2018               [Page 3]

Internet-Draft       Network Overlay Resource Model           March 2018


    <status> <flags> <name> <opts> <type>

    <status> is one of:
         +  for current

    <flags> is one of:

        rw for configuration data
        ro for non-configuration data
        -x for rpcs
        -n for notifications
        -w for writable

    <name> is the name of the node

    If the node is augmented into the tree from another module, its name
    is printed as <prefix>:<name>.

    <opts> is one of:

         ?  for an optional leaf or choice
         !  for a presence container
         *  for a leaf-list or list
         [<keys>] for a list's keys
         (choice)/:(case) Parentheses enclose choice and case nodes,
         and case nodes are also marked with a colon (":")
         <type> is the name of the type for leafs and leaf-lists

3.  Overview of Network Virtualization Overlay Resource Management Model






















Wu, et al.              Expires September 3, 2018               [Page 4]

Internet-Draft       Network Overlay Resource Model           March 2018


      ----------- l3vpn-svc
                    Model   |
    Customer      l2vpn-svc |
    Facing Model    Model   |
                     +----------------------+
      ---------------|   Service component  |
                     +-----------+----------+
                                 |
                      VN Overlay |
                      Resource   |
    Resource          Model      |
    Facing Model                 |
                                 |
                                 |
                      +----------+-----------+
   ------------  +----|   Config component   |-------+
                /     +----------------------+        \   Network
               /             /            \            \  Configuration
              /             /              \             \ models
             /             /                \             \
     +------+   Bearer    +------+           +------+      +------+
     | CE A + ----------- + PE A |           | PE B + ---- + CE B |
     +------+  Connection +------+           +------+      +------+

                Site A                               Site B

   L3VPN and L2VPN service models provide an abstracted view of the
   Layer 3 and Layer 2 VPN service configuration components.  Services
   are built from a combination of network elements and protocols
   configuration, but are specified for service users in more abstract
   terms, e.g., these models will specify where to create site and
   establish site-network-access of a particular site to the provider
   network (e.g., PE, aggregation switch) and what service requirements
   of each site-network-access are.

   Site location can be determined based on proposed location parameters
   and constraints in these service models and service requirements of
   each site-network-access can be determined based on traffic
   performance metrics (e.g., one-way delay, one-way delay variation,
   bandwidth) of each PE-CE link connectivity and traffic performance
   metrics of each service flow or application.  The management system
   will use service models as an input to select appropriate PEs and
   CEs, allocate interface on the node, generate PE and CE configuration
   associated with each PE-CE link.

   Based on selected PE and CE configuration on each site-network-access
   of a particular site, the management system can use L3VPN service
   model and L2VPN service model as inputs and translate it into



Wu, et al.              Expires September 3, 2018               [Page 5]

Internet-Draft       Network Overlay Resource Model           March 2018


   resource facing model, i.e., the network virtualization overlay
   resource model.

   This resource facing model can be seen as the projection model of
   L3VPN service and L2VPN service model and is used to compute path
   elements and the network access connectivity list when two sites
   belonging to one VPN spanning across several domains.  It also can be
   combined with other performance measurement or warning models to
   expose abstract service topology and resource distribution in the
   network re-optimization cases.

3.1.  VN Service Configuration

   The YANG module is divided into two main containers: "vn-services"
   and "sites".

   The "vn-service" list under the vn-services container defines global
   parameters for the VN service for a specific customer.  The "vn-id"
   provided in the vn-service list refers to an internal reference for
   this VN service, while the customer name refers to a more-explicit
   reference to the customer.  The "vn-type" in the vn-service list
   refers to a set of basic VPN type.  In addition, each "vn-service"
   also include a list of "site-network-access".

   The service requirements on each "site-network-access" or site to
   site service requirements is specified in details in the service
   container under "sites/site" or "sites/site/site-network-access".

3.1.1.  VN and Network Access Association Configuration

   Within a given VN service there can be one or more VN and Network
   Access Associations(VNAAs).  VNAAs are represented as a list and
   indexed by the vn-id and vn-type.

         module: ietf-vn-rsc
        +--rw vn-rsc
         +--rw vn-services
         | +--rw vn-service* [vn-id]
         |   +--rw vn-id         svc-id
         |   +--rw vn-type       identityref
         .
         .
         |   +--rw site-network-accesses
         |   +--rw site-network-access* [site-network-access-id]
         |     +--rw site-network-access-id   svc-id

        Snippet of data hierarchy related to VN and Network Access
                            Associations (VNAA)



Wu, et al.              Expires September 3, 2018               [Page 6]

Internet-Draft       Network Overlay Resource Model           March 2018


3.1.2.  Traffic Performance Requirements Configuration

3.1.2.1.  Per-Site Network Access Requirements

   Per-Site network access traffic performance requirements are
   represented as a list within the data hierarchy and indexed by the
   key site-network-access-id.

   Traffic Performance requirements include latency, jitter, and
   bandwidth utilization.  Upload bandwidth and download bandwidth are
   performance parameters associated each domain-network-access.

   Latency, jitter, and bandwidth utilization are performance
   requirements associated with each service flow or application.





































Wu, et al.              Expires September 3, 2018               [Page 7]

Internet-Draft       Network Overlay Resource Model           March 2018


         module: ietf-vn-rsc
            +--rw site-network-accesses
              +--rw site-network-access* [site-network-access-id]
               +--rw site-network-access-id   leafref
               +--rw device-id   leafref
               +--rw access-diversity {site-diversity}?
               | +--rw groups
               | | +--rw group* [group-id]
               | |   +--rw group-id  string
               | +--rw constraints
               |   +--rw constraint* [constraint-type]
               |    +--rw constraint-type  identityref
               |    +--rw target
               |      +--rw (target-flavor)?
               |       +--:(id)
               |       | +--rw group* [group-id]
               |       |    ...
               |       +--:(all-accesses)
               |       | +--rw all-other-accesses?  empty
               |       +--:(all-groups)
               |         +--rw all-other-groups?   empty
               +--rw service
               | +--rw svc-input-bandwidth?  uint32
               | +--rw svc-output-bandwidth?  uint32
               | +--rw svc-mtu?        uint16
               | +--rw qos {qos}?
               | | +--rw qos-classification-policy
               | | | +--rw rule* [id]
               | | |   +--rw id          uint16
               | | |   +--rw (match-type)?
               | | |   | +--:(match-flow)
               | | |   | | +--rw match-flow
               | | |   | |    ...
               | | |   | +--:(match-application)
               | | |   |   +--rw match-application?  identityref
               | | |   +--rw target-class-id?   string
               | | +--rw qos-profile
               | |   +--rw (qos-profile)?
               | |    +--:(standard)
               | |    | +--rw profile?  string
               | |    +--:(custom)
               | |      +--rw classes {qos-custom}?
               | |       +--rw class* [class-id]

     Snippet of data hierarchy related to Per Site network access QoS
                               requirements





Wu, et al.              Expires September 3, 2018               [Page 8]

Internet-Draft       Network Overlay Resource Model           March 2018


3.1.2.2.  Site-to-Site Traffic Performance Requirements

   QoS guarantees denote a set of transfer performance metrics that
   characterize the quality of the transfer treatment to be experienced
   (when crossing a transport infrastructure) by a flow issued from or
   forwarded to a (set of) sites.

   Suppose one VPN has multiple sites and any two sites span across
   multiple domains, site-to-site network access QoS requirements can be
   used to describe QoS requirements across sites.

   Site-to-site network access traffic performance requirements are
   represented as a list within the data hierarchy and indexed by the
   key 'site-id'.  The source site is specified as 'site-id' under site
   list, the 'target-site' is specified under match-flow case.

   Traffic performance requirements include latency, jitter, and
   bandwidth utilization.

   Shaping/policing filters may be applied so as to assess whether
   traffic is within the capacity profile or out of profile.  Out-of-
   profile traffic may be discarded or assigned another class.





























Wu, et al.              Expires September 3, 2018               [Page 9]

Internet-Draft       Network Overlay Resource Model           March 2018


         module: ietf-vn-rsc
         +--rw sites
           +--rw site* [site-id]
            +--rw site-id         svc-id
            +--rw service
            | +--rw qos {qos}?
            | | +--rw qos-classification-policy
            | | | +--rw rule* [id]
            | | |   +--rw id          uint16
            | | |   +--rw (match-type)?
            | | |   | +--:(match-flow)
            | | |   | | +--rw match-flow
            | | |   | |   +--rw target-sites*    svc-id
            | | |   +--rw target-class-id?   string
            | | +--rw qos-profile
            | |   +--rw (qos-profile)?
            | |    +--:(standard)
            | |    | +--rw profile?  string
            | |    +--:(custom)
            | |      +--rw classes {qos-custom}?
            | |       +--rw class* [class-id]
            | |         +--rw class-id   string
            | |         +--rw rate-limit?  uint8
            | |         +--rw latency
            | |         | +--rw (flavor)?
            | |         |    ...
            | |         +--rw jitter
            | |         | +--rw (flavor)?
            | |         |    ...
            | |         +--rw bandwidth
            | |          +--rw guaranteed-bw-percent?  uint8
            | |          +--rw end-to-end?       empty

    Snippet of data hierarchy related to Site to Site QoS requirements

3.2.  VN Service Topology Resource Distribution configuration

   A 'site' is composed of at least one "site-network-access" and, in
   the case of multihoming, may have multiple site-network-access
   points.

   For each "site-network-access", the ingress device/customer device
   and/or egress device has been selected to connect to the provider
   network, ingress device list is specified under site and egress
   device is specified under vn-attachment container.

   With selected ingress device and egress device and VN membership, VN
   service topology can be constructed.  Resource allocation for Site to



Wu, et al.              Expires September 3, 2018              [Page 10]

Internet-Draft       Network Overlay Resource Model           March 2018


   Site connectivity or connectivity within site can be further
   calculated based on this VN service topology.

               VPN1-Site1                               VPN1-Site2
         +------------------------------------------------------------+
        /   [CE1]..                              [PE2______[CE3]     /
       /    /  \  :                              : \_       / :     /
      /    /    \  :                             :   \_    /  :    /
     /    /      \  :                           :      \  /   :   /
    /   [CE2]___[PE1]:                         :       [CE4]  :  /
   +------:-------:---:---------------------------------:-----:-+
            :        :   :         :          :     :
            :         :   :       :           :     :
            :  +-------:---:-----:------------:-----:-----+
            : /       [X1]__:___:___________[X2]   :     /
            :/         / \_  : :       _____/ /   :     /
            :         /    \_ :  _____/      /   :     /
           /:        /       \: /           /   :     /
          / :       /        [X5]          /   :     /
         /   :     /       __/ \__        /   :     /
        /     :   /    ___/       \__    /   :     /
       /       : / ___/              \  /   :     /
      /        [X4]__________________[X3]..:     /
     +------------------------------------------+
                                    L3 Topology

4.  RPC Definitions for Computation of TE Path Element List and Network
    Access Connectivity List

   The RPC model facilitates issuing commands to a NETCONF server (in
   this case to the device that need to execute the path computation API
   command or path computation algorithm) and obtain a response.  RPC
   model defined here abstracts path computation specific commands in a
   technology independent manner.

   There are two RPC commands defined for the purpose of computation of
   path element list and network access connectivity list respectively.
   In this section we present a snippet of the path element list
   computation command and network access connectivity list computation
   for illustration purposes.  Please refer to Section 3.4 for the
   complete data hierarchy and Section 4 for the YANG model.










Wu, et al.              Expires September 3, 2018              [Page 11]

Internet-Draft       Network Overlay Resource Model           March 2018


  rpcs:
    +---x vn-path-element-compute
    |  +---w input
    |  |  +---w vn-member-list* [vn-member-id]
    |  |     +---w vn-member-id          -> /vn-svc/vn-services/vn-service/vn-id
    |  |     +---w constraint
    |  |     |  +---w path-element* [path-element-id]
    |  |     |     +---w path-element-id
    |  |     |     +---w address?
    |  |     +---w objective-function?   identityref
    |  |     +---w metric* [metric-type]
    |  |        +---w metric-type     identityref
    |  |        +---w metric-value?   uint32
    |  +--ro output
    |     +--ro vn-member-list* [vn-member-id]
    |        +--ro vn-member-id    -> /vn-svc/vn-services/vn-service/vn-id
    |        +--ro metric* [metric-type]
    |        |  +--ro metric-type     identityref
    |        |  +--ro metric-value?   uint32
    |        +--ro path
    |           +--ro path-element* [path-element-id]
    |              +--ro path-element-id
    +---x vn-network-connectivity-stitch
       +---w input
       |  +---w vn-member-list* [vn-id]
       |     +---w vn-id            -> /vn-svc/vn-services/vn-service/vn-id
       |     +---w source-access* [access-id]
       |     |  +---w access-id
       |     |  +---w destination-access* [access-id]
       |     +---w objective-function?   identityref
       |     +---w metric* [metric-type]
       |        +---w metric-type     identityref
       |        +---w metric-value?   uint32
       +--ro output
          +--ro vn-access-list* [index]
             +--ro index        uint32
             +--ro source-access -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
             +--ro destination-access-> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
             +--ro multi-domain-network-access-list * [domain-id]
                +--ro domain-id                 svc-id
                +--ro network-access-id         svc-id

   With these two RPC commands, we can calculate

      Path element list that is applied to network access connectivity
      within the site, or Site to Site connectivity or end to end
      connectivity.




Wu, et al.              Expires September 3, 2018              [Page 12]

Internet-Draft       Network Overlay Resource Model           March 2018


      Network access connectivity list that is applied to site to site
      connectivity and end to end connectivity spanning across multiple
      domains.

5.  Data Hierarchy

   The figure below describes the overall structure of the YANG module:

module: ietf-vn-rsc
    +--rw vn-rsc
       +--rw vn-services
       |  +--rw vn-service* [vn-id]
       |     +--rw vn-id                    svc-id
       |     +--rw customer-name?           string
       |     +--rw service-topology?        identityref
       |     +--rw site-network-accesses
       |        +--rw site-network-access* [site-network-access-id]
       |           +--rw site-network-access-id    svc-id
       +--rw sites
          +--rw site* [site-id]
             +--rw site-id                  svc-id
             +--rw cpe-devices
             |  +--rw cpe-device* [device-id]
             |     +--rw device-id         svc-id
             |     +--rw address-family?   address-family
             |     +--rw address?          inet:ip-address
             |     +--rw interfaces
             |        +--rw interface?        if:interface-ref
             |        +--rw sub-interfaces*   if:interface-ref
             +--rw service
             |  +--rw qos {qos}?
             |     +--rw qos-classification-policy
             |     |  +--rw rule* [id]
             |     |     +--rw id                   string
             |     |     +--rw (match-type)?
             |     |     |  +--:(match-flow)
             |     |     |  |  +--rw match-flow
             |     |     |  |     +--rw dscp?                inet:dscp
             |     |     |  |     +--rw dot1p?               uint8
             |     |     |  |     +--rw ipv4-src-prefix?     inet:ipv4-prefix
             |     |     |  |     +--rw ipv6-src-prefix?     inet:ipv6-prefix
             |     |     |  |     +--rw ipv4-dst-prefix?     inet:ipv4-prefix
             |     |     |  |     +--rw ipv6-dst-prefix?     inet:ipv6-prefix
             |     |     |  |     +--rw l4-src-port?         inet:port-number
             |     |     |  |     +--rw target-sites*        svc-id {target-sites}?
             |     |     |  |     +--rw l4-src-port-range
             |     |     |  |     |  +--rw lower-port?   inet:port-number
             |     |     |  |     |  +--rw upper-port?   inet:port-number



Wu, et al.              Expires September 3, 2018              [Page 13]

Internet-Draft       Network Overlay Resource Model           March 2018


             |     |     |  |     +--rw l4-dst-port?         inet:port-number
             |     |     |  |     +--rw l4-dst-port-range
             |     |     |  |     |  +--rw lower-port?   inet:port-number
             |     |     |  |     |  +--rw upper-port?   inet:port-number
             |     |     |  |     +--rw protocol-field?      union
             |     |     |  +--:(match-application)
             |     |     |     +--rw match-application?   identityref
             |     |     +--rw target-class-id?     string
             |     +--rw qos-profile
             |        +--rw (qos-profile)?
             |           +--:(standard)
             |           |  +--rw profile?
                               -> /vn-svc/vpn-profiles/valid-provider-identifiers/qos-profile-identifier/id
             |           +--:(custom)
             |              +--rw classes {qos-custom}?
             |                 +--rw class* [class-id]
             |                    +--rw class-id      string
             |                    +--rw direction?    identityref
             |                    +--rw rate-limit?   uint8
             |                    +--rw latency
             |                    |  +--rw (flavor)?
             |                    |     +--:(lowest)
             |                    |     |  +--rw use-lowest-latency?   empty
             |                    |     +--:(boundary)
             |                    |        +--rw latency-boundary?     uint16
             |                    +--rw jitter
             |                    |  +--rw (flavor)?
             |                    |     +--:(lowest)
             |                    |     |  +--rw use-lowest-jitter?   empty
             |                    |     +--:(boundary)
             |                    |        +--rw latency-boundary?    uint32
             |                    +--rw bandwidth
             |                       +--rw guaranteed-bw-percent    uint8
             |                       +--rw end-to-end?              empty
             +--rw site-network-accesses
                +--rw site-network-access* [site-network-access-id]
                   +--rw site-network-access-id
                           -> /vn-svc/vn-services/vn-service/site-network-accesses/site-network-access/site-network-access-id
                   +--rw ingress-device-id?                -> /vn-svc/sites/site/cpe-devices/cpe-device/device-id
                   +--rw access-diversity {site-diversity}?
                   |  +--rw groups
                   |  |  +--rw group* [group-id]
                   |  |     +--rw group-id    string
                   |  +--rw constraints
                   |     +--rw constraint* [constraint-type]
                   |        +--rw constraint-type    identityref
                   |        +--rw target
                   |           +--rw (target-flavor)?



Wu, et al.              Expires September 3, 2018              [Page 14]

Internet-Draft       Network Overlay Resource Model           March 2018


                   |              +--:(id)
                   |              |  +--rw group* [group-id]
                   |              |     +--rw group-id    string
                   |              +--:(all-accesses)
                   |              |  +--rw all-other-accesses?   empty
                   |              +--:(all-groups)
                   |                 +--rw all-other-groups?     empty
                   +--rw service
                   |  +--rw svc-input-bandwidth?    uint32
                   |  +--rw svc-output-bandwidth?   uint32
                   |  +--rw svc-mtu?                uint16
                   |  +--rw qos {qos}?
                   |     +--rw qos-classification-policy
                   |     |  +--rw rule* [id]
                   |     |     +--rw id                   string
                   |     |     +--rw (match-type)?
                   |     |     |  +--:(match-flow)
                   |     |     |  |  +--rw match-flow
                   |     |     |  |     +--rw dscp?                inet:dscp
                   |     |     |  |     +--rw dot1p?               uint8
                   |     |     |  |     +--rw ipv4-src-prefix?     inet:ipv4-prefix
                   |     |     |  |     +--rw ipv6-src-prefix?     inet:ipv6-prefix
                   |     |     |  |     +--rw ipv4-dst-prefix?     inet:ipv4-prefix
                   |     |     |  |     +--rw ipv6-dst-prefix?     inet:ipv6-prefix
                   |     |     |  |     +--rw l4-src-port?         inet:port-number
                   |     |     |  |     +--rw target-sites*        svc-id {target-sites}?
                   |     |     |  |     +--rw l4-src-port-range
                   |     |     |  |     |  +--rw lower-port?   inet:port-number
                   |     |     |  |     |  +--rw upper-port?   inet:port-number
                   |     |     |  |     +--rw l4-dst-port?         inet:port-number
                   |     |     |  |     +--rw l4-dst-port-range
                   |     |     |  |     |  +--rw lower-port?   inet:port-number
                   |     |     |  |     |  +--rw upper-port?   inet:port-number
                   |     |     |  |     +--rw protocol-field?      union
                   |     |     |  +--:(match-application)
                   |     |     |     +--rw match-application?   identityref
                   |     |     +--rw target-class-id?     string
                   |     +--rw qos-profile
                   |        +--rw (qos-profile)?
                   |           +--:(standard)
                   |           |  +--rw profile?
                                          -> /vn-svc/vpn-profiles/valid-provider-identifiers/qos-profile-identifier/id
                   |           +--:(custom)
                   |              +--rw classes {qos-custom}?
                   |                 +--rw class* [class-id]
                   |                    +--rw class-id      string
                   |                    +--rw direction?    identityref
                   |                    +--rw rate-limit?   uint8



Wu, et al.              Expires September 3, 2018              [Page 15]

Internet-Draft       Network Overlay Resource Model           March 2018


                   |                    +--rw latency
                   |                    |  +--rw (flavor)?
                   |                    |     +--:(lowest)
                   |                    |     |  +--rw use-lowest-latency?   empty
                   |                    |     +--:(boundary)
                   |                    |        +--rw latency-boundary?     uint16
                   |                    +--rw jitter
                   |                    |  +--rw (flavor)?
                   |                    |     +--:(lowest)
                   |                    |     |  +--rw use-lowest-jitter?   empty
                   |                    |     +--:(boundary)
                   |                    |        +--rw latency-boundary?    uint32
                   |                    +--rw bandwidth
                   |                       +--rw guaranteed-bw-percent    uint8
                   |                       +--rw end-to-end?              empty
                   +--rw vn-attachments
                      +--rw vn-attachment* [vn-id]
                         +--rw vn-id               svc-id
                         +--rw vn-type?            identityref
                         +--rw attachment-point
                            +--rw egress-device-id?     svc-id
                            +--rw address-family?   address-family
                            +--rw address?          inet:ip-address
                            +--rw interfaces
                               +--rw interface?        if:interface-ref
                               +--rw sub-interfaces*   if:interface-ref

  rpcs:
    +---x vn-path-element-compute
    |  +---w input
    |  |  +---w vn-member-list* [vn-member-id]
    |  |     +---w vn-member-id          -> /vn-svc/vn-services/vn-service/vn-id
    |  |     +---w src
    |  |     |  +---w src-address?              -> /vn-svc/sites/site/site-id
    |  |     |  +---w site-network-access-id?
                        -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
    |  |     +---w dst
    |  |     |  +---w dst-address?              -> /vn-svc/sites/site/site-id
    |  |     |  +---w site-network-access-id?
                        -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
    |  |     +---w constraint
    |  |     |  +---w path-element* [path-element-id]
    |  |     |     +---w path-element-id    -> /vn-svc/sites/site/site-network-accesses/site-network-access/vn-attachments/vn-attachment/attachment-point/pe-device-id
    |  |     |     +---w address?           -> /vn-svc/sites/site/site-network-accesses/site-network-access/vn-attachments/vn-attachment/attachment-point/address
    |  |     +---w objective-function?   identityref
    |  |     +---w metric* [metric-type]
    |  |        +---w metric-type     identityref
    |  |        +---w metric-value?   uint32



Wu, et al.              Expires September 3, 2018              [Page 16]

Internet-Draft       Network Overlay Resource Model           March 2018


    |  +--ro output
    |     +--ro vn-member-list* [vn-member-id]
    |        +--ro vn-member-id    uint32
    |        +--ro src
    |        |  +--ro src-address?              -> /vn-svc/sites/site/site-id
    |        |  +--ro site-network-access-id?   -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
    |        +--ro dst
    |        |  +--ro dst-address?              -> /vn-svc/sites/site/site-id
    |        |  +--ro site-network-access-id?   -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
    |        +--ro metric* [metric-type]
    |        |  +--ro metric-type     identityref
    |        |  +--ro metric-value?   uint32
    |        +--ro path
    |           +--ro path-element* [path-element-id]
    |              +--ro path-element-id    -> /vn-svc/sites/site/site-network-accesses/site-network-access/vn-attachments/vn-attachment/attachment-point/pe-device-id
    |              +--ro index?             uint32
    |              +--ro address?           -> /vn-svc/sites/site/site-network-accesses/site-network-access/vn-attachments/vn-attachment/attachment-point/address
    |              +--ro hop-type?          identityref
    +---x vn-network-connectivity-stitch
       +---w input
       |  +---w vn-list* [vn-id]
       |     +---w vn-id                 -> /vn-svc/vn-services/vn-service/vn-id
       |     +---w source-access* [access-id]
       |     |  +---w access-id             -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
       |     |  +---w destination-access* [access-id]
       |     |     +---w access-id    -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
       |     +---w objective-function?   identityref
       |     +---w metric* [metric-type]
       |        +---w metric-type     identityref
       |        +---w metric-value?   uint32
       +--ro output
          +--ro vn-access-list* [index]
             +--ro index        uint32
             +--ro source-access -> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
             +--ro destination-access-> /vn-svc/sites/site/site-network-accesses/site-network-access/site-network-access-id
             +--ro multi-domain-network-access-list *
                +--ro domain-id                 svc-id
                +--ro network-access-id         svc-id

6.  Network Virtualization Overlay Management YANG Module

   <CODE BEGINS> file "ietf-vn-rsc@2018-02-03.yang"
   module ietf-vn-rsc {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-vn-rsc";
     prefix vnrsc;

     import ietf-inet-types {



Wu, et al.              Expires September 3, 2018              [Page 17]

Internet-Draft       Network Overlay Resource Model           March 2018


       prefix inet;
     }
     import ietf-l3vpn-svc {
       prefix l3vpn-svc;
     }
     import ietf-interfaces{
       prefix if;
     }

     organization
       "IETF OPSAWG Working Group.";
     contact
       "WG List: foo@ietf.org
       Editor:  Qin Wu <mailto:bill.wu@huawei.com>
       Editor:  Zitao Wang <mailto:wangzitao@huawei.com>";

     description
       "The YANG module defines a generic service configuration
       model for Layer VN services common across all of the
       vendor implementations.";

   revision 2018-02-03{
   description
   "Initial revision";
   reference
   "A YANG Data Model for VN Service Delivery.";
   }
   /* Features */


   /* Typedefs */
   typedef svc-id {
    type string;
    description
    "Type definition for servicer identifier";
   }
    typedef address-family {
     type enumeration {
      enum ipv4 {
       description
        "IPv4 address family.";
      }
      enum ipv6 {
       description
        "IPv6 address family.";
      }
     }
     description



Wu, et al.              Expires September 3, 2018              [Page 18]

Internet-Draft       Network Overlay Resource Model           March 2018


      "Defines a type for the address family.";
    }
    /*

   /* Identities */
    identity vn-type {
     description
     "Base identity for VN type";
    }
    identity l2vpn {
     base vn-type;
     description
     "Identity for Layer 2 vpn";
    }
    identity l3vpn {
     base vn-type;
     description
     "Identity for Layer 3 vpn";
    }
    identity evpn {
     base l2vpn;
     description
     "Identity for evpn";
    }
    identity vpls {
     base l2vpn;
     description
     "Identity for vpls";
    }
    identity vpw {
     base l2vpn;
     description
     "Identity for vpw";
    }
    identity vpn-topology {
     description
      "Base identity for VPN topology.";
    }
    identity any-to-any {
     base vpn-topology;
     description
      "Identity for any-to-any VPN topology.";
    }
    identity hub-spoke {
     base vpn-topology;
     description

      "Identity for Hub-and-Spoke VPN topology.";



Wu, et al.              Expires September 3, 2018              [Page 19]

Internet-Draft       Network Overlay Resource Model           March 2018


    }
    identity hub-spoke-disjoint {
     base vpn-topology;
     description
      "Identity for Hub-and-Spoke VPN topology
       where Hubs cannot communicate with each other.";
    }

    identity objective-function{
     description
     "Identity for objective function";
    }

    identity metric-type{
     description
     "Identity for metric type";
    }

    identity hop-type{
     description
     "Identity for hop-type";
    }
    identity loose{
     base hop-type;
     description
     "loose hop in an explicit path";
    }
    identity strict{
     base hop-type;
     description
     "strict hop in an explicit path";
    }
   /* Grouping */
   grouping vn-service-list {
    list vn-service {
     key "vn-id";
     leaf vn-id {
      type svc-id;
      description
      "VN id";
     }
     leaf customer-name {
      type string;
      description
      "Customer name";
     }
     leaf service-topology {
      type identityref {



Wu, et al.              Expires September 3, 2018              [Page 20]

Internet-Draft       Network Overlay Resource Model           March 2018


       base vpn-topology;
      }
      default any-to-any;
      description
       "VPN service topology.";
     }
     container site-network-accesses{
      list site-network-access{
       key "site-network-access-id";
       leaf site-network-access-id{
        type svc-id;
        description
        "Site network access identifier";
       }
       description
       "List for site-network access";
      }
      description
      "Container for site network accesses";
     }

     description
     "List for vn service";
    }
    description
    "Grouping for vn service list";
   }
   grouping vn-services-grouping{
    container vn-services{
     uses vn-service-list;
     description
     "Container for virtual network service";
    }
    description
    "Grouping for vn services";
   }

   grouping interfaces-grouping{
    container interfaces{
     leaf interface{
      type if:interface-ref;
      description
      "Base interface";
     }
     leaf-list sub-interfaces{
      type if:interface-ref;
      description
      "Sub interfaces";



Wu, et al.              Expires September 3, 2018              [Page 21]

Internet-Draft       Network Overlay Resource Model           March 2018


     }
     description
     "Container for interfaces";
    }
    description
    "Grouping for interfaces";
   }

   grouping cpe-device-list{
    list cpe-device{
     key "device-id";
     leaf device-id {
      type svc-id;
      description
      "Device identifier";
     }
     leaf address-family{
      type address-family;
      description
       "Address family used for management. If address-family
       is specified, the address may or may not be specified
      (by the customer).";
     }
     leaf address{
      type inet:ip-address;
      description
      "IP address";
     }
     uses interfaces-grouping;
     description
     "List for devices";
    }
    description
    "Grouping for cpe device list";

   }
   grouping cpe-devices-grouping{
    container cpe-devices{
     uses cpe-device-list;
     description
     "Container for cpe devices";
    }
    description
    "grouping for cpe-devices-grouping";
   }

   grouping bandwidth-grouping {
    leaf svc-input-bandwidth{



Wu, et al.              Expires September 3, 2018              [Page 22]

Internet-Draft       Network Overlay Resource Model           March 2018


     type uint32;
     description
     "Service input bandwidth";
    }
    leaf svc-output-bandwidth{
     type uint32;
     description
     "Service output bandwidth";
    }
    description
    "Grouping for bandwidth";
   }

   grouping attachment-point-grouping{
    container attachment-point{
      leaf pe-device-id {
      type svc-id;
      description
      "PE Device identifier";
     }
     leaf address-family{
      type address-family;
      description
       "Address family used for management. If address-family
       is specified, the address may or may not be specified
      (by the customer).";
     }
     leaf address{
      type inet:ip-address;
      description
      "IP address";
     }
     uses interfaces-grouping;
     description
     "Container for attachment point";
    }
    description
    "Grouping for attachment points";
   }

   grouping vn-attachment-list{
    list vn-attachment{
     key "vn-id";
     leaf vn-id{
      type svc-id;
      description
      "Virtual network identifier";
     }



Wu, et al.              Expires September 3, 2018              [Page 23]

Internet-Draft       Network Overlay Resource Model           March 2018


     leaf vn-type{
      type identityref{
       base vn-type;
      }
      description
      "VN type";
     }
     uses attachment-point-grouping;
     description
     "List for VN attachments";
    }
    description
    "Grouping for VN attachment list";
   }

   grouping vn-attachments-grouping{
    container vn-attachments{
     uses vn-attachment-list;
     description
     "Container for VN attachments";
    }
    description
    "Grouping for VN attachments";
   }

   grouping site-network-access-list{
    list site-network-access{
     key "site-network-access-id";
     leaf site-network-access-id{
      type leafref{
       path "/vn-svc/vn-services/vn-service"
    +"/site-network-accesses/site-network-access"
    +"/site-network-access-id";
      }
      description
      "Site network access identifier";
     }
     leaf device-id {
      type leafref{
       path "/vn-svc/sites/site/cpe-devices"
    +"/cpe-device/device-id";
      }
      description
      "Device id";
     }
     uses l3vpn-svc:access-diversity;
     container service {
      uses bandwidth-grouping;



Wu, et al.              Expires September 3, 2018              [Page 24]

Internet-Draft       Network Overlay Resource Model           March 2018


      leaf svc-mtu {
       type uint16;
    description
    "Service-mtu";
      }
      uses l3vpn-svc:site-service-qos-profile;
      description
      "Container for service";
     }
     uses vn-attachments-grouping;
     description
     "List for site-network access";


    }
    description
    "Grouping for site-network access list";
   }

   grouping site-network-accesses-grouping{
    container site-network-accesses{
     uses site-network-access-list;
     description
     "Container for site network accesses";
    }
    description
    "Grouping for site network accesses";
   }

   grouping site-list-grouping{
    list site {
     key "site-id";
     leaf site-id {
      type svc-id;
      description
      "Site identifier";
     }
     uses cpe-devices-grouping;
     container service {
      uses l3vpn-svc:site-service-qos-profile;
      description
      "Site service";
     }
     uses site-network-accesses-grouping;
     description
     "List for sites";
    }
    description



Wu, et al.              Expires September 3, 2018              [Page 25]

Internet-Draft       Network Overlay Resource Model           March 2018


    "Grouping for site list";
   }

   grouping sites-grouping {
    container sites{
     uses site-list-grouping;
     description
     "Container for sites";
    }
    description
    "Grouping for sites";
   }

   grouping src-grouping{
      container src{
       leaf src-address{
     type leafref {
      path "/vn-svc/sites/site/site-id";
     }
     description
     "Leaf list for source address";
    }
    leaf site-network-access-id{
     type leafref {
      path "/vn-svc/sites/site/site-network-accesses"+
      "/site-network-access/site-network-access-id";
     }
     description
     "Leaf list for site-network-access id";
    }
       description
    "Container for source id";
      }
    description
    "Grouping for source site";
   }

   grouping dst-grouping{
     container dst{
       leaf dst-address{
     type leafref {
      path "/vn-svc/sites/site/site-id";
     }
     description
     "Leaf list for source address";
    }
    leaf site-network-access-id{
     type leafref {



Wu, et al.              Expires September 3, 2018              [Page 26]

Internet-Draft       Network Overlay Resource Model           March 2018


      path "/vn-svc/sites/site/site-network-accesses"+
      "/site-network-access/site-network-access-id";
     }
     description
     "Leaf list for site-network-access id";
    }
       description
    "Container for destination id";
      }
    description
    "Grouping for source site";
   }

   grouping objective-function-group{
    leaf objective-function {
     type identityref{
      base objective-function;
     }
     description
     "operational state of the objective function";
     }
     description
     "Grouping for objective functions";
   }


   grouping path-element-list{
    list path-element{
     key "path-element-id";
     leaf path-element-id{
      type leafref{
      path "/vn-svc/sites/site/site-network-accesses"+
      "/site-network-access/vn-attachments/vn-attachment"+
      "/attachment-point/pe-device-id";
      }
      description
      "Path element identifier";
     }
     leaf address{
      type leafref{
      path "/vn-svc/sites/site/site-network-accesses"+
      "/site-network-access/vn-attachments/vn-attachment"+
      "/attachment-point/address";
      }
      description
      "Path element address";
     }
     description



Wu, et al.              Expires September 3, 2018              [Page 27]

Internet-Draft       Network Overlay Resource Model           March 2018


     "List for path elements";
    }
    description
    "Grouping for path elements";
   }

   grouping constraint-grouping{
    container constraint{
     config false;
     uses path-element-list;
     description
     "Container for constraint";
    }
    description
    "Grouping for constraint";
   }

   grouping metric-grouping{
    list metric {
     key metric-type;
     leaf metric-type {
      type identityref{
       base metric-type;
      }
      description
      "Metric type";
     }
     leaf metric-value {
      type uint32;
      description
      "Metric value";
     }
     description
     "List for metric";
    }
    description
    "Grouping for metric";
   }

   grouping path-list{
    list path-element{
     key "path-element-id";
     leaf path-element-id{
      type leafref{
      path "/vn-svc/sites/site/site-network-accesses"+
      "/site-network-access/vn-attachments/vn-attachment"+
      "/attachment-point/pe-device-id";
      }



Wu, et al.              Expires September 3, 2018              [Page 28]

Internet-Draft       Network Overlay Resource Model           March 2018


      description
      "Path element identifier";
     }
     leaf index{
      type uint32;
      description
      "Index";
     }
     leaf address{
      type leafref{
      path "/vn-svc/sites/site/site-network-accesses"+
      "/site-network-access/vn-attachments/vn-attachment"+
      "/attachment-point/address";
      }
      description
      "Path element address";
     }
     leaf hop-type{
      type identityref {
       base hop-type;
      }
      description
      "Hop type";
     }
     description
     "List for path elements";
    }
    description
    "Grouping for path list";
   }

   grouping path-grouping{
    container path{
    uses path-list;
    description
    "Container for path";
    }
    description
    "Grouping for path";
   }
   grouping access-grouping{
    list source-access{
     key "access-id";
     leaf access-id {
       type leafref{
     path "/vn-svc/sites/site/site-network-accesses"
     +"/site-network-access/site-network-access-id";
    }



Wu, et al.              Expires September 3, 2018              [Page 29]

Internet-Draft       Network Overlay Resource Model           March 2018


      description
      "Access id";
     }
     list destination-access{
     key "access-id";
     leaf access-id {
       type leafref{
     path "/vn-svc/sites/site/site-network-accesses"
     +"/site-network-access/site-network-access-id";
    }
      description
      "Access id";
     }
     description
     "List for destination access id";
    }
    description
    "List for source access id";
    }
    description
    "Grouping for access";
   }
   /* .....................................*/

   container vn-svc{
    uses vn-services-grouping;
    uses sites-grouping;
    description
    "Container for vn service";
   }

   rpc vn-compute{
    description
    "RPC for VN compute";
    input {
     list vn-member-list {
      key "vn-member-id";
      leaf vn-member-id{
       type leafref{
     path "/vn-svc/vn-services/vn-service/vn-id";
    }
    description
    "VN member identifier";
      }
      uses src-grouping;
      uses dst-grouping;
      uses constraint-grouping;
      uses objective-function-group;



Wu, et al.              Expires September 3, 2018              [Page 30]

Internet-Draft       Network Overlay Resource Model           March 2018


      uses metric-grouping;
      description
      "List for vn member";
     }

    }
    output{
     list vn-member-list {
      key "vn-member-id";
      leaf vn-member-id{
       type uint32;
    description
    "VN member identifier";
      }
      uses src-grouping;
      uses dst-grouping;
      uses metric-grouping;
      uses path-grouping;
      description
      "List for vn member";
     }
    }
   }

   rpc vn-stitch{
    description
    "RPC for VN compute";
    input {
     list vn-list {
      key "vn-id";
      leaf vn-id{
       type leafref{
     path "/vn-svc/vn-services/vn-service/vn-id";
    }
    description
    "VN identifier";
      }
      uses access-grouping;
      uses objective-function-group;
      uses metric-grouping;
      description
      "List for vn";
     }

    }
    output{
     list vn-access-list {
      key "index";



Wu, et al.              Expires September 3, 2018              [Page 31]

Internet-Draft       Network Overlay Resource Model           March 2018


      leaf index{
       type uint32;
    description
    "Index for VN access";
      }
      leaf source-access {
       type leafref{
     path "/vn-svc/sites/site/site-network-accesses"
     +"/site-network-access/site-network-access-id";
    }
    description
    "Source Access ID";
      }
      leaf destination-access {
       type leafref{
     path "/vn-svc/sites/site/site-network-accesses"
     +"/site-network-access/site-network-access-id";
    }
    description
    "Destination Access ID";
      }
      list multi-domain-network-access-list {
       key "domain-id network-access-id";
       leaf domain-id {
       type string;
       description
       "Domain ID";
    }
    leaf network-access-id {
     type leafref{
     path "/vn-svc/sites/site/site-network-accesses"
     +"/site-network-access/site-network-access-id";
     }
      description
     "Network access ID";
    }
      description
      "List for multiple domain network access";
      }
      description
      "List for vn access";
     }
    }
   }
   }
   <CODE ENDS>





Wu, et al.              Expires September 3, 2018              [Page 32]

Internet-Draft       Network Overlay Resource Model           March 2018


7.  Security Considerations

   The YANG modules defined in this document MAY be accessed via the
   RESTCONF protocol [RFC8040] or NETCONF protocol ([RFC6241]).  The
   lowest RESTCONF or NETCONF layer requires that the transport-layer
   protocol provides both data integrity and confidentiality, see
   Section 2 in [RFC8040] and [RFC6241].  The lowest NETCONF layer is
   the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH)[RFC6242] . The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   [RFC5246].

   The NETCONF access control model [RFC6536] 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.

   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.  These are the subtrees and data nodes
   and their sensitivity/vulnerability:

   o  /vn-svc/vn-services/vn-service

      The entries in this list include the whole vn service
      configurations to which the customer subscribed, and indirectly
      create or modify the egress and ingress device configurations.
      Unexpected changes to these entries could lead to the service
      disruption and/or network misbehavior.

   o  /vn-svc/sites/site

      The entries in this list include the customer site configurations.
      Unexpected changes to these entries could lead to the service
      disruption and/or network misbehavior.

   Some of the readable data nodes in this YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability:

   o  /vn-svc/vn-services/vn-service

   o  /vn-svc/sites/site



Wu, et al.              Expires September 3, 2018              [Page 33]

Internet-Draft       Network Overlay Resource Model           March 2018


   The entries in these lists include customer-proprietary or
   confidential information, e.g., customer-name, site location, what
   service the customer subscribes.

8.  IANA Considerations

   This document registers a URI in the IETF XML registry [RFC3688].
   Following the format in [RFC3688], the following registration is
   requested to be made:

   ---------------------------------------------------------------------
      URI: urn:ietf:params:xml:ns:yang:ietf-vn-rsc

      Registrant Contact: The IESG.

      XML: N/A, the requested URI is an XML namespace.
   ---------------------------------------------------------------------

   This document registers a YANG module in the YANG Module Names
   registry [RFC7950].

   ---------------------------------------------------------------------
      Name:         ietf-vn-rsc
      Namespace:    urn:ietf:params:xml:ns:yang:ietf-vn-rsc
      Prefix:       vnrsc
      Reference:    RFC xxxx
   ---------------------------------------------------------------------

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", March 1997.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.




Wu, et al.              Expires September 3, 2018              [Page 34]

Internet-Draft       Network Overlay Resource Model           March 2018


   [RFC6370]  Bocci, M., Swallow, G., and E. Gray, "MPLS Transport
              Profile (MPLS-TP) Identifiers", RFC 6370,
              DOI 10.17487/RFC6370, September 2011,
              <https://www.rfc-editor.org/info/rfc6370>.

   [RFC6536]  Bierman, A. and M. Bjorklund, "Network Configuration
              Protocol (NETCONF) Access Control Model", RFC 6536,
              DOI 10.17487/RFC6536, March 2012,
              <https://www.rfc-editor.org/info/rfc6536>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC7952]  Lhotka, L., "Defining and Using Metadata with YANG",
              RFC 7952, DOI 10.17487/RFC7952, August 2016,
              <https://www.rfc-editor.org/info/rfc7952>.

9.2.  Informative References

   [RFC3393]  Demichelis, C. and P. Chimento, "IP Packet Delay Variation
              Metric for IP Performance Metrics (IPPM)", RFC 3393,
              DOI 10.17487/RFC3393, November 2002,
              <https://www.rfc-editor.org/info/rfc3393>.

   [RFC7297]  Boucadair, M., Jacquenet, C., and N. Wang, "IP
              Connectivity Provisioning Profile (CPP)", RFC 7297,
              DOI 10.17487/RFC7297, July 2014,
              <https://www.rfc-editor.org/info/rfc7297>.

   [RFC7679]  Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
              Ed., "A One-Way Delay Metric for IP Performance Metrics
              (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January
              2016, <https://www.rfc-editor.org/info/rfc7679>.

   [RFC7680]  Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
              Ed., "A One-Way Loss Metric for IP Performance Metrics
              (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January
              2016, <https://www.rfc-editor.org/info/rfc7680>.

Authors' Addresses










Wu, et al.              Expires September 3, 2018              [Page 35]

Internet-Draft       Network Overlay Resource Model           March 2018


   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Email: bill.wu@huawei.com


   Michael Wang
   Huawei Technologies,Co.,Ltd
   101 Software Avenue, Yuhua District
   Nanjing  210012
   China

   Email: wangzitao@huawei.com


   Mohamed Boucadair
   Orange
   Rennes  35000
   France

   Email: mohamed.boucadair@orange.com



























Wu, et al.              Expires September 3, 2018              [Page 36]