This module contains a collection of YANG definitions for monitoring the Connectivity Fault Management protocol operation in a N...
Version: 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.