ietf-pmip-qos

This module contains a collection of YANG definitions for quality of service paramaters used in Proxy Mobile IPv6. Copyright (c...

  • Version: 2018-05-17

    ietf-pmip-qos@2018-05-17


    
      module ietf-pmip-qos {
    
        yang-version 1.1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-pmip-qos";
    
        prefix qos-pmip;
    
        import ietf-inet-types {
          prefix inet;
          revision-date "2013-07-15";
        }
        import ietf-trafficselector-types {
          prefix traffic-selectors;
          revision-date "2018-05-17";
        }
    
        organization
          "IETF Distributed Mobility Management (DMM)
    Working Group";
    
        contact
          "WG Web:   <http://tools.ietf.org/wg/netmod/>
    WG List:  <mailto:netmod@ietf.org>
    
    WG Chair: Dapeng Liu
    	  <mailto:maxpassion@gmail.com>
    
    WG Chair: Sri Gundavelli
    	  <mailto:sgundave@cisco.com>
    
    Editor:   Satoru Matsushima
    	  <mailto:satoru.matsushima@g.softbank.co.jp>
    
    Editor:   Lyle Bertz
    	  <mailto:lylebe551144@gmail.com>";
    
        description
          "This module contains a collection of YANG definitions for
    quality of service paramaters used in Proxy Mobile IPv6.
    
    Copyright (c) 2016 IETF Trust and the persons identified as the
    document authors. All rights reserved.
    
    This document is subject to BCP 78 and the IETF Trust's Legal
    Provisions Relating to IETF Documents
    (http://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.";
    
        revision "2018-05-17" {
          description "Initial Revision.";
          reference
            "RFC 6088: Traffic Selectors for Flow Bindings";
    
        }
    
    
        typedef sr-id {
          type uint8;
          description
            "An 8-bit unsigned integer used for identifying the QoS
    Service Request.";
        }
    
        typedef traffic-class {
          type inet:dscp;
          description
            "Traffic Class consists of a 6-bit DSCP field followed by a
    2-bit reserved field.";
          reference
            "RFC 3289: Management Information Base for the
              Differentiated Services Architecture
             RFC 2474: Definition of the Differentiated Services Field
            	  (DS Field) in the IPv4 and IPv6 Headers
             RFC 2780: IANA Allocation Guidelines For Values In
            	  the Internet Protocol and Related Headers";
    
        }
    
        typedef operational-code {
          type enumeration {
            enum "RESPONSE" {
              value 0;
              description
                "Response to a QoS request";
            }
            enum "ALLOCATE" {
              value 1;
              description
                "Request to allocate QoS resources";
            }
            enum "DE-ALLOCATE" {
              value 2;
              description
                "Request to de-Allocate QoS resources";
            }
            enum "MODIFY" {
              value 3;
              description
                "Request to modify QoS parameters for a
    previously negotiated QoS Service Request";
            }
            enum "QUERY" {
              value 4;
              description
                "Query to list the previously negotiated QoS
    Service Requests that are still active";
            }
            enum "NEGOTIATE" {
              value 5;
              description
                "Response to a QoS Service Request with a
    counter QoS proposal";
            }
          }
          description
            "The type of QoS request. Reserved values:   (6) to (255)
    	Currently not used.  Receiver MUST ignore the option
    	received with any value in this range.";
        }
    
        typedef Per-MN-Agg-Max-DL-Bit-Rate-Value {
          type uint32;
          description
            "The aggregate maximum downlink bit rate that is
    requested/allocated for all the mobile node's IP flows.
    The measurement units are bits per second.";
        }
    
        typedef Per-MN-Agg-Max-UL-Bit-Rate-Value {
          type uint32;
          description
            "The aggregate maximum uplink bit rate that is
       requested/allocated for the mobile node's IP flows.  The
       measurement units are bits per second.";
        }
    
        grouping Per-Session-Agg-Max-Bit-Rate-Value {
          description
            "Per-Session-Agg-Max-Bit-Rate Value";
          leaf max-rate {
            type uint32;
            mandatory true;
            description
              "The aggregate maximum bit rate that is requested/allocated
    for all the IP flows associated with that mobility session.
    The measurement units are bits per second.";
          }
    
          leaf service-flag {
            type boolean;
            mandatory true;
            description
              "This flag is used for extending the scope of the
    target flows for Per-Session-Agg-Max-UL/DL-Bit-Rate
    from(UL)/to(DL) the mobile node's other mobility sessions
    sharing the same Service Identifier.";
            reference
              "RFC 5149 - Service Selection mobility option";
    
          }
    
          leaf exclude-flag {
            type boolean;
            mandatory true;
            description
              "This flag is used to request that the uplink/downlink
    flows for which the network is providing
       Guaranteed-Bit-Rate service be excluded from the
       target IP flows for which
       Per-Session-Agg-Max-UL/DL-Bit-Rate is measured.";
          }
        }  // grouping Per-Session-Agg-Max-Bit-Rate-Value
    
        grouping Allocation-Retention-Priority-Value {
          description
            "Allocation-Retention-Priority Value";
          leaf priority-level {
            type uint8 {
              range "0..15";
            }
            mandatory true;
            description
              "This is a 4-bit unsigned integer value. It is used to decide
    whether a mobility session establishment or modification
    request can be accepted; this is typically used for
    admission control of Guaranteed Bit Rate traffic in case of
    resource limitations.";
          }
    
          leaf preemption-capability {
            type enumeration {
              enum "enabled" {
                value 0;
                description "enabled";
              }
              enum "disabled" {
                value 1;
                description "disabled";
              }
              enum "reserved1" {
                value 2;
                description "reserved1";
              }
              enum "reserved2" {
                value 3;
                description "reserved2";
              }
            }
            mandatory true;
            description
              "This is a 2-bit unsigned integer value.  It defines whether a
    service data flow can get resources tha were already
    assigned to another service data flow with a lower priority
    level.";
          }
    
          leaf preemption-vulnerability {
            type enumeration {
              enum "enabled" {
                value 0;
                description "enabled";
              }
              enum "disabled" {
                value 1;
                description "disabled";
              }
              enum "reserved1" {
                value 2;
                description "reserved1";
              }
              enum "reserved2" {
                value 3;
                description "reserved2";
              }
            }
            mandatory true;
            description
              "This is a 2-bit unsigned integer value.  It defines whether a
     service data flow can lose the resources assigned to it in
     order to admit a service data flow with a higher priority
     level.";
          }
        }  // grouping Allocation-Retention-Priority-Value
    
        typedef Aggregate-Max-DL-Bit-Rate-Value {
          type uint32;
          description
            "The aggregate maximum downlink bit rate that is
    requested/allocated for downlink IP flows.  The measurement
    units are bits per second.";
        }
    
        typedef Aggregate-Max-UL-Bit-Rate-Value {
          type uint32;
          description
            "The aggregate maximum downlink bit rate that is
    requested/allocated for downlink IP flows.  The measurement
    units are bits per second.";
        }
    
        typedef Guaranteed-DL-Bit-Rate-Value {
          type uint32;
          description
            "The guaranteed bandwidth in bits per second for downlink
     IP flows.  The measurement units are bits per second.";
        }
    
        typedef Guaranteed-UL-Bit-Rate-Value {
          type uint32;
          description
            "The guaranteed bandwidth in bits per second for uplink
    IP flows.  The measurement units are bits per second.";
        }
    
        grouping QoS-Vendor-Specific-Attribute-Value-Base {
          description
            "QoS Vendor-Specific Attribute.";
          leaf vendorid {
            type uint32;
            mandatory true;
            description
              "The Vendor ID is the SMI (Structure of Management
    Information) Network Management Private Enterprise Code of
    the IANA-maintained 'Private Enterprise Numbers'
    registry.";
            reference
              "'PRIVATE ENTERPRISE NUMBERS', SMI Network Management
               Private Enterprise Codes, April 2014,
                <http://www.iana.org/assignments/enterprise-numbers>";
    
          }
    
          leaf subtype {
            type uint8;
            mandatory true;
            description
              "An 8-bit field indicating the type of vendor-specific
    information carried in the option.  The namespace for this
    sub-type is managed by the vendor identified by the
    Vendor ID field.";
          }
        }  // grouping QoS-Vendor-Specific-Attribute-Value-Base
    
        grouping qosattribute {
          description
            "PMIP QoS Attributes. Note Vendor option
    is not a part of this grouping";
          leaf per-mn-agg-max-dl {
            type Per-MN-Agg-Max-DL-Bit-Rate-Value;
            description
              "Per-MN-Agg-Max-DL-Bit-Rate Value";
          }
    
          leaf per-mn-agg-max-ul {
            type Per-MN-Agg-Max-UL-Bit-Rate-Value;
            description
              "Per-MN-Agg-Max-UL-Bit-Rate Value";
          }
    
          container per-session-agg-max-dl {
            description
              "Per-Session-Agg-Max-Bit-Rate Value";
            uses qos-pmip:Per-Session-Agg-Max-Bit-Rate-Value;
          }  // container per-session-agg-max-dl
    
          container per-session-agg-max-ul {
            description
              "Per-Session-Agg-Max-Bit-Rate Value";
            uses qos-pmip:Per-Session-Agg-Max-Bit-Rate-Value;
          }  // container per-session-agg-max-ul
    
          uses qos-pmip:Allocation-Retention-Priority-Value;
    
          leaf agg-max-dl {
            type Aggregate-Max-DL-Bit-Rate-Value;
            description
              "Aggregate-Max-DL-Bit-Rate Value";
          }
    
          leaf agg-max-ul {
            type Aggregate-Max-UL-Bit-Rate-Value;
            description
              "Aggregate-Max-UL-Bit-Rate Value";
          }
    
          leaf gbr-dl {
            type Guaranteed-DL-Bit-Rate-Value;
            description
              "Guaranteed-DL-Bit-Rate Value";
          }
    
          leaf gbr-ul {
            type Guaranteed-UL-Bit-Rate-Value;
            description
              "Guaranteed-UL-Bit-Rate Value";
          }
        }  // grouping qosattribute
    
        grouping qosoption {
          description "PMIP QoS Option";
          leaf srid {
            type sr-id;
            mandatory true;
            description
              "Service Request Identifier";
          }
    
          leaf trafficclass {
            type traffic-class;
            mandatory true;
            description "Traffic Class";
          }
    
          leaf operationcode {
            type operational-code;
            mandatory true;
            description "Operation Code";
          }
    
          uses qos-pmip:qosattribute;
    
          uses qos-pmip:QoS-Vendor-Specific-Attribute-Value-Base;
    
          container traffic-selector {
            description "traffic selector";
            uses traffic-selectors:traffic-selector;
          }  // container traffic-selector
        }  // grouping qosoption
      }  // module ietf-pmip-qos
    

© 2023 YumaWorks, Inc. All rights reserved.