ietf-qos-oper

This module contains a collection of YANG definitions for qos operational specification. Copyright (c) 2021 IETF Trust and the p...

  • Version: 2021-07-12

    ietf-qos-oper@2021-07-12


    
      module ietf-qos-oper {
    
        yang-version 1.1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-qos-oper";
    
        prefix oper;
    
        import ietf-interfaces {
          prefix if;
          reference
            "RFC8343: A YANG Data Model for Interface Management";
    
    
        }
    
        organization
          "IETF RTG (Routing Area) Working Group";
    
        contact
          "WG Web:   <http://tools.ietf.org/wg/rtgwg/>
         WG List:  <mailto:rtgwg@ietf.org>
         Editor:   Aseem Choudhary
                   <mailto:asechoud@cisco.com>";
    
        description
          "This module contains a collection of YANG definitions for
         qos operational specification.
         Copyright (c) 2021 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 "2021-07-12" {
          description
            "Initial revision for qos operational statistics";
          reference
            "RFC XXXX: YANG Model for QOS Operational Parameters";
    
        }
    
    
        identity direction {
          description
            "This is identity of traffic direction";
        }
    
        identity inbound {
          base direction;
          description
            "Direction of traffic coming into the network entry";
        }
    
        identity outbound {
          base direction;
          description
            "Direction of traffic going out of the network entry";
        }
    
        grouping classifier-entry-stats {
          description
            "
           This group defines the classifier filter counters of
           each classifier entry
          ";
          leaf classified-pkts {
            type uint64;
            description
              " Number of total packets which filtered
              to a classifier-entry";
          }
    
          leaf classified-bytes {
            type uint64;
            description
              " Number of total bytes which filtered
              to a classifier-entry";
          }
    
          leaf classified-rate {
            type uint64;
            units "bits-per-second";
            description
              " Rate of average data flow through a
              classifier-entry";
          }
        }  // grouping classifier-entry-stats
    
        grouping named-stats {
          description
            "QoS matching statistics associated with a stats-name";
          leaf pkts {
            type uint64;
            description
              " Number of total matched packets associated
                to a statistics name";
          }
    
          leaf bytes {
            type uint64;
            description
              " Number of total matched bytes associated
                to a statistics name";
          }
    
          leaf rate {
            type uint64;
            units "bits-per-second";
            description
              " Rate of average matched data which is associated
                to a statistics name";
          }
        }  // grouping named-stats
    
        grouping queue-stats {
          description "Queuing Counters";
          leaf output-conform-pkts {
            type uint64;
            description
              "Number of packets transmitted from queue ";
          }
    
          leaf output-conform-bytes {
            type uint64;
            description
              "Number of bytes transmitted from queue ";
          }
    
          leaf output-exceed-pkts {
            type uint64;
            description
              "Number of packets transmitted from queue ";
          }
    
          leaf output-exceed-bytes {
            type uint64;
            description
              "Number of bytes transmitted from queue ";
          }
    
          leaf queue-current-size-bytes {
            type uint64;
            description
              "Number of bytes currently buffered ";
          }
    
          leaf queue-average-size-bytes {
            type uint64;
            description
              "Average queue size in number of bytes";
          }
    
          leaf queue-peak-size-bytes {
            type uint64;
            description
              "Peak buffer queue size in bytes ";
          }
    
          leaf tailed-drop-pkts {
            type uint64;
            description
              "Total number of packets tail-dropped ";
          }
    
          leaf tailed-drop-bytes {
            type uint64;
            description
              "Total number of bytes tail-dropped ";
          }
        }  // grouping queue-stats
    
        grouping meter-stats {
          description "Metering counters";
          leaf conform-pkts {
            type uint64;
            description
              "Number of conform packets";
          }
    
          leaf conform-bytes {
            type uint64;
            description
              "Bytes of conform packets";
          }
    
          leaf conform-rate {
            type uint64;
            units "bits-per-second";
            description
              "Traffic Rate measured as conformimg";
          }
    
          leaf exceed-pkts {
            type uint64;
            description
              "Number of packets counted as exceeding";
          }
    
          leaf exceed-bytes {
            type uint64;
            description
              "Bytes of packets counted as exceeding";
          }
    
          leaf exceed-rate {
            type uint64;
            units "bits-per-second";
            description
              "Traffic Rate measured as exceeding";
          }
    
          leaf violate-pkts {
            type uint64;
            description
              "Number of packets counted as violating";
          }
    
          leaf violate-bytes {
            type uint64;
            description
              "Bytes of packets counted as violating";
          }
    
          leaf violate-rate {
            type uint64;
            units "bits-per-second";
            description
              "Traffic Rate measured as violating";
          }
    
          leaf meter-drop-pkts {
            type uint64;
            description
              "Number of packets dropped by meter";
          }
    
          leaf meter-drop-bytes {
            type uint64;
            description
              "Bytes of packets dropped by meter";
          }
        }  // grouping meter-stats
    
        grouping classifier-entry-statistics {
          description
            "Statistics for a classifier entry";
          leaf classifier-entry-name {
            type string;
            description "Classifier Entry Name";
          }
    
          uses classifier-entry-stats;
        }  // grouping classifier-entry-statistics
    
        grouping queuing-stats {
          description "Statistics for a queue";
          leaf queue-id {
            type string;
            description "Queue Identifier";
          }
    
          uses queue-stats;
        }  // grouping queuing-stats
    
        grouping metering-stats {
          description "Statistics for a meter";
          leaf meter-id {
            type string;
            description "Meter Identifier";
          }
    
          uses meter-stats;
        }  // grouping metering-stats
    
        augment /if:interfaces/if:interface {
          description
            "Augments Qos Target Entry to Interface module";
          container qos-interface-statistics {
            config false;
            description
              "Qos Interface statistics";
            list stats-per-direction {
              description
                "Qos Interface statistics for ingress or egress direction";
              leaf direction {
                type identityref {
                  base direction;
                }
                description
                  "Direction fo the traffic flow either inbound or
                 outbound";
              }
    
              leaf policy-name {
                type string;
                description
                  "Policy entry name for single level policy as well as
                 for Hierarchical policies. For Hierarchical policies,
                 this represent relative path as well as the last level
                 policy name.";
              }
    
              list classifier-statistics {
                description
                  "Classifier Statistics for each Classifier Entry in a
                 Policy applied in a particular direction";
                reference
                  "RFC3289: Section 6";
    
                uses classifier-entry-statistics;
              }  // list classifier-statistics
    
              list named-statistics {
                config false;
                description
                  "Statistics for a statistics-name";
                leaf stats-name {
                  type string;
                  description
                    "stats-name represents classifier, metering and/or
                   queuing name. Classifier statistics may  be aggregated
                   or non-aggregated type. Metering and queuing
                   statistics is of non-aggregated type only representing
                   counters for meter and queue respectively. Stats-name
                   may include hierarchical path as well if the counters
                   represent hierarchical policy statistics";
                }
    
                container aggregated {
                  description
                    "Matched aggregated statistics for a statistics-name";
                  uses named-stats;
                }  // container aggregated
    
                container non-aggregated {
                  description
                    "Statistics for non-aggregated statistics-name";
                  list classifier-statistics {
                    description
                      "Classifier Statistics for each Classifier Entry in a
                     Policy applied in a particular direction";
                    uses classifier-entry-statistics;
                  }  // list classifier-statistics
    
                  list metering-statistics {
                    config false;
                    description
                      "Statistics for each Meter associated with
                     the Policy";
                    reference
                      "RFC2697: A Single Rate Three Color Marker
                       RFC2698: A Two Rate Three Color Marker";
    
                    uses metering-stats;
                  }  // list metering-statistics
    
                  list queueing-statistics {
                    config false;
                    description
                      "Statistics for each Queue associated with
                     the Policy";
                    uses queuing-stats;
                  }  // list queueing-statistics
                }  // container non-aggregated
              }  // list named-statistics
    
              list metering-statistics {
                config false;
                description
                  "Statistics for each Meter associated with the Policy";
                reference
                  "RFC2697: A Single Rate Three Color Marker
                   RFC2698: A Two Rate Three Color Marker";
    
                uses metering-stats;
              }  // list metering-statistics
    
              list queueing-statistics {
                config false;
                description
                  "Statistics for each Queue associated with the Policy";
                uses queuing-stats;
              }  // list queueing-statistics
            }  // list stats-per-direction
          }  // container qos-interface-statistics
        }
      }  // module ietf-qos-oper
    

© 2023 YumaWorks, Inc. All rights reserved.