This module contains a collection of YANG definitions for Cisco IOS-XR ethernet-cfm package configuration. This YANG module aug...
Version: 2021-02-09
module Cisco-IOS-XR-um-ethernet-cfm-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-cfm-cfg"; prefix um-ethernet-cfm-cfg; import Cisco-IOS-XR-types { prefix xr; } import ietf-yang-types { prefix yang; } import Cisco-IOS-XR-um-snmp-server-cfg { prefix a1; } import Cisco-IOS-XR-um-interface-cfg { prefix a2; } import cisco-semver { prefix semver; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR ethernet-cfm package configuration. This YANG module augments the modules with configuration data. Copyright (c) 2020-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-02-09" { description "Initial release"; } semver:module-version "1.0.0"; grouping IF-ETHER-BODY { container ethernet { description "Ethernet per-interface configuration commands"; container cfm { description "802.1ag Connectivity Fault Management configuration"; container mep { description "CFM Maintenance End Point configuration"; list domain { key "domain-name"; description "Specify the Maintenance Domain the MEP operates in"; leaf domain-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Domain name"; } leaf service { type xr:Cisco-ios-xr-string { length "1..1024"; } mandatory true; description "Service name"; } leaf mep-id { type uint32 { range "1..8191"; } mandatory true; description "Specify the MEP ID to assign to the MEP"; } container propagate-remote-status { presence "Indicates a propagate-remote-status node is configured."; description "propagate-remote-status"; } // container propagate-remote-status leaf cos { type uint32 { range "0..7"; } description "Specify CoS bits for messages initiated by this MEP"; } container loss-measurement { description "Specify loss-measurement configuration on this MEP"; container counters { description "Specify which loss-measurement counters should be allocated for this MEP"; container aggregate { presence "Indicates a aggregate node is configured."; description "Allocate aggregated packet counters for this MEP"; } // container aggregate container priority { description "Specify a list or range of CoS values to allocate packet counters for"; leaf start-of-cos-range { type uint32 { range "0..7"; } must "../end-of-cos-range"; description "Start of CoS range"; } leaf end-of-cos-range { type uint32 { range "1..7"; } must "../start-of-cos-range"; description "End of CoS range"; } container cos-values { description "Set of CoS values"; leaf-list cos-value { type uint32 { range "0..7"; } max-elements 8; description "CoS value"; } } // container cos-values } // container priority } // container counters } // container loss-measurement container sla { description "Service Level Agreement configuration"; container operation { description "SLA operation configuration"; container profile { description "Specify the SLA profile for this operation"; container target { description "Specify the target for the SLA operation"; container mep-id { description "Specify a target MEP"; list profile-target-mep-id { key "profile-name mep-id"; description "Specify the SLA profile for this operation"; leaf profile-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Specify the SLA profile for this operation"; } leaf mep-id { type uint32 { range "1..8191"; } description "Specify a target MEP"; } } // list profile-target-mep-id } // container mep-id container mac-address { description "Specify a target unicast MAC address"; list profile-target-mac-address { key "profile-name mac-address"; description "Specify a target unicast MAC address"; leaf profile-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Specify the SLA profile for this operation"; } leaf mac-address { type yang:mac-address; description "Specify a target unicast MAC address"; } } // list profile-target-mac-address } // container mac-address } // container target } // container profile } // container operation } // container sla } // list domain } // container mep container ais { description "CFM Alarm Indication Signal configuration"; container transmission { description "CFM AIS transmission configuration"; container up { presence "Indicates a up node is configured."; description "Up configuration"; leaf interval { type enumeration { enum "1s" { value 4; description "Interval of 1 second"; } enum "1m" { value 6; description "Interval of 1 minute"; } } description "Specify the AIS transmission interval"; } leaf cos { type uint32 { range "0..7"; } description "Specify CoS bits for AIS messages"; } } // container up } // container transmission } // container ais container bandwidth-notifications { description "Configure bandwidth-notification parameters"; leaf hold-off { type uint32 { range "0..600"; } description "Hold-off time"; } leaf wait-to-restore { type uint32 { range "0..600"; } description "Wait-to-restore time"; } leaf loss-threshold { type uint32 { range "2..255"; } description "Loss threshold"; } container log { description "Enable logging of bandwidth changes"; container changes { presence "Indicates a changes node is configured."; description "Enable logging of bandwidth changes"; } // container changes } // container log } // container bandwidth-notifications } // container cfm } // container ethernet } // grouping IF-ETHER-BODY augment /a1:snmp-server/a1:traps { container cfm { presence "Indicates a cfm node is configured."; description "Enable traps for 802.1ag Connectivity Fault Management"; } // container cfm } augment /a2:interfaces/a2:interface { uses IF-ETHER-BODY; } augment /a2:interfaces/a2:interface-preconfigure { uses IF-ETHER-BODY; } container cfm { description "802.1ag Connectivity Fault Management configuration"; container traceroute { description "Traceroute configuration"; container cache { description "Configure traceroute cache parameters"; leaf hold-time { type uint32 { range "1..525600"; } description "Traceroute cache hold-time"; } leaf size { type uint32 { range "1..4294967295"; } description "Traceroute cache size (number of replies)"; } } // container cache } // container traceroute container domains { description "Domain-specific interface configuration"; list domain { key "domain-name"; description "Configuration for a particular Maintenance Domain"; leaf domain-name { type xr:Cisco-ios-xr-string { length "1..127"; } description "Domain name"; } leaf level { type uint32 { range "0..7"; } mandatory true; description "Maintenance Domain Level"; } container id { description "Maintenance Domain Identifier"; leaf dns { type xr:Cisco-ios-xr-string { length "1..43"; } must "not(../mac-address or ../null or ../string)"; description "DNS Name"; } leaf mac-address { type yang:mac-address; must "not(../dns or ../null or ../string) and ../mac-address-two-octet-integer"; description "MAC Address"; } leaf mac-address-two-octet-integer { type uint32 { range "0..65535"; } must "../mac-address"; description "2 Octet integer"; } container null { must "not(../mac-address or ../dns or ../string)"; presence "Indicates a null node is configured."; description "No MDID value"; } // container null leaf string { type xr:Cisco-ios-xr-string { length "1..43"; } must "not(../mac-address or ../null or ../dns)"; description "String"; } } // container id container services { description "Service-specific global configuration"; list service { must "bridge or down-meps or flexible-xconnect/vlan-aware/evi or flexible-xconnect/vlan-unaware/cross-connect-name or xconnect/mp2mp or xconnect/p2p"; key "service-name"; description "Per service configuration"; leaf service-name { type xr:Cisco-ios-xr-string { length "1..127"; } description "Service name"; } container bridge { must "not(../down-meps or ../flexible-xconnect/vlan-aware/evi or ../flexible-xconnect/vlan-unaware/cross-connect-name or ../xconnect/mp2mp or ../xconnect/p2p)"; presence "Indicates a bridge node is configured."; description "Use a Bridge Domain. All MEPs will be Up MEPs; MIPs are permitted"; leaf group { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Bridge Domain Group Name"; } leaf bridge-domain { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Bridge Domain Name"; } } // container bridge container down-meps { must "not(../bridge or ../flexible-xconnect/vlan-aware/evi or ../flexible-xconnect/vlan-unaware/cross-connect-name or ../xconnect/mp2mp or ../xconnect/p2p)"; presence "Indicates a down-meps node is configured."; description "Down MEPs; no MIPs permitted"; } // container down-meps container flexible-xconnect { description "Use a Flexible Cross Connect. All MEPs will be Up MEPs; MIPs are permitted"; container vlan-aware { description "VLAN-aware Flexible Cross Connect"; leaf evi { type uint32 { range "1..65534"; } must "not(../../../bridge or ../../../down-meps or ../../../flexible-xconnect/vlan-unaware/cross-connect-name or ../../../xconnect/mp2mp or ../../../xconnect/p2p)"; description "EVPN ID"; } } // container vlan-aware container vlan-unaware { description "VLAN-unaware Flexible Cross Connect"; leaf cross-connect-name { type xr:Cisco-ios-xr-string { length "1..23"; } must "not(../../../bridge or ../../../down-meps or ../../../flexible-xconnect/vlan-aware/evi or ../../../xconnect/mp2mp or ../../../xconnect/p2p)"; description "VLAN-unaware Flexible Cross Connect name"; } } // container vlan-unaware } // container flexible-xconnect container xconnect { description "Use a Cross Connect. All MEPs will be Up MEPs; MIPs are permitted"; container mp2mp { must "not(../../bridge or ../../down-meps or ../../flexible-xconnect/vlan-aware/evi or ../../flexible-xconnect/vlan-unaware/cross-connect-name or ../../xconnect/p2p)"; presence "Indicates a mp2mp node is configured."; description "Multipoint-to-Multipoint (BGP-signaled) Cross Connect"; leaf group { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Cross Connect Group"; } leaf cross-connect-name { type xr:Cisco-ios-xr-string { length "1..26"; } mandatory true; description "Cross Connect Name"; } leaf ce-id { type uint32 { range "1..16384"; } mandatory true; description "Local Customer Edge Identifier"; } leaf remote-ce-id { type uint32 { range "1..16384"; } mandatory true; description "Remote Customer Edge Identifier"; } } // container mp2mp container p2p { must "not(../../bridge or ../../down-meps or ../../flexible-xconnect/vlan-aware/evi or ../../flexible-xconnect/vlan-unaware/cross-connect-name or ../../xconnect/mp2mp)"; presence "Indicates a p2p node is configured."; description "Point-to-Point Cross Connect"; leaf group { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Cross Connect Group"; } leaf cross-connect-name { type xr:Cisco-ios-xr-string { length "1..38"; } mandatory true; description "Cross Connect Name"; } } // container p2p } // container xconnect container id { description "Short Maintenance Association Name"; container icc-based { must "not(../number or ../string or ../vlanid or ../vpn-id)"; presence "Indicates a icc-based node is configured."; description "ICC-based format, as defined by ITU-T Y.1731"; leaf icc { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "ITU Carrier Code (ICC)"; } leaf umc { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Unique MEG ID Code (UMC)"; } } // container icc-based leaf vlanid { type uint32 { range "1..4094"; } must "not(../number or ../string or ../icc-based or ../vpn-id)"; description "VLAN ID"; } leaf number { type uint32 { range "0..65535"; } must "not(../vlanid or ../string or ../icc-based or ../vpn-id)"; description "Number"; } leaf string { type xr:Cisco-ios-xr-string { length "1..45"; } must "not(../vlanid or ../number or ../icc-based or ../vpn-id)"; description "String"; } container vpn-id { must "not(../vlanid or ../number or ../icc-based or ../string)"; presence "Indicates a vpn-id node is configured."; description "VPN ID, as defined by RFC 2685 (HHH:HHHH)"; leaf vpn-oui { type uint32 { range "0..16777215"; } mandatory true; description "3 byte VPN OUI, HHH"; } leaf vpn-index { type uint32 { range "0..4294967295"; } mandatory true; description "4 byte VPN Index, HHHH"; } } // container vpn-id } // container id leaf tags { type enumeration { enum "1" { value 1; description "Use the first (outer) tag"; } } description "The number of tags to use when sending CFM packets from up MEPs in this service"; } container mip { description "MIP configuration"; container auto-create { description "MIP auto-creation policy"; container all { must "not(../lower-mep-only)"; presence "Indicates a all node is configured."; description "Create MIPs on all interfaces"; } // container all container lower-mep-only { must "not(../all)"; presence "Indicates a lower-mep-only node is configured."; description "Create MIPs only on interfaces with a MEP at a lower level"; } // container lower-mep-only container ccm-learning { must "../all or ../lower-mep-only"; presence "Indicates a ccm-learning node is configured."; description "Enable CCM learning at MIPs created in this service"; } // container ccm-learning } // container auto-create } // container mip container efd { presence "Indicates a efd node is configured."; description "Enable EFD to bring down ports when MEPs detect errors"; container protection-switching { presence "Indicates a protection-switching node is configured."; description "Enable protection switching notifications when triggering EFD"; } // container protection-switching } // container efd container continuity-check { description "Continuity-check configuration"; container interval { description "Set the continuity-check interval"; leaf interval-time { type enumeration { enum "3.3ms" { value 1; description "Interval of 3.3 milliseconds"; } enum "10ms" { value 2; description "Interval of 10 milliseconds"; } enum "100ms" { value 3; description "Interval of 100 milliseconds"; } enum "1s" { value 4; description "Interval of 1 second"; } enum "10s" { value 5; description "Interval of 10 seconds"; } enum "1m" { value 6; description "Interval of 1 minute"; } enum "10m" { value 7; description "Interval of 10 minutes"; } } description "The number of tags to use when sending CFM packets from up MEPs in this service"; } leaf loss-threshold { type uint32 { range "2..255"; } must "../interval-time"; description "Set the continuity-check loss threshold"; } } // container interval container archive { description "Set the continuity-check archive hold time"; leaf hold-time { type uint32 { range "1..65535"; } description "Set the continuity-check archive hold time"; } } // container archive container loss { description "Loss threshold actions"; container auto-traceroute { presence "Indicates a auto-traceroute node is configured."; description "Automatically trigger a traceroute when a MEP times out"; } // container auto-traceroute } // container loss } // container continuity-check leaf maximum-meps { type uint32 { range "2..8190"; } description "Limit the number of MEPs in the Maintenance Association"; } container ais { description "CFM Alarm Indication Signal configuration"; container transmission { presence "Indicates a transmission node is configured."; description "CFM AIS transmission configuration"; leaf interval { type enumeration { enum "1s" { value 4; description "Interval of 1 second"; } enum "1m" { value 6; description "Interval of 1 minute"; } } description "Specify the AIS transmission interval"; } leaf cos { type uint32 { range "0..7"; } description "Specify CoS bits for AIS messages"; } } // container transmission } // container ais container log { description "Enable logging for particular types of event"; container continuity-check { description "Enable continuity-check logging"; container mep { description "Enable MEP continuity-check logging"; container changes { presence "Indicates a changes node is configured."; description "Enable logging on peer MEP state changes"; } // container changes } // container mep container errors { presence "Indicates a errors node is configured."; description "Enable logging when continuity-check errors are detected"; } // container errors } // container continuity-check container crosscheck { description "Enable crosscheck logging"; container errors { presence "Indicates a errors node is configured."; description "Enable logging when crosscheck errors are detected"; } // container errors } // container crosscheck container ais { presence "Indicates a ais node is configured."; description "Enable logging when AIS or LCK messages are received"; } // container ais container efd { presence "Indicates a efd node is configured."; description "Enable logging of EFD events"; } // container efd } // container log container mep { description "MEP configuration"; container crosscheck { description "Statically define the Maintenence End Points with a Maintenance Association to be cross-checked"; container mep-ids { description "Specify crosscheck config for a given MEP ID"; list mep-id { key "mep-id"; description "Specify crosscheck config for a given MEP ID"; leaf mep-id { type uint32 { range "1..8191"; } description "Specify crosscheck config for a given MEP ID"; } leaf mac-address { type yang:mac-address; description "Expected MAC Address for the specified MEP"; } } // list mep-id } // container mep-ids container auto { presence "Indicates a auto node is configured."; description "Treat all remote MEPs for which CCMs are received as cross-check MEPs"; } // container auto } // container crosscheck } // container mep container report { description "Configure report defect settings"; container defects { presence "Indicates a defects node is configured."; description "Specify which defects are to be reported"; container none { must "not(../all)"; presence "Indicates a none node is configured."; description "No defects reported"; } // container none container all { must "not(../none)"; presence "Indicates a all node is configured."; description "All defects reported, including received RDI"; } // container all container ieee { must "not(../all or ../none) and (xcon or error-xcon or remote-error-xcon or mac-remote-error-xcon)"; presence "Indicates a ieee node is configured."; description "Specify defects via IEEE 802.1ag defined hierarchy"; container xcon { must "not(../error-xcon or ../remote-error-xcon or ../mac-remote-error-xcon)"; presence "Indicates a xcon node is configured."; description "Report only DefXconCCM"; } // container xcon container error-xcon { must "not(../xcon or ../remote-error-xcon or ../mac-remote-error-xcon)"; presence "Indicates a error-xcon node is configured."; description "Above defects reported, plus DefErrorCCM"; } // container error-xcon container remote-error-xcon { must "not(../xcon or ../error-xcon or ../mac-remote-error-xcon)"; presence "Indicates a remote-error-xcon node is configured."; description "Above defects reported, plus DefRemoteCCM"; } // container remote-error-xcon container mac-remote-error-xcon { must "not(../xcon or ../error-xcon or ../remote-error-xcon)"; presence "Indicates a mac-remote-error-xcon node is configured."; description "Above defects reported, plus DefMACStatus (default)"; } // container mac-remote-error-xcon } // container ieee container wrong-maid { must "not(../all or ../none)"; presence "Indicates a wrong-maid node is configured."; description "CCMs received with an incorrect MAID"; } // container wrong-maid container wrong-level { must "not(../all or ../none)"; presence "Indicates a wrong-level node is configured."; description "CCMs received with an incorrect level"; } // container wrong-level container our-mac { must "not(../all or ../none)"; presence "Indicates a our-mac node is configured."; description "CCMs received with our MAC address"; } // container our-mac container our-mepid { must "not(../all or ../none)"; presence "Indicates a our-mepid node is configured."; description "CCMs received with our MEP-ID"; } // container our-mepid container wrong-interval { must "not(../all or ../none)"; presence "Indicates a wrong-interval node is configured."; description "CCMs received with an incorrect CCM interval"; } // container wrong-interval container missing { must "not(../all or ../none)"; presence "Indicates a missing node is configured."; description "Some CCMs from a crosscheck peer MEP are missing"; } // container missing container peer-port-down { must "not(../all or ../none)"; presence "Indicates a peer-port-down node is configured."; description "A peer port is down (equivalent to DefMACStatus)"; } // container peer-port-down container rdi { must "not(../all or ../none)"; presence "Indicates a rdi node is configured."; description "CCMs containing the RDI bit received"; } // container rdi } // container defects } // container report container csf { presence "Indicates a csf node is configured."; description "Enable ethernet CSF transmission for MEPs on this service"; leaf cos { type uint32 { range "0..7"; } description "Class of service value to set in the outer tag of CSF packets"; } leaf interval { type enumeration { enum "1m" { value 6; description "Send CSF packets at one minute intervals"; } enum "1s" { value 4; description "Send CSF packets at one second intervals"; } } description "Interval at which to send CSF packets"; } } // container csf container csf-logging { presence "Indicates a csf-logging node is configured."; description "Enable logging on receipt of CSF packets"; } // container csf-logging } // list service } // container services } // list domain } // container domains container nv { description "Network Virtualisation configuration"; container satellite { description "Satellite configuration"; container sla { description "Service-Level Agreement configuration"; container processing { description "Packet processing configuration"; container disable { presence "Indicates a disable node is configured."; description "Disable processing of Ethernet SLA packets on nV Satellite devices"; } // container disable } // container processing } // container sla } // container satellite } // container nv } // container cfm } // module Cisco-IOS-XR-um-ethernet-cfm-cfg
© 2023 YumaWorks, Inc. All rights reserved.