netconfcentral logo

ietf-scheduler-policy

HTML

ietf-scheduler-policy@2019-03-13



  module ietf-scheduler-policy {

    yang-version 1.1;

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

    prefix scheduler-policy;

    import ietf-qos-classifier {
      prefix classifier;
      reference
        "RFC XXXX: YANG Model for QoS";


    }
    import ietf-qos-policy {
      prefix policy;
      reference
        "RFC XXXX: YANG Model for QoS";


    }
    import ietf-qos-action {
      prefix action;
      reference
        "RFC XXXX: YANG Model for QoS";


    }

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

    contact
      "WG Web:   <http://tools.ietf.org/wg/rtgwg/>
     WG List:  <mailto:rtgwg@ietf.org>
     Editor:   Norm Strahle
               <mailto:nstrahle@juniper.net>
     Editor:   Aseem Choudhary
               <mailto:asechoud@cisco.com>";

    description
      "This module contains a collection of YANG definitions for
     configuring diffserv specification implementations.
     Copyright (c) 2019 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 "2019-03-13" {
      description
        "Latest revision of scheduler policy module";
      reference
        "RFC XXXX: YANG Model for QoS";

    }


    feature scheduler-policy-support {
      description
        " This feature allows sheduler policy configuration
        as a separate policy type support.";
    }

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

    identity filter-match-all {
      base classifier:filter-type;
      description
        "Traffic-group filter type";
    }

    grouping filter-match-all-cfg {
      description
        "the match-all filter grouping";
      container match-all-cfg {
        description "the match-all action";
        leaf match-all-action {
          type empty;
          description "match all packets";
        }
      }  // container match-all-cfg
    }  // grouping filter-match-all-cfg

    augment /policy:policies/policy:policy-entry/policy:classifier-entry/policy:filter-entry {
      when
        "../../policy:policy-type =
              'scheduler-policy:scheduler-policy-type'" {
        description
          "Only when policy type is scheduler-policy";
      }
      description
        "Augments Queue policy Classifier with common filter types";
      choice filter-params {
        description "Choice of action types";
        case filter-match-all {
          description "filter match-all";
          uses filter-match-all-cfg;
        }  // case filter-match-all
      }  // choice filter-params
    }

    identity queue-policy-name {
      base policy:action-type;
      description "queue policy name";
    }

    grouping queue-policy-name-cfg {
      description
        "queue-policy name grouping";
      container queue-policy-name {
        description
          "container for queue-policy name";
        leaf queue-policy {
          type string;
          mandatory true;
          description
            "This leaf defines name of the queue-policy";
        }
      }  // container queue-policy-name
    }  // grouping queue-policy-name-cfg

    augment /policy:policies/policy:policy-entry/policy:classifier-entry/policy:classifier-action-entry-cfg/policy:action-cfg-params {
      when
        "../../policy:policy-type =
                'scheduler-policy:scheduler-policy-type'" {
        description
          "Only when policy type is scheduler-policy";
      }
      description
        "augments scheduler template reference to scheduler policy";
      case scheduler {
        uses action:scheduler;
      }  // case scheduler

      case queue-policy-name {
        uses queue-policy-name-cfg;
      }  // case queue-policy-name
    }
  }  // module ietf-scheduler-policy

Summary

  
  
Organization IETF RTG (Routing Area) Working Group
  
Module ietf-scheduler-policy
Version 2019-03-13
File ietf-scheduler-policy@2019-03-13.yang
  
Prefix scheduler-policy
Namespace urn:ietf:params:xml:ns:yang:ietf-scheduler-policy
  
Cooked /cookedmodules/ietf-scheduler-policy/2019-03-13
YANG /src/ietf-scheduler-policy@2019-03-13.yang
XSD /xsd/ietf-scheduler-policy@2019-03-13.xsd
  
Abstract This module contains a collection of YANG definitions for configuring diffserv specification implementations. Copyright (c) 2019...
  
Contact
WG Web:   <http://tools.ietf.org/wg/rtgwg/>
WG List:  <mailto:rtgwg@ietf.org>
Editor:   Norm Strahle
	  <mailto:nstrahle@juniper.net>
Editor:   Aseem Choudhary
	  <mailto:asechoud@cisco.com>

Description

 
This module contains a collection of YANG definitions for
configuring diffserv specification implementations.
Copyright (c) 2019 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.

Groupings

Grouping Objects Abstract
filter-match-all-cfg match-all-cfg the match-all filter grouping
queue-policy-name-cfg queue-policy-name queue-policy name grouping