netconfcentral logo

ietf-qos-policy@2016-03-03



  module ietf-qos-policy {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-qos-policy";

    prefix policy;

    import ietf-qos-classifier {
      prefix classifier;
    }

    organization
      "IETF RTG (Routing Area) Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/rtgwg/>
     WG List:  <mailto:rtgwg@ietf.org>
     WG Chair: Chris Bowers
               <mailto:cbowers@juniper.net>
     WG Chair: Jeff Tantsura
               <mailto:jefftant.ietf@gmail.com>
     Editor:   Aseem Choudhary
               <mailto:asechoud@cisco.com>
     Editor:   Mahesh Jethanandani
               <mailto:mjethanandani@gmail.com>
     Editor:   Norm Strahle
               <mailto:nstrahle@juniper.net>";

    description
      "This module contains a collection of YANG definitions for
     configuring qos specification implementations.
     Copyright (c) 2014 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.
     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).
     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

    revision "2016-03-03" {
      description
        "Latest revision of qos policy";
      reference
        "RFC XXXX";

    }


    identity policy-type {
      base 
      description
        "This base identity type defines policy-types";
    }

    grouping policy-generic-attr {
      description "Policy Attributes";
      leaf policy-name {
        type string;
        description "policy name";
      }

      leaf policy-type {
        type identityref {
          base policy-type;
        }
        description "policy type";
      }

      leaf policy-descr {
        type string;
        description "policy description";
      }
    }  // grouping policy-generic-attr

    identity action-type {
      base 
      description
        "This base identity type defines action-types";
    }

    grouping classifier-action-entry-cfg {
      description
        "List of Configuration of classifier & associated actions";
      list classifier-action-entry-cfg {
        key "action-type";
        ordered-by user;
        description
          "Configuration of classifier & associated actions";
        leaf action-type {
          type identityref {
            base action-type;
          }
          description
            "This defines action type ";
        }

        choice action-cfg-params {
          description
            "Choice of action types";
        }  // choice action-cfg-params
      }  // list classifier-action-entry-cfg
    }  // grouping classifier-action-entry-cfg

    container policies {
      description "list of policy templates";
      list policy-entry {
        key "policy-name policy-type";
        description "policy template";
        uses policy-generic-attr;

        list classifier-entry {
          key "classifier-entry-name";
          ordered-by user;
          description
            "Classifier entry configuration in a policy";
          leaf classifier-entry-name {
            type string;
            description
              "classifier entry name";
          }

          uses classifier:classifier-entry-inline-attr;

          uses classifier-action-entry-cfg;
        }  // list classifier-entry
      }  // list policy-entry
    }  // container policies
  }  // module ietf-qos-policy