Cisco-IOS-XE-switch-dp-resources-oper

This module contains a collection of YANG definitions for monitoring the usage of switching data path resources. Copyright (c) 2...

  • Version: 2020-07-01

    Cisco-IOS-XE-switch-dp-resources-oper@2020-07-01


    
      module Cisco-IOS-XE-switch-dp-resources-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-dp-resources-oper";
    
        prefix dp-resources-oper;
    
        import Cisco-IOS-XE-common-types {
          prefix common-types-ios-xe;
        }
        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 monitoring the usage of switching data path resources.
         Copyright (c) 2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.0.0";
    
        typedef dp-proto {
          type enumeration {
            enum "dp-proto-ipv4" {
              value 0;
              description "IPV4 protocol";
            }
            enum "dp-proto-ipv6" {
              value 1;
              description "IPV6 protocol";
            }
            enum "dp-proto-mpls" {
              value 2;
              description "MPLS protocol";
            }
            enum "dp-proto-other" {
              value 3;
              description
                "Protocol other than IPV4/IPV6/MPLS";
            }
          }
          description "Data path protocol";
        }
    
        typedef dp-feature {
          type enumeration {
            enum "dp-feature-mac-address-table" {
              value 0;
              description "Unicast MAC address";
            }
            enum "dp-feature-l3-multicast" {
              value 1;
              description "L3 Multicast";
            }
            enum "dp-feature-l2-multicast" {
              value 2;
              description "L2 Multicast";
            }
            enum "dp-feature-ip-route-table" {
              value 3;
              description "L3/MPLS routes";
            }
            enum "dp-feature-qos-acl" {
              value 4;
              description "QOS ACL";
            }
            enum "dp-feature-security-acl" {
              value 5;
              description "Security ACL";
            }
            enum "dp-feature-netflow-acl" {
              value 6;
              description "Netflow ACL";
            }
            enum "dp-feature-pbr-acl" {
              value 7;
              description
                "Policy based routing ACL";
            }
            enum "dp-feature-flow-span-acl" {
              value 8;
              description "Flow span ACL";
            }
            enum "dp-feature-control-plane" {
              value 9;
              description "Control plane";
            }
            enum "dp-feature-tunnel-termination" {
              value 10;
              description "Tunnel termination";
            }
            enum "dp-feature-lisp-inst-mapping" {
              value 11;
              description
                "Lisp instance mapping";
            }
            enum
              "dp-feature-security-association" {
              value 12;
              description "Security association";
            }
            enum "dp-feature-cts-cell-matrix" {
              value 13;
              description "CTS cell matrix";
            }
            enum "dp-feature-vpn-label" {
              value 14;
              description "VPN label";
            }
            enum "dp-feature-client-table" {
              value 15;
              description "Client table";
            }
            enum "dp-feature-group-table" {
              value 16;
              description "Group table";
            }
            enum "dp-feature-macsec-spd" {
              value 17;
              description "MACSec";
            }
          }
          description "Data path features";
        }
    
        typedef dp-table {
          type enumeration {
            enum "dp-table-exact-match" {
              value 0;
              description "Exact Match table";
            }
            enum "dp-table-tcam" {
              value 1;
              description "TCAM table";
            }
            enum "dp-table-acl-ids" {
              value 2;
              description "ACL Identifiers";
            }
            enum "dp-table-lpm" {
              value 3;
              description
                "Longest Prefix Match table";
            }
          }
          description "Data path table type";
        }
    
        typedef dp-direction {
          type enumeration {
            enum "dp-direction-ingress" {
              value 0;
              description "Ingress direction";
            }
            enum "dp-direction-egress" {
              value 1;
              description "Egress direction";
            }
          }
          description "Data path direction";
        }
    
        grouping dp-oper-feature-key {
          description
            "Data path oper feature key";
          leaf feature {
            type dp-feature;
            description "Feature";
          }
    
          leaf protocol {
            type dp-proto;
            description "Protocol";
          }
    
          leaf direction {
            type dp-direction;
            description "Direction";
          }
        }  // grouping dp-oper-feature-key
    
        grouping dp-shared-ftr {
          description "Datapath shared feature";
          container ftr-info {
            description "Feature information";
            uses dp-resources-oper:dp-oper-feature-key;
          }  // container ftr-info
        }  // grouping dp-shared-ftr
    
        grouping dp-resource-usage {
          description
            "Resource usage for a given feature, protocol and direction.";
          leaf max-entries {
            type uint32;
            description
              "Maximum number of physical entries available. It is a cumulative maximum
             for all shared features of the physical resource.";
          }
    
          leaf entries-used {
            type uint32;
            description
              "Number of entries used by the given feature, protocol and direction.";
          }
    
          leaf total-entries-free {
            type uint32;
            description "Total entries free";
          }
    
          leaf percentage-used {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "Percentage of physical entries used by all shared features.";
          }
        }  // grouping dp-resource-usage
    
        grouping dp-pipes {
          description "Data path pipelines";
          leaf pipeline {
            type uint8;
            description
              "Pipeline number represents the physical partition in a given ASIC.
             Pipeline can be a core or a slice based on the asic type.";
          }
        }  // grouping dp-pipes
    
        grouping dp-phy-location {
          description
            "Physical location of resource";
          leaf asic {
            type uint8;
            description "ASIC number";
          }
    
          list pipeline-list {
            description
              "List of pipelines in a given asic.";
            uses dp-resources-oper:dp-pipes;
          }  // list pipeline-list
        }  // grouping dp-phy-location
    
        grouping dp-table-data {
          description
            "Provides resource usage for a given instance of the feature, protocol and direction.";
          leaf table {
            type dp-table;
            description
              "Type of the data path table";
          }
    
          container resource-usage {
            description
              "Summary of resource usage";
            uses dp-resources-oper:dp-resource-usage;
          }  // container resource-usage
        }  // grouping dp-table-data
    
        grouping dp-feature-resource-instance {
          description
            "Data path feature resource instance";
          leaf id {
            type uint32;
            description "Instance identifier";
          }
    
          container physical-location {
            description
              "Physical location of the resource";
            uses dp-resources-oper:dp-phy-location;
          }  // container physical-location
    
          list table-data {
            description
              "Provides resource usage for a given instance of the feature, protocol and direction.";
            uses dp-resources-oper:dp-table-data;
          }  // list table-data
        }  // grouping dp-feature-resource-instance
    
        grouping dp-feature-resource {
          description
            "Data path feature resource";
          leaf max-tcam-percentage-used {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "Maximum TCAM percentage used for the feature. A feature can have one or more instance,
             and this value is the maximum percentage used for the TCAM table among all the instances";
          }
    
          leaf max-em-percentage-used {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "Maximum Exact Match percentage used for the feature. A feature can have one or more instance,
             and this value is the maximum percentage used for the Exact Match table among all the instances";
          }
    
          leaf max-acl-ids-percentage-used {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "Maximum ACL Identifiers percentage used for the feature. A feature can have one or more instance,
             and this value is the maximum percentage used for the ACL Identifiers table among all the instances";
          }
    
          leaf max-lpm-percentage-used {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "Maximum Longest Prefix Match percentage used for the feature. A feature can have one or more instance,
             and this value is the maximum percentage used for the Longest Prefix Match table among all the instances";
          }
    
          list instance-list {
            description
              "Feature can have one of more instances in datapath. Instance list is the list of instances
             on which the feature resources are available.";
            uses dp-resources-oper:dp-feature-resource-instance;
          }  // list instance-list
    
          list shared-ftr-list {
            description
              "List of features sharing the same physical resource.";
            uses dp-resources-oper:dp-shared-ftr;
          }  // list shared-ftr-list
        }  // grouping dp-feature-resource
    
        container switch-dp-resources-oper-data {
          config false;
          description
            "Switching datapath resources operational data";
          list location {
            key "fru slot bay chassis node";
            description
              "A list of data provider locations";
            uses common-types-ios-xe:extended-location;
    
            list dp-feature-resource {
              key "feature protocol direction";
              description
                "Data path feature resource provides resource usage for features.
               User can query based on feature name, protocol and direction";
              uses dp-resources-oper:dp-feature-resource;
    
              uses dp-resources-oper:dp-oper-feature-key;
            }  // list dp-feature-resource
          }  // list location
        }  // container switch-dp-resources-oper-data
      }  // module Cisco-IOS-XE-switch-dp-resources-oper
    

© 2023 YumaWorks, Inc. All rights reserved.