Cisco-IOS-XE-flow-monitor-oper

This module contains a collection of YANG definitions for Flexible NetFlow Operational data. Copyright (c) 2016-2017, 2019 by Ci...

  • Version: 2019-05-01

    Cisco-IOS-XE-flow-monitor-oper@2019-05-01


    
      module Cisco-IOS-XE-flow-monitor-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-flow-monitor-oper";
    
        prefix flow-monitor-ios-xe-oper;
    
        import ietf-yang-types {
          prefix yang;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Flexible NetFlow Operational data.
         Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-05-01" {
          description "Added semantic version";
          reference
            "1.4.0";
    
        }
    
        revision "2018-10-29" {
          description
            "Cleaned up spelling errors in descriptions.";
          reference
            "1.3.0";
    
        }
    
        revision "2017-11-30" {
          description
            "Additional models for statistics";
          reference
            "1.2.0";
    
        }
    
        revision "2017-04-01" {
          description "Put keys on one line";
          reference
            "1.1.0";
    
        }
    
        revision "2017-02-07" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.4.0";
        cisco-semver:module-version "1.3.0";
        cisco-semver:module-version "1.2.0";
        cisco-semver:module-version "1.1.0";
        cisco-semver:module-version "1.0.0";
    
        typedef flow-exporter-ipwrite-stats-type {
          type enumeration {
            enum
              "flow-exporter-ipwrite-stats-ok" {
              value 0;
              description
                "Normal Statistics event";
            }
            enum
              "flow-exporter-ipwrite-stats-no-fib" {
              value 1;
              description
                "No Forwarding Information Base event";
            }
            enum
              "flow-exporter-ipwrite-stats-fail-event" {
              value 2;
              description
                "Adjacency failed event";
            }
            enum
              "flow-exporter-ipwrite-stats-process" {
              value 3;
              description "Process switch event";
            }
            enum
              "flow-exporter-ipwrite-stats-enqueue-failed" {
              value 4;
              description "Enqueue Failed event";
            }
            enum
              "flow-exporter-ipwrite-stats-ipc-failed" {
              value 5;
              description "IPC failed event";
            }
            enum
              "flow-exporter-ipwrite-stats-output-failed" {
              value 6;
              description "Output failed event";
            }
            enum
              "flow-exporter-ipwrite-stats-mtu-failed" {
              value 7;
              description
                "Maximum Transmission Unit failed event";
            }
            enum
              "flow-exporter-ipwrite-stats-encapfix-failed" {
              value 8;
              description
                "Encapsulation Fixup failed event";
            }
            enum
              "flow-exporter-ipwrite-stats-cef-off" {
              value 9;
              description
                "Cisco Express Forwarding off event";
            }
            enum
              "flow-exporter-ipwrite-stats-other" {
              value 10;
              description "Other event";
            }
            enum
              "flow-exporter-ipwrite-stats-rate-limit" {
              value 11;
              description "Rate Limit event";
            }
            enum
              "flow-exporter-ipwrite-stats-no-destination" {
              value 12;
              description "No destination event";
            }
          }
          description
            "The Netflow export statistics";
        }
    
        typedef flow-monitor-cache-type {
          type enumeration {
            enum
              "flow-monitor-cache-type-normal" {
              value 0;
              description
                "Normal Flow monitor cache";
            }
            enum
              "flow-monitor-cache-type-permanent" {
              value 1;
              description "Permanent cache type";
            }
            enum
              "flow-monitor-cache-type-synchronized" {
              value 2;
              description
                "Synchronized Flow monitor cache type";
            }
            enum
              "flow-monitor-cache-type-immediate" {
              value 3;
              description
                "Immediate Flow monitor cache type";
            }
          }
          description
            "The flow monitor cache type";
        }
    
        typedef flow-monitor-cache-state {
          type enumeration {
            enum
              "flow-monitor-cache-state-being-deleted" {
              value 0;
              description
                "Flow monitor cache is being deleted";
            }
            enum
              "flow-monitor-cache-state-being-allocated" {
              value 1;
              description
                "Flow monitor cache is being allocated";
            }
            enum
              "flow-monitor-cache-state-not-allocated" {
              value 2;
              description
                "Flow monitor cache is not allocated";
            }
          }
          description "Flow monitor cache state";
        }
    
        grouping oper-flow-key {
          description
            "Unique identifier of a flow";
          leaf source-address {
            type string;
            description
              "Source address of the flow";
          }
    
          leaf destination-address {
            type string;
            description
              "Destination address of the flow";
          }
    
          leaf interface-input {
            type string;
            description
              "Input interface of the flow";
          }
    
          leaf is-multicast {
            type string;
            description "Multicast flow";
          }
    
          leaf vrf-id-input {
            type int64;
            description "VRF ID input";
          }
    
          leaf source-port {
            type int64;
            description "Source port number";
          }
    
          leaf destination-port {
            type int64;
            description
              "Destination port number";
          }
    
          leaf ip-tos {
            type string;
            description "ip-tos value";
          }
    
          leaf ip-protocol {
            type int64;
            description "IP protocol number";
          }
        }  // grouping oper-flow-key
    
        grouping oper-flow {
          description "Flow details";
          leaf interface-output {
            type string;
            description
              "Output interface of the flow";
          }
    
          leaf bytes {
            type int64;
            description
              "Number of bytes passed through";
          }
    
          leaf packets {
            type int64;
            description
              "Number of packets passed through";
          }
        }  // grouping oper-flow
    
        grouping oper-flow-monitor {
          description "Flow monitor details";
          leaf name {
            type string;
            description
              "Name of the flow monitor";
          }
    
          leaf time-collected {
            type uint64;
            description
              "Time the flow monitor data was collected in seconds";
          }
    
          container flows {
            description
              "All the flows for this flow monitor";
            list flow {
              key "source-address destination-address interface-input is-multicast vrf-id-input source-port destination-port ip-tos ip-protocol";
              description "List of flows";
              uses flow-monitor-ios-xe-oper:oper-flow-key;
    
              uses flow-monitor-ios-xe-oper:oper-flow;
            }  // list flow
          }  // container flows
        }  // grouping oper-flow-monitor
    
        grouping flow-export-ipwrite-stats {
          description "Flow export statistics";
          leaf type {
            type flow-exporter-ipwrite-stats-type;
            description
              "The type of the export statistics";
          }
    
          leaf pkt-counts {
            type uint64;
            description
              "The packet counts that have been exported";
          }
    
          leaf byte-counts {
            type uint64;
            description
              "The byte counts that have been exported";
          }
        }  // grouping flow-export-ipwrite-stats
    
        grouping flow-export-protocol-stats {
          description
            "Flow export protocol statistics";
          leaf bytes-added {
            type uint64;
            description
              "Number of byte added to the exporter";
          }
    
          leaf bytes-sent {
            type uint64;
            description
              "Bytes sent on this exporter";
          }
    
          leaf bytes-dropped {
            type uint64;
            description "Bytes dropped ";
          }
    
          leaf records-added {
            type uint64;
            description
              "Number of records added";
          }
    
          leaf records-sent {
            type uint64;
            description "Number of records sent";
          }
    
          leaf records-dropped {
            type uint64;
            description
              "Number of records dropped";
          }
        }  // grouping flow-export-protocol-stats
    
        grouping flow-exporter-client {
          description "Flow exporter client";
          leaf name {
            type string;
            description
              "The name of the flow export client";
          }
    
          leaf group {
            type string;
            description
              "The group that this exporter client belongs to";
          }
    
          container protocol-stats {
            description
              "The container with the protocol statistics";
            uses flow-monitor-ios-xe-oper:flow-export-protocol-stats;
          }  // container protocol-stats
        }  // grouping flow-exporter-client
    
        grouping flow-transport-stats {
          description
            "Flow transport statistics";
          leaf last-cleared {
            type yang:date-and-time;
            description
              "Time when the statistics were last cleared";
          }
    
          list flow-exporter-stats {
            description
              "Container of the exporter statistics";
            uses flow-monitor-ios-xe-oper:flow-export-ipwrite-stats;
          }  // list flow-exporter-stats
        }  // grouping flow-transport-stats
    
        grouping flow-export-statistics {
          description
            "The flow exporter statistics";
          leaf name {
            type string;
            description
              "The name of the flow exporter";
          }
    
          container transport-stats {
            description
              "The container for the transport statistics";
            uses flow-monitor-ios-xe-oper:flow-transport-stats;
          }  // container transport-stats
    
          list export-client {
            description
              "The container for the export client information";
            uses flow-monitor-ios-xe-oper:flow-exporter-client;
          }  // list export-client
        }  // grouping flow-export-statistics
    
        grouping flow-monitor-cache-info {
          description
            "The flow monitor cache information";
          leaf state {
            type flow-monitor-cache-state;
            description
              "The state of the flow cache";
          }
    
          leaf type {
            type string;
            description
              "The type of the flow cache";
          }
    
          leaf cache-name {
            type string;
            description "The name of the cache";
          }
    
          leaf status {
            type string;
            description
              "The status of the cache";
          }
    
          leaf num-entries {
            type uint64;
            description
              "The number of entries permissible in the cache";
          }
    
          leaf num-bytes {
            type uint64;
            description
              "The number of bytes in the cache";
          }
        }  // grouping flow-monitor-cache-info
    
        grouping flow-monitor-statistics {
          description
            "The flow monitor statistics";
          leaf monitor-name {
            type string;
            description
              "The name of the flow monitor";
          }
    
          leaf description {
            type string;
            description
              "The description of the flow monitor";
          }
    
          leaf record-name {
            type string;
            description "The name of the record";
          }
    
          leaf-list active-flow-exporter {
            type string;
            ordered-by user;
            description
              "The active flow exporters";
          }
    
          leaf-list inactive-flow-exporter {
            type string;
            ordered-by user;
            description
              "The inactive flow exporters";
          }
    
          leaf invalid-packet-counts {
            type uint64;
            description
              "The number of invalid packet counts";
          }
    
          container cache-data {
            description
              "The grouping of the cache data";
            uses flow-monitor-ios-xe-oper:flow-monitor-cache-info;
          }  // container cache-data
    
          leaf transaction-end-ager-enabled {
            type boolean;
            description
              "Indicate whether the transaction end ager is enabled";
          }
    
          leaf protocol-dist-configured {
            type string;
            description
              "The protocol distribution is configured";
          }
    
          leaf size-dist-configured {
            type string;
            description
              "The size distribution is configured";
          }
    
          choice cache-type-choice {
            description
              "The type of cache configured";
            case flow-monitor-cache-type-normal {
              leaf inactive-timer {
                type uint32;
                description
                  "The inactive timer on the normal cache";
              }
    
              leaf active-timer {
                type uint32;
                description
                  "The active time on the normal cache";
              }
            }  // case flow-monitor-cache-type-normal
            leaf update-timeout {
              type uint32;
              description
                "The update timeout of the permanent type";
            }
    
            case flow-monitor-cache-type-synchronized {
              leaf synchronized-timeout {
                type uint32;
                description
                  "The timeout of the synchronized cache";
              }
    
              leaf export-spread-interval {
                type uint32;
                description
                  "The export spread interval";
              }
            }  // case flow-monitor-cache-type-synchronized
            leaf immediate-timeout {
              type uint32;
              description
                "The timeout for the immediate cache";
            }
          }  // choice cache-type-choice
        }  // grouping flow-monitor-statistics
    
        grouping flow-cache-statistics {
          description
            "The flow cache statistics";
          leaf name {
            type string;
            description
              "The name of the flow cache";
          }
    
          leaf cache-size {
            type uint64;
            description "The size of the cache";
          }
    
          leaf current-entries {
            type uint64;
            description
              "The current number of entries";
          }
    
          leaf high-watermark {
            type uint64;
            description
              "The high watermark of flows";
          }
    
          leaf flows-added {
            type uint64;
            description
              "The number of flows added";
          }
    
          leaf flows-aged {
            type uint64;
            description
              "The number of flows that have been aged";
          }
    
          leaf active-flows-timed-out {
            type uint64;
            description
              "The number of flows that have been timed out
             whilst still active";
          }
    
          leaf inactive-flows-timed-out {
            type uint64;
            description
              "The number of flows that have been timed out
             for inactivity";
          }
        }  // grouping flow-cache-statistics
    
        container flow-monitors {
          config false;
          description "All of the flow monitors";
          list flow-monitor {
            key "name";
            description "List of Flow monitors";
            uses flow-monitor-ios-xe-oper:oper-flow-monitor;
          }  // list flow-monitor
    
          list flow-export-statistics {
            key "name";
            description
              "List of statistics per exporter";
            uses flow-monitor-ios-xe-oper:flow-export-statistics;
          }  // list flow-export-statistics
    
          list flow-cache-statistics {
            key "name";
            description
              "List of statistics per flow cache";
            uses flow-monitor-ios-xe-oper:flow-cache-statistics;
          }  // list flow-cache-statistics
    
          list flow-monitor-statistics {
            key "monitor-name";
            description
              "List of statistics per flow monitor";
            uses flow-monitor-ios-xe-oper:flow-monitor-statistics;
          }  // list flow-monitor-statistics
        }  // container flow-monitors
      }  // module Cisco-IOS-XE-flow-monitor-oper
    

© 2023 YumaWorks, Inc. All rights reserved.