Cisco-IOS-XE-cfm-oper

This module contains a collection of YANG definitions for monitoring the Connectivity Fault Management protocol operation in a N...

  • Version: 2021-07-01

    Cisco-IOS-XE-cfm-oper@2021-07-01


    
      module Cisco-IOS-XE-cfm-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-cfm-oper";
    
        prefix cfm-stats-ios-xe-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        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
         monitoring the Connectivity Fault Management protocol operation in a Network Element.
         Copyright (c) 2016-2017, 2019-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description
            "Added offload status to local MEP and sender chassis
           id to remote MEP table";
          reference
            "2.4.0";
    
        }
    
        revision "2021-03-01" {
          description
            "Added local MEP, local MIP, remote MEP and
           MP database tables";
          reference
            "2.3.0";
    
        }
    
        revision "2019-05-01" {
          description "Added semantic version";
          reference
            "2.2.0";
    
        }
    
        revision "2018-10-29" {
          description
            "Cleaned up spelling errors in descriptions.";
          reference
            "2.1.0";
    
        }
    
        revision "2017-06-06" {
          description
            "Last cleared time attribute type change";
          reference
            "2.0.0";
    
        }
    
        revision "2017-02-07" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "2.4.0";
        cisco-semver:module-version "2.3.0";
        cisco-semver:module-version "2.2.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef cfm-last-cleared-type {
          type enumeration {
            enum "never-cleared" {
              value 0;
              description
                "CFM stats have never been cleared";
            }
            enum "cleared-before" {
              value 1;
              description
                "CFM stats have been cleared once before";
            }
          }
          description
            "Describes whether CFM stats have been cleared";
        }
    
        typedef cfm-service-type {
          type enumeration {
            enum "cfm-svc-bd" {
              value 0;
              description
                "The service represents a bridge domain, with an
               associated EVC";
            }
            enum "cfm-svc-bd-vlan" {
              value 1;
              description
                "The service is both a VLAN and bridge domain";
            }
            enum "cfm-svc-evc" {
              value 2;
              description
                "Matches a service of type BD or XCONNECT";
            }
            enum "cfm-svc-vlan" {
              value 3;
              description
                "The service represents a (singly tagged) VLAN";
            }
            enum "cfm-svc-xcon" {
              value 4;
              description
                "The service represents an L2VPN cross connect";
            }
            enum "cfm-svc-cvlan" {
              value 5;
              description
                "The service represents a doubly-tagged
               layer 2 VLAN";
            }
            enum "cfm-svc-all" {
              value 6;
              description
                "Matches a service of type BD, XCONNECT, or VLAN";
            }
            enum "cfm-svc-invalid" {
              value 7;
              description
                "CFM service type is invalid";
            }
          }
          description "CFM layer 2 service type";
        }
    
        typedef cfm-ccm-state {
          type enumeration {
            enum "ccm-enabled" {
              value 0;
              description
                "CFM CCM(Continuity Check Message) enabled";
            }
            enum "ccm-disabled" {
              value 1;
              description
                "CFM CCM(Continuity Check Message) not enabled";
            }
            enum "ccm-inactive" {
              value 2;
              description
                "CFM local MEP(Maintenance End Point) inactive";
            }
            enum "ccm-invalid" {
              value 3;
              description
                "CFM CCM(Continuity Check Message) state invalid";
            }
          }
          description
            "CFM CCM(Continuity Check Message) state";
        }
    
        typedef cfm-mep-direction {
          type enumeration {
            enum "mep-direction-up" {
              value 0;
              description
                "CFM messages generated by the MEP go into
               the network";
            }
            enum "mep-direction-down" {
              value 1;
              description
                "CFM messages generated by the MEP go out of
               the network";
            }
            enum "mep-direction-invalid" {
              value 2;
              description
                "MEP direction is invalid";
            }
          }
          description
            "CFM Local MEP(Maintenance End Point) direction";
        }
    
        typedef cfm-ccm-mode {
          type enumeration {
            enum "ccm-mode-unicast" {
              value 0;
              description
                "CCM messages are sent to a particular remote
               maintenance point";
            }
            enum "ccm-mode-multicast" {
              value 1;
              description
                "CCM messages are sent to multiple remote
               maintenance points";
            }
            enum "ccm-mode-invalid" {
              value 2;
              description
                "CCM mode configured is invalid";
            }
          }
          description
            "CFM CCM(Continuity Check Message) mode";
        }
    
        typedef cfm-intf-status {
          type enumeration {
            enum "if-status-unknown" {
              value 0;
              description
                "CFM interface status unknown";
            }
            enum "if-status-admin-down" {
              value 1;
              description
                "CFM interface status admin down";
            }
            enum "if-status-rem-excess-errs" {
              value 2;
              description
                "CFM remote interface has exceeded its 802.3
               Link OAM error threshold";
            }
            enum "if-status-loc-excess-errs" {
              value 3;
              description
                "CFM local interface has exceeded its 802.3
               Link OAM error threshold";
            }
            enum "if-status-up" {
              value 4;
              description
                "CFM interface status up";
            }
            enum "if-status-down" {
              value 5;
              description
                "CFM interface status down";
            }
            enum "if-status-testing" {
              value 6;
              description
                "CFM interface status testing";
            }
            enum "if-status-dormant" {
              value 7;
              description
                "CFM interface status dormant";
            }
            enum "if-status-not-present" {
              value 8;
              description
                "CFM interface status not present";
            }
            enum "if-status-lower-layer-down" {
              value 9;
              description
                "CFM interface status lower layer down";
            }
            enum "if-status-invalid" {
              value 10;
              description
                "CFM interface status invalid";
            }
          }
          description "CFM interface status";
        }
    
        typedef cfm-port-status {
          type enumeration {
            enum "port-status-unknown" {
              value 0;
              description
                "CFM port status unknown";
            }
            enum "port-status-blocked" {
              value 1;
              description
                "CFM port status blocked";
            }
            enum "port-status-up" {
              value 2;
              description "CFM port status up";
            }
            enum "port-status-invalid" {
              value 3;
              description
                "CFM port status invalid";
            }
          }
          description "CFM port status";
        }
    
        typedef mep-transport-type {
          type enumeration {
            enum "xport-none" {
              value 0;
              description
                "No transport type specified";
            }
            enum "xport-bd" {
              value 1;
              description
                "Transport is a bridge domain";
            }
            enum "xport-vlan" {
              value 2;
              description
                "Transport type is a vlan";
            }
            enum "xport-xconnect" {
              value 3;
              description
                "Transport is a layer 2 VPN cross connect";
            }
            enum "xport-unknown" {
              value 4;
              description
                "Transport type unknown";
            }
          }
          description "MEP transport type";
        }
    
        typedef rmep-flag {
          type bits {
            bit rmep-flag-timeout {
              position 0;
              description
                "The lifetime timer has expired for a remote
               maintenance end point";
            }
            bit rmep-flag-wrong-level {
              position 1;
              description
                "Level reported in CCM from this remote maintenance
               end point does not match the locally configured level";
            }
            bit rmep-flag-wrong-maid {
              position 2;
              description
                "Service ID reported in CCM from this remote
               maintenance end point does not match the locally configured value";
            }
            bit rmep-flag-own-mac {
              position 3;
              description
                "Remote and local maintenance end points have the
               same ID and MAC address";
            }
            bit rmep-flag-own-mepid {
              position 4;
              description
                "Remote and local maintenance end points have the
               same ID but different MAC address";
            }
            bit rmep-flag-missing {
              position 5;
              description
                "No CCMs have been received for this expected
               remote MEP";
            }
            bit rmep-flag-unknown {
              position 6;
              description
                "The reported maintenance end point ID in CCMs
               received for this remote maintenance end point is unknown";
            }
            bit rmep-flag-rdi {
              position 7;
              description
                "A CCM has been received for this remote
               maintenance end point with the RDI(Remote Defect Indication)
               bit set";
            }
            bit rmep-flag-port-status-defect {
              position 8;
              description
                "The most recent CCM included a port status that
               was not up";
            }
            bit rmep-flag-intf-status-defect {
              position 9;
              description
                "The most recent CCM included an interface status
               that was not up";
            }
            bit rmep-flag-wrong-interval {
              position 10;
              description
                "The most recent CCM's interval did not match that
               of the receiving maintenance association";
            }
            bit rmep-flag-none {
              position 11;
              description "No errors detected";
            }
          }
          description
            "CFM remote MEP error flags";
        }
    
        typedef cfm-defect {
          type bits {
            bit defect-rdi-ccm {
              position 0;
              description
                "Remote maintenance end point has
               reported RDI in CCM";
            }
            bit defect-mac-status {
              position 1;
              description
                "Remote interface is down or blocked";
            }
            bit defect-remote-ccm {
              position 2;
              description
                "Expected remote maintenance end
               point is missing";
            }
            bit defect-error-ccm {
              position 3;
              description
                "Unknown or mismatched remote maintenance end
               point detected";
            }
            bit defect-xcon-ccm {
              position 4;
              description
                "Cross connect error detected, CCM received from a
               different maintenance association or lower maintenance
               domain level";
            }
            bit defect-none {
              position 5;
              description "No defects detected";
            }
          }
          description "CFM defect flags";
        }
    
        grouping mep-key {
          description
            "This type describes a key in a list of MEPS";
          leaf domain-name {
            type string;
            description
              "The name of the Domain corresponding the the MEP";
          }
    
          leaf ma-name {
            type string;
            description
              "The name of the MA corresponding the the MEP";
          }
    
          leaf mpid {
            type uint32;
            description "ID of the MEP";
          }
        }  // grouping mep-key
    
        grouping cfm-cleared-type {
          description
            "Type describes the last time when the counters were cleared";
          choice cleared-choice {
            description
              "The last time when the counters were cleared";
            leaf never {
              type empty;
              description "Never been cleared";
            }
            leaf time {
              type yang:date-and-time;
              description
                "Date and time of the last time stats were cleared";
            }
          }  // choice cleared-choice
        }  // grouping cfm-cleared-type
    
        grouping mep-params {
          description "MEP parameters";
          container last-cleared {
            description
              "Info on when the stats were last cleared";
            uses cfm-stats-ios-xe-oper:cfm-cleared-type;
          }  // container last-cleared
    
          leaf ccm-transmitted {
            type yang:counter64;
            description
              "The number of CCMs transmitted from the local MEP";
          }
    
          leaf ccm-seq-errors {
            type yang:counter64;
            description
              "The number of CCM sequence number errors detected";
          }
    
          leaf ltr-unexpected {
            type yang:counter64;
            description
              "The number of unexpected linktrace reply packets
             received at this MEP";
          }
    
          leaf lbr-transmitted {
            type yang:counter64;
            description
              "The number of loopback reply packets transmitted
             from the local MEP";
          }
    
          leaf lbr-seq-errors {
            type yang:counter64;
            description
              "The number of loopback reply packets received
             with sequence number errors";
          }
    
          leaf lbr-received-ok {
            type yang:counter64;
            description
              "The number of valid loopback reply packets received";
          }
    
          leaf lbr-received-bad {
            type yang:counter64;
            description
              "The number of loopback reply packets received
             with corrupted data pattern";
          }
        }  // grouping mep-params
    
        grouping local-mep-key {
          description
            "Maintenance point local MEP key values";
          leaf domain {
            type string;
            description
              "Maintenance domain name";
          }
    
          leaf service {
            type string;
            description
              "Identifies a service associated with the maintenance
             end point";
          }
    
          leaf mep-id {
            type uint64;
            description
              "Unique ID given to a locally configured maintenance
             end point";
          }
        }  // grouping local-mep-key
    
        grouping local-mep-data {
          description
            "Local maintenance end point data values";
          leaf level {
            type uint8;
            description
              "A unique maintenance level at which the domain and
             the maintenance end point are configured";
          }
    
          leaf mac-addr {
            type yang:mac-address;
            description
              "MAC address of the physical interface on which the
             maintenance end point is configured";
          }
    
          leaf svc-type {
            type cfm-service-type;
            description
              "CFM layer 2 service type";
          }
    
          leaf ccm-state {
            type cfm-ccm-state;
            description
              "Continuity check message state";
          }
    
          leaf offload {
            type boolean;
            description
              "Set to true when offload is enabled in configuration";
          }
    
          leaf dir {
            type cfm-mep-direction;
            description
              "Maintenance end point direction";
          }
    
          leaf port {
            type string;
            description
              "Maintenance end point port name";
          }
    
          leaf vlan {
            when 'boolean(../vlan-valid)';
            type uint32;
            description
              "Maintenance end point VLAN ID";
          }
    
          leaf vlan-valid {
            type empty;
            description
              "VLAN field valid only when we have VLAN configured on
             maintenance end point";
          }
    
          leaf inner-vlan {
            when 'boolean(../inner-vlan-valid)';
            type uint32;
            description
              "Maintenance end point inner VLAN ID";
          }
    
          leaf inner-vlan-valid {
            type empty;
            description
              "Inner VLAN field valid only when we have double tagged VLAN
             configured on maintenance end point";
          }
    
          leaf svc-inst {
            type uint32;
            description
              "Unique service instance number associated with
             maintenance end point";
          }
    
          leaf evc-name {
            type string;
            description
              "EVC associated with maintenance end point";
          }
    
          leaf ccm-mode {
            type cfm-ccm-mode;
            description
              "Continuity check message mode";
          }
    
          leaf offload-success {
            when '../offload';
            type boolean;
            description
              "When offload is enabled this will show offload status
             True when continuity check is offloaded to hardware";
          }
        }  // grouping local-mep-data
    
        grouping local-mip-key {
          description
            "Locally configured maintenance intermediate point
           key values";
          leaf level {
            type uint8;
            description
              "A unique maintenance level at which the maintenance
             intermediate point is configured";
          }
    
          leaf port {
            type string;
            description
              "Physical interface on which the maintenance
             intermediate point is configured";
          }
    
          leaf svc-inst {
            type uint32;
            description
              "Service instance number associated with maintenance
             intermediate point";
          }
        }  // grouping local-mip-key
    
        grouping local-mip-data {
          description
            "Maintenance point local MIP data values";
          leaf mac-addr {
            type yang:mac-address;
            description
              "MAC address of the physical interface on which the
             maintenance intermediate point is configured locally";
          }
    
          leaf bd-id {
            type uint64;
            description
              "Local maintenance intermediate point
             bridge domain ID";
          }
    
          leaf svc-type {
            type cfm-service-type;
            description
              "CFM layer 2 service type";
          }
    
          leaf source-static {
            type boolean;
            description
              "Local maintenance intermediate point source
             static or not";
          }
    
          leaf manual {
            type boolean;
            description
              "Local maintenance intermediate point manually
             configured or auto created";
          }
        }  // grouping local-mip-data
    
        grouping remote-mep-key {
          description
            "Maintenance point remote MEP/database key values";
          leaf domain {
            type string;
            description
              "Remote maintenance end point domain name";
          }
    
          leaf service {
            type string;
            description
              "Identifies a service associated with the maintenance
             end point";
          }
    
          leaf local-mep-id {
            type uint64;
            description
              "Unique ID given to a locally configured maintenance
             end point";
          }
    
          leaf remote-mep-id {
            type uint64;
            description
              "Unique ID given to the remotely configured
             maintenance end point";
          }
        }  // grouping remote-mep-key
    
        grouping remote-mep-data {
          description
            "Data values for the remotely configured maintenance
           end point";
          leaf level {
            type uint8;
            description
              "A unique maintenance level at which the maintenance
             end point is configured";
          }
    
          leaf mac-addr {
            type yang:mac-address;
            description
              "MAC address of remote maintenance
             end point interface";
          }
    
          leaf if-status {
            type cfm-intf-status;
            description
              "Remote maintenance end point interface status";
          }
    
          leaf port-status {
            type cfm-port-status;
            description "CFM port status";
          }
    
          leaf ingress-if {
            type string;
            description
              "CFM ingress interface name";
          }
    
          leaf rdi {
            type boolean;
            description
              "Whether RDI(Remote Defect Indication) bit set";
          }
    
          leaf svc-type {
            type cfm-service-type;
            description
              "CFM layer 2 service type";
          }
    
          leaf vlan {
            when 'boolean(../vlan-valid)';
            type uint32;
            description
              "Remote maintenance end point VLAN ID";
          }
    
          leaf vlan-valid {
            type empty;
            description
              "VLAN field valid only when we have VLAN configured on
             maintenance end point";
          }
    
          leaf inner-vlan {
            when 'boolean(../inner-vlan-valid)';
            type uint32;
            description
              "Remote maintenance end point inner VLAN ID";
          }
    
          leaf inner-vlan-valid {
            type empty;
            description
              "Inner VLAN field valid only when we have double tagged VLAN
             configured on maintenance end point";
          }
    
          leaf svc-inst {
            type uint32;
            description
              "Service instance number associated with remote
             maintenance end point";
          }
    
          leaf evc-name {
            type string;
            description
              "EVC name associated with the maintenance end point";
          }
    
          leaf up-time {
            type yang:date-and-time;
            description
              "Time elapsed since the last CCM packet received from
             the remote maintenance end point";
          }
    
          leaf chassis-id {
            type string;
            description
              "Chassis ID(host name) of remote device which sends CCM packets";
          }
        }  // grouping remote-mep-data
    
        grouping mep-transport {
          description
            "MEP transport type and data";
          choice trans-type-choice {
            description
              "Specifies key value based on type";
            leaf bd-id {
              type uint64;
              description
                "Maintenance end point bridge domain id";
            }
            leaf bdv-id {
              type uint64;
              description
                "Maintenance end point bridge domain vlan-id";
            }
    
            case xport-xconnect {
              leaf vc-id {
                type uint64;
                description "Xconnect vc id";
              }
    
              leaf peer-id {
                type inet:ip-address;
                description "Xconnect peer id";
              }
            }  // case xport-xconnect
          }  // choice trans-type-choice
        }  // grouping mep-transport
    
        grouping mp-db-data {
          description
            "Maintenance point database data values";
          leaf level {
            type uint64;
            description
              "A unique maintenance level at which the maintenance
             end point is configured";
          }
    
          container xport {
            description "Transport port details";
            uses cfm-stats-ios-xe-oper:mep-transport;
          }  // container xport
    
          leaf flag {
            type rmep-flag;
            description
              "Maintenance end point error details";
          }
    
          leaf defect {
            type cfm-defect;
            description
              "Maintenance end point defect details";
          }
        }  // grouping mp-db-data
    
        container cfm-statistics {
          config false;
          description
            "Data nodes for CFM Statistics";
          container cfm-meps {
            description "CFM statistics";
            list cfm-mep {
              key "domain-name ma-name mpid";
              description
                "The list of MEP entries in the system";
              uses cfm-stats-ios-xe-oper:mep-key;
    
              uses cfm-stats-ios-xe-oper:mep-params;
            }  // list cfm-mep
          }  // container cfm-meps
    
          list local-mep {
            key "domain service mep-id";
            description
              "Maintenance points local MEP(Maintenance End Point)
             dataset";
            uses cfm-stats-ios-xe-oper:local-mep-key;
    
            uses cfm-stats-ios-xe-oper:local-mep-data;
          }  // list local-mep
    
          list local-mip {
            key "level port svc-inst";
            description
              "Maintenance points local
             MIP(Maintenance Intermediate Point) dataset";
            uses cfm-stats-ios-xe-oper:local-mip-key;
    
            uses cfm-stats-ios-xe-oper:local-mip-data;
          }  // list local-mip
    
          list remote-mep {
            key "domain service local-mep-id remote-mep-id";
            description
              "Maintenance points remote MEP(Maintenance End Point)
             dataset";
            uses cfm-stats-ios-xe-oper:remote-mep-key;
    
            uses cfm-stats-ios-xe-oper:remote-mep-data;
          }  // list remote-mep
    
          list mep-db {
            key "domain service local-mep-id remote-mep-id";
            description
              "Maintenance points database dataset";
            uses cfm-stats-ios-xe-oper:remote-mep-key;
    
            uses cfm-stats-ios-xe-oper:mp-db-data;
          }  // list mep-db
        }  // container cfm-statistics
      }  // module Cisco-IOS-XE-cfm-oper
    

© 2023 YumaWorks, Inc. All rights reserved.