netconfcentral logo

openconfig-qos-types

HTML

openconfig-qos-types@2016-12-16



  module openconfig-qos-types {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/qos-types";

    prefix oc-qos-types;

    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "This module defines types and identities used in OpenConfig
    models related to quality-of-service (QoS)";

    revision "2016-12-16" {
      description
        "Fix incorrect interface-ref placement";
      reference
        "0.2.0";

    }

    revision "2016-08-08" {
      description "Initial revision";
      reference
        "0.1.0";

    }

    oc-ext:openconfig-version "0.2.0";

    identity QOS_QUEUE_TYPE {
      base 
      description
        "Base identity for supported queue types, primarily
      defined by their drop behavior / strategy";
    }

    identity DROP_TAIL {
      base QOS_QUEUE_TYPE;
      description
        "When the queue is filled to capacity, newly arriving packets
      are discarded until there is room in the queue to accept new
      traffic.  Packets are not differentiated, i.e., all packets
      are treated identically.";
    }

    identity RED {
      base QOS_QUEUE_TYPE;
      description
        "Queue management based on Random Early Detection (RED).  RED
      drops packets based on a drop probability that is based on the
      average queue length, and settings of mininum and maximum
      queue thresholds.  On ECN-capable devices, packets may be
      marked instead of dropped to signal congestion to the
      sender.";
      reference
        "IETF RFC 2309 - Recommendations on Queue Management and
        Congestion Avoidance in the Internet
        IETF RFC 7567 - IETF Recommendations Regarding Active Queue
        Management";

    }

    identity WRED {
      base QOS_QUEUE_TYPE;
      description
        "Queue management based on a variant of RED in which the packet
      drop probability is based on its traffic class.";
    }

    identity QOS_SCHEDULER_TYPE {
      base 
      description
        "Base identity to describe supported QoS scheduler types.";
    }

    identity ONE_RATE_TWO_COLOR {
      base QOS_SCHEDULER_TYPE;
      description
        "Token bucket scheduler with a single rate (committed information
      rate) and two colors (conforming and exceeding).  The scheduler
      behavior is governed by two parameters, the CIR which
      determines the rate of token fill (bps) and the committed
      burst size (depth of the token bucket in bytes).";
    }

    identity TWO_RATE_THREE_COLOR {
      base QOS_SCHEDULER_TYPE;
      description
        "Token bucket scheduler with two buckets, one filled at the
      committed information rate (CIR) in bps, and the second filled
      at the peak information rate (PIR) in bps when the first
      bucket is full.  The first bucket depth is
      the committed burst size (bytes), and the second is the
      excess burst size (bytes).  Traffic is categorized in three
      colors as follows: traffic that falls within the
      the CIR is conforming, traffic that is greater than the CIR
      but less than the PIR is exceeding, and traffic that is
      greater than PIR is violating.";
    }

    typedef queue-behavior {
      type enumeration {
        enum "SHAPE" {
          value 0;
          description
            "Packets that exceed the CIR should be queued into a
          buffer. The depth of the buffer is specified to be
          max-queue-depth-bytes or max-queue-depth-packets.
          Packets are subsequently scheduled from this queue
          to the specified output. Only packets that overflow
          the buffer have the exceed action applied to them.";
        }
        enum "POLICE" {
          value 1;
          description
            "Packets that exceed the CIR should be immediately
          treated as exceeding the defined rate of the scheduler
          and have the exceed action applied to them.";
        }
      }
      description
        "Type definition for different queueing behaviours that
      are available to a scheduler.";
    }
  }  // module openconfig-qos-types

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-qos-types
Version 2016-12-16
File openconfig-qos-types.yang
  
Prefix oc-qos-types
Namespace http://openconfig.net/yang/qos-types
  
Cooked /cookedmodules/openconfig-qos-types/2016-12-16
YANG /src/openconfig-qos-types@2016-12-16.yang
XSD /xsd/openconfig-qos-types@2016-12-16.xsd
  
Abstract This module defines types and identities used in OpenConfig models related to quality-of-service (QoS)
  
Contact
OpenConfig working group
www.openconfig.net

Description

 
This module defines types and identities used in OpenConfig
models related to quality-of-service (QoS)

Typedefs

Typedef Base type Abstract
queue-behavior enumeration Type definition for different queueing behaviours that are available to a scheduler.