Cisco-IOS-XR-ethernet-cfm-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ethernet-cfm package configuration. This YANG module aug...

  • Version: 2020-10-07

    Cisco-IOS-XR-ethernet-cfm-cfg@2020-10-07


    
      module Cisco-IOS-XR-ethernet-cfm-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-cfg";
    
        prefix ethernet-cfm-cfg;
    
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-ethernet-cfm-datatypes {
          prefix dt1;
        }
        import Cisco-IOS-XR-infra-sla-datatypes {
          prefix dt2;
        }
        import Cisco-IOS-XR-ifmgr-cfg {
          prefix a1;
        }
        import Cisco-IOS-XR-l2-eth-infra-cfg {
          prefix a2;
        }
        import Cisco-IOS-XR-snmp-agent-cfg {
          prefix a3;
        }
        import Cisco-IOS-XR-infra-sla-cfg {
          prefix a4;
        }
    
        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
           Cisco-IOS-XR-ifmgr-cfg,
           Cisco-IOS-XR-l2-eth-infra-cfg,
           Cisco-IOS-XR-snmp-agent-cfg,
           Cisco-IOS-XR-infra-sla-cfg
         modules with configuration data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-10-07" {
          description
            "Added the Link Loss Forwarding feature.";
        }
    
        revision "2019-10-02" {
          description
            "Add config support for bandwidth notifications";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-07-27" {
          description
            "Made bins-width mandatory";
        }
    
        revision "2017-10-06" {
          description
            "SLA thresholds and actions schema/yang added.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.1.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Cfm-mip-policy {
          type enumeration {
            enum "all" {
              value 2;
              description
                "Create MIPs on all ports in the Bridge Domain
               or Cross-connect";
            }
            enum "lower-mep-only" {
              value 3;
              description
                "Create MIPs on ports which have a MEP at a
               lower level";
            }
          }
          description "Cfm mip policy";
        }
    
        typedef Cfm-service {
          type enumeration {
            enum "bridge-domain" {
              value 1;
              description
                "Use a Bridge Domain - all MEPs will be Up MEPs
               and MIPs are permitted";
            }
            enum "p2p-cross-connect" {
              value 2;
              description
                "Use a P2P Cross Connect - all MEPs will be Up
               MEPs and MIPs are permitted";
            }
            enum "mp2mp-cross-connect" {
              value 3;
              description
                "Use a MP2MP Cross Connect - all MEPs will be Up
               MEPs and MIPs are permitted";
            }
            enum
              "vlan-aware-flexible-cross-connect" {
              value 4;
              description
                "Use a VLAN-aware Flexible Cross Connect - all
               MEPs will be Up MEPs and MIPs are permitted";
            }
            enum
              "vlan-unaware-flexible-cross-connect" {
              value 5;
              description
                "Use a VLAN-unaware Flexible Cross Connect - all
               MEPs will be Up MEPs and MIPs are permitted";
            }
            enum "down-meps" {
              value 6;
              description
                "Down MEPs - no MIPs permitted";
            }
          }
          description "Cfm service";
        }
    
        typedef Cfm-short-ma-name-format {
          type enumeration {
            enum "vlan-id" {
              value 1;
              description "VLAN ID";
            }
            enum "string" {
              value 2;
              description "String Short MA Name";
            }
            enum "number" {
              value 3;
              description
                "Numeric Short MA Name";
            }
            enum "vpn-id" {
              value 4;
              description "RFC 2685 VPN ID";
            }
            enum "icc-based" {
              value 32;
              description "ICC-based format";
            }
          }
          description "Cfm short ma name format";
        }
    
        typedef Cfm-lm-counters-cfg {
          type enumeration {
            enum "aggregate" {
              value 1;
              description "Aggregate Counters";
            }
            enum "list" {
              value 2;
              description
                "List of per-CoS counters";
            }
            enum "range" {
              value 3;
              description
                "Range of per-CoS counters";
            }
          }
          description "Cfm lm counters cfg";
        }
    
        typedef Cfm-mdid-format {
          type enumeration {
            enum "null" {
              value 1;
              description "Null MDID";
            }
            enum "dns-like" {
              value 2;
              description "DNS-like MDID";
            }
            enum "mac-address" {
              value 3;
              description
                "MDID Comprising MAC Address and 16-bit integer";
            }
            enum "string" {
              value 4;
              description "String MDID";
            }
          }
          description "Cfm mdid format";
        }
    
        augment /a4:sla/a4:protocols {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-infra-sla-cfg'";
          container ethernet {
            description
              "The Ethernet SLA protocol";
            container profiles {
              description
                "Table of SLA profiles on the protocol";
              list profile {
                key "profile-name";
                description
                  "Name of the profile";
                container statistics {
                  description
                    "Statistics configuration for the SLA profile";
                  list statistic {
                    key "statistic-name";
                    description
                      "Type of statistic";
                    container buckets-size {
                      presence
                        "Indicates a buckets-size node is configured.";
                      description
                        "Size of the buckets into which statistics
                       are collected";
                      leaf buckets-size {
                        type uint32 {
                          range "1..100";
                        }
                        mandatory true;
                        description
                          "Size of each bucket";
                      }
    
                      leaf buckets-size-unit {
                        type dt2:Sla-buckets-size-units-enum;
                        mandatory true;
                        description
                          "Unit associated with the BucketsSize";
                      }
                    }  // container buckets-size
    
                    container actions {
                      description
                        "Thresholds and associated actions for the
                       given statistics type";
                      list action {
                        key "threshold-type action-type condition";
                        description
                          "Action to perform when the threshold is
                         crossed";
                        leaf threshold-type {
                          type dt2:Sla-threshold-type-enum;
                          description
                            "Threshold type";
                        }
    
                        leaf action-type {
                          type dt1:Sla-action-type-enum;
                          description
                            "Action to take when the threshold is
                           crossed";
                        }
    
                        leaf condition {
                          type dt2:Sla-threshold-condition-enum;
                          description
                            "Condition to be met to consider the
                           threshold crossed";
                        }
    
                        leaf threshold-value {
                          type uint32 {
                            range
                              "1..2147483647";
                          }
                          mandatory true;
                          description
                            "Threshold Value";
                        }
    
                        leaf bin-number {
                          type uint32 {
                            range "2..100";
                          }
                          description
                            "Bin number in-and-above which samples
                           contribute towards a sample-count
                           threshold (required only when Condition
                           is SampleCount)";
                        }
                      }  // list action
                    }  // container actions
    
                    container aggregation {
                      description
                        "Aggregation to apply to results for the
                       statistic";
                      leaf bins-count {
                        type uint32 {
                          range "0..100";
                        }
                        description
                          "Number of bins to aggregate results into
                         (0 for no aggregation)";
                      }
    
                      leaf bins-width {
                        when
                          "../bins-count != 0" {
                          description
                            "../BinsCount != 0";
                        }
                        type uint32 {
                          range "1..10000";
                        }
                        description
                          "Width of each bin";
                      }
    
                      leaf bins-width-tenths {
                        type uint32 {
                          range "0..9";
                        }
                        description
                          "Tenths portion of the bin width";
                      }
                    }  // container aggregation
    
                    leaf enable {
                      type empty;
                      description
                        "Enable statistic gathering of the metric";
                    }
    
                    leaf buckets-archive {
                      type uint32 {
                        range "1..100";
                      }
                      description
                        "Number of buckets to archive in memory";
                    }
    
                    leaf statistic-name {
                      type dt2:Sla-statistic-type-enum;
                      description
                        "The type of statistic to measure";
                    }
                  }  // list statistic
                }  // container statistics
    
                container schedule {
                  presence
                    "Indicates a schedule node is configured.";
                  description
                    "Schedule to use for probes within an
                   operation";
                  leaf probe-interval {
                    type uint32 {
                      range "1..90";
                    }
                    description
                      "Interval between probes.  This must be
                     specified if, and only if, ProbeIntervalUnit
                     is not 'Week' or 'Day'.";
                  }
    
                  leaf probe-interval-day {
                    type dt2:Sla-probe-interval-day-enum;
                    description
                      "Day of week on which to schedule probes.
                     This must be specified if, and only if,
                     ProbeIntervalUnit is 'Week'.";
                  }
    
                  leaf probe-interval-unit {
                    type dt2:Sla-probe-interval-units-enum;
                    mandatory true;
                    description
                      "Time unit associated with the ProbeInterval.
                     The value must not be 'Once'.  If 'Week' or
                     'Day' is specified, probes are scheduled
                     weekly or daily respectively.";
                  }
    
                  leaf start-time-hour {
                    type uint32 {
                      range "0..23";
                    }
                    description
                      "Time after midnight (in UTC) to send the
                     first packet each day.";
                  }
    
                  leaf start-time-minute {
                    type uint32 {
                      range "0..59";
                    }
                    description
                      "Time after midnight (in UTC) to send the
                     first packet each day. This must be
                     specified if, and only if, StartTimeHour is
                     specified.";
                  }
    
                  leaf start-time-second {
                    type uint32 {
                      range "0..59";
                    }
                    description
                      "Time after midnight (in UTC) to send the
                     first packet each day. This must only be
                     specified if StartTimeHour is specified, and
                     must not be specified if ProbeIntervalUnit
                     is 'Week' or 'Day'.";
                  }
    
                  leaf probe-duration {
                    type uint32 {
                      range "1..3600";
                    }
                    description
                      "Duration of each probe.  This must be
                     specified if, and only if, ProbeDurationUnit
                     is specified.";
                  }
    
                  leaf probe-duration-unit {
                    type dt2:Sla-probe-duration-units-enum;
                    description
                      "Time unit associated with the ProbeDuration.
                     The value must not be 'Once'.";
                  }
                }  // container schedule
    
                container probe {
                  description
                    "Probe configuration for the SLA profile";
                  container send {
                    presence
                      "Indicates a send node is configured.";
                    description
                      "Schedule to use for packets within a burst.
                     The default value is to send a single packet
                     once.";
                    leaf burst-interval {
                      type uint32 {
                        range "1..3600";
                      }
                      description
                        "Interval between bursts.  This must be
                       specified if, and only if, the SendType is
                       'Burst' and the 'BurstIntervalUnit' is not
                       'Once'.";
                    }
    
                    leaf burst-interval-unit {
                      type dt2:Sla-burst-interval-units-enum;
                      description
                        "Time unit associated with the BurstInterval
                       .  This must be specified if, and only if,
                       SendType is 'Burst'.";
                    }
    
                    leaf packet-interval {
                      type uint32 {
                        range "1..30000";
                      }
                      description
                        "Interval between packets.  This must be
                       specified if, and only if,
                       PacketIntervalUnit is not 'Once'.";
                    }
    
                    leaf packet-interval-unit {
                      type dt2:Sla-packet-interval-units-enum;
                      mandatory true;
                      description
                        "Time unit associated with the
                       PacketInterval";
                    }
    
                    leaf packet-count {
                      type uint32 {
                        range "2..1200";
                      }
                      description
                        "The number of packets in each burst.  This
                       must be specified if, and only if, the
                       SendType is 'Burst'.";
                    }
    
                    leaf send-type {
                      type dt2:Sla-send;
                      mandatory true;
                      description
                        "The packet distribution: single packets or
                       bursts of packets.  If 'Burst' is specified
                       , PacketCount and BurstInterval must be
                       specified.";
                    }
                  }  // container send
    
                  container packet-size-and-padding {
                    presence
                      "Indicates a packet-size-and-padding node is configured.";
                    description
                      "Minimum size to pad outgoing packet to";
                    leaf size {
                      type uint32 {
                        range "1..9000";
                      }
                      mandatory true;
                      description
                        "Minimum size to pad outgoing packet to";
                    }
    
                    leaf padding-type {
                      type dt2:Sla-padding-pattern;
                      description
                        "Type of padding to be used for the packet";
                    }
    
                    leaf padding-value {
                      type xr:Hex-integer;
                      description
                        "Pattern to be used for hex padding. This
                       can be specified if, and only if, the
                       PaddingType is 'Hex'.";
                    }
                  }  // container packet-size-and-padding
    
                  leaf priority {
                    type uint32 {
                      range "0..7";
                    }
                    description
                      "Priority class to assign to outgoing SLA
                     packets";
                  }
    
                  leaf synthetic-loss-calculation-packets {
                    type uint32 {
                      range "10..12096000";
                    }
                    description
                      "Number of packets to use in each FLR
                     calculation";
                  }
                }  // container probe
    
                leaf packet-type {
                  type string;
                  mandatory true;
                  description
                    "The possible packet types are cfm-loopback,
                   cfm-delay-measurement,
                   cfm-delay-measurement-version-0,
                   cfm-loss-measurement and
                   cfm-synthetic-loss-measurement";
                }
    
                leaf profile-name {
                  type xr:Cisco-ios-xr-string;
                  description "Profile name";
                }
              }  // list profile
            }  // container profiles
          }  // container ethernet
        }
    
        augment /a1:interface-configurations/a1:interface-configuration/a2:ethernet-features {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-l2-eth-infra-cfg'";
          container cfm {
            description
              "CFM interface configuration";
            container domains {
              description
                "Domain-specific interface configuration";
              list domain {
                key "domain";
                description
                  "Configuration for a particular Maintenance
                 Domain";
                container mep {
                  description
                    "MEP Configuration";
                  container sla-profile-target-mep-ids {
                    description
                      "SLA specific configuration";
                    list sla-profile-target-mep-id {
                      key "profile target-mep-id";
                      description
                        "Configuration for a particular SLA
                       operation";
                      leaf profile {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SLA profile name";
                      }
    
                      leaf target-mep-id {
                        type dt1:Cfm-mep-id;
                        description
                          "Target MEP-ID";
                      }
                    }  // list sla-profile-target-mep-id
    
                    list sla-profile-target-mac-address {
                      key "profile target-mac-address";
                      description
                        "Configuration for a particular SLA
                       operation";
                      leaf profile {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SLA profile name";
                      }
    
                      leaf target-mac-address {
                        type yang:mac-address;
                        description
                          "Target MAC address";
                      }
                    }  // list sla-profile-target-mac-address
                  }  // container sla-profile-target-mep-ids
    
                  container mep-properties {
                    presence
                      "Indicates a mep-properties node is configured.";
                    description
                      "Properties for this MEP";
                    leaf service {
                      type string {
                        length "1..127";
                      }
                      mandatory true;
                      description
                        "Service (Maintenance Association)";
                    }
    
                    leaf mep-id {
                      type dt1:Cfm-mep-id;
                      mandatory true;
                      description "MEP ID";
                    }
                  }  // container mep-properties
    
                  container loss-measurement-counters {
                    presence
                      "Indicates a loss-measurement-counters node is configured.";
                    description
                      "Loss-measurement specific configuration";
                    leaf cfg-type {
                      type Cfm-lm-counters-cfg;
                      mandatory true;
                      description
                        "Aggregate, List, or Range";
                    }
    
                    leaf cos0 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - start of
                       range or list item";
                    }
    
                    leaf cos1 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - end of
                       range or list item";
                    }
    
                    leaf cos2 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - list item";
                    }
    
                    leaf cos3 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - list item";
                    }
    
                    leaf cos4 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - list item";
                    }
    
                    leaf cos5 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - list item";
                    }
    
                    leaf cos6 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - list item";
                    }
    
                    leaf cos7 {
                      type dt1:Cfm-cos-bits;
                      description
                        "CoS bits for per-CoS counters - list item";
                    }
                  }  // container loss-measurement-counters
    
                  leaf llf {
                    type empty;
                    description
                      "Enable interface TX-disable on remote fault
                     detection for this MEP";
                  }
    
                  leaf cos {
                    type dt1:Cfm-cos-bits;
                    description
                      "The Class of Service bits for this MEP";
                  }
                }  // container mep
    
                leaf domain {
                  type string {
                    length "1..127";
                  }
                  description
                    "Maintenance Domain";
                }
              }  // list domain
            }  // container domains
    
            container ais-up {
              description
                "Interface specific AIS configuration";
              container transmission {
                presence "enable transmission";
                description
                  "AIS transmission configuration";
                leaf ais-interval {
                  type dt1:Cfm-ais-interval;
                  description "AIS Interval";
                }
    
                leaf cos {
                  type dt1:Cfm-cos-bits;
                  description
                    "Class of Service bits";
                }
              }  // container transmission
            }  // container ais-up
    
            container bandwidth-notifications {
              description
                "Bandwidth Notification configuration";
              leaf wait-to-restore {
                type dt1:Cfm-bnm-wtr;
                default "10";
                description
                  "Wait-to-restore time (in seconds)";
              }
    
              leaf log-changes {
                type empty;
                description
                  "Enable logging of bandwidth changes";
              }
    
              leaf hold-off {
                type dt1:Cfm-bnm-hold-off;
                default "0";
                description
                  "Hold-off time (in seconds)";
              }
    
              leaf loss-threshold {
                type dt1:Cfm-bnm-loss-threshold;
                default "3";
                description
                  "Loss Threshold (in number of BNMs)";
              }
            }  // container bandwidth-notifications
          }  // container cfm
        }
    
        augment /a2:ethernet-features {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-l2-eth-infra-cfg'";
          container cfm {
            description
              "CFM global configuration";
            container traceroute-cache {
              description
                "Traceroute Cache Configuration";
              leaf hold-time {
                type uint32 {
                  range "1..525600";
                }
                default "100";
                description
                  "Hold Time in minutes";
              }
    
              leaf cache-size {
                type uint32 {
                  range "1..4294967295";
                }
                default "100";
                description
                  "Cache Size limit (number of replies)";
              }
            }  // container traceroute-cache
    
            container domains {
              description
                "Domain-specific global configuration";
              list domain {
                key "domain";
                description
                  "Configuration for a particular Maintenance
                 Domain";
                container services {
                  description
                    "Service-specific global configuration";
                  list service {
                    key "service";
                    description
                      "Configuration for a particular Service
                     (Maintenance Association)";
                    container efd2 {
                      presence
                        "Indicates a efd2 node is configured.";
                      description
                        "Enable EFD to bring down ports when MEPs
                       detect errors";
                      leaf enable {
                        type empty;
                        mandatory true;
                        description "Enable EFD";
                      }
    
                      leaf protection-switching-enable {
                        type empty;
                        description
                          "Enable protection switching notifications";
                      }
                    }  // container efd2
    
                    container continuity-check-interval {
                      presence
                        "Indicates a continuity-check-interval node is configured.";
                      description
                        "Continuity Check Interval and Loss
                       Threshold.  Configuring the interval
                       enables Continuity Check.";
                      leaf ccm-interval {
                        type dt1:Cfm-ccm-interval;
                        mandatory true;
                        description
                          "CCM Interval";
                      }
    
                      leaf loss-threshold {
                        type uint32 {
                          range "2..255";
                        }
                        description
                          "Loss Threshold (default 3)";
                      }
                    }  // container continuity-check-interval
    
                    container mip-auto-creation {
                      presence
                        "Indicates a mip-auto-creation node is configured.";
                      description
                        "MIP Auto-creation Policy";
                      leaf mip-policy {
                        type Cfm-mip-policy;
                        mandatory true;
                        description
                          "MIP Auto-creation Policy";
                      }
    
                      leaf ccm-learning-enable {
                        type empty;
                        description
                          "Enable CCM Learning at MIPs in this
                         service";
                      }
                    }  // container mip-auto-creation
    
                    container ais {
                      description
                        "Service specific AIS configuration";
                      container transmission {
                        presence
                          "enable transmission";
                        description
                          "AIS transmission configuration";
                        leaf ais-interval {
                          type dt1:Cfm-ais-interval;
                          description
                            "AIS Interval";
                        }
    
                        leaf cos {
                          type dt1:Cfm-cos-bits;
                          description
                            "Class of Service bits";
                        }
                      }  // container transmission
                    }  // container ais
    
                    container cross-check {
                      description
                        "Cross-check configuration";
                      container cross-check-meps {
                        description
                          "Cross-check MEPs";
                        list cross-check-mep {
                          key "mep-id";
                          description
                            "MEP ID and optional MAC Address for
                           Cross-check";
                          leaf mep-id {
                            type dt1:Cfm-mep-id;
                            description "MEP ID";
                          }
    
                          leaf enable-mac-address {
                            type empty;
                            description
                              "MAC Address is specified";
                          }
    
                          leaf mac-address {
                            type yang:mac-address;
                            description
                              "MAC Address";
                          }
                        }  // list cross-check-mep
                      }  // container cross-check-meps
    
                      leaf auto {
                        type empty;
                        description
                          "Enable automatic MEP cross-check";
                      }
                    }  // container cross-check
    
                    container service-properties {
                      presence
                        "Indicates a service-properties node is configured.";
                      description
                        "Fundamental properties of the service
                       (maintenance association)";
                      leaf service-type {
                        type Cfm-service;
                        mandatory true;
                        description
                          "Type of Service";
                      }
    
                      leaf group-name {
                        type string;
                        description
                          "Bridge Group or Cross-connect Group, if
                         Service Type is BridgeDomain or
                         CrossConnect";
                      }
    
                      leaf switching-name {
                        type string;
                        description
                          "Bridge Domain or Cross-connect name, if
                         Service Type is BridgeDomain or
                         CrossConnect";
                      }
    
                      leaf ce-id {
                        type uint32 {
                          range "1..16384";
                        }
                        description
                          "Local Customer Edge Identifier";
                      }
    
                      leaf remote-ce-id {
                        type uint32 {
                          range "1..16384";
                        }
                        description
                          "Remote Customer Edge Identifier";
                      }
    
                      leaf evi {
                        type uint32 {
                          range "1..65534";
                        }
                        description "EVPN ID";
                      }
    
                      leaf short-ma-name-format {
                        type Cfm-short-ma-name-format;
                        description
                          "Short MA Name Format";
                      }
    
                      leaf short-ma-name-string {
                        type xr:Cisco-ios-xr-string {
                          length "1..45";
                        }
                        description
                          "String Short MA Name, if format is String";
                      }
    
                      leaf short-ma-name-number {
                        type uint32 {
                          range "0..65535";
                        }
                        description
                          "Numeric Short MA Name, if format is VlanID
                         or Number";
                      }
    
                      leaf short-ma-name-oui {
                        type uint32 {
                          range "0..16777215";
                        }
                        description
                          "VPN OUI, if Short MA Name format is VPN_ID";
                      }
    
                      leaf short-ma-name-vpn-index {
                        type uint32;
                        description
                          "VPN Index, if Short MA Name format is
                         VPN_ID";
                      }
    
                      leaf short-ma-name-icc {
                        type xr:Cisco-ios-xr-string {
                          length "1..6";
                        }
                        description
                          "ITU Carrier Code (ICC), if format is
                         ICCBased";
                      }
    
                      leaf short-ma-name-umc {
                        type xr:Cisco-ios-xr-string {
                          length "1..12";
                        }
                        description
                          "Unique MEG ID Code (UMC), if format is
                         ICCBased";
                      }
                    }  // container service-properties
    
                    leaf maximum-meps {
                      type uint32 {
                        range "2..8190";
                      }
                      default "100";
                      description
                        "Limit on the number of MEPs in the service";
                    }
    
                    leaf log-cross-check-errors {
                      type empty;
                      description
                        "Log Cross-check Errors detected for peer
                       MEPs";
                    }
    
                    leaf continuity-check-archive-hold-time {
                      type uint32 {
                        range "1..65535";
                      }
                      default "100";
                      description
                        "How long to store information for peer MEPs
                       that have timed out";
                    }
    
                    leaf tags {
                      type uint32 {
                        range "1";
                      }
                      description
                        "The number of tags to use when sending CFM
                       packets from up MEPs in this Service";
                    }
    
                    leaf log-continuity-check-state-changes {
                      type empty;
                      description
                        "Log peer MEPs state changes";
                    }
    
                    leaf log-efd {
                      type empty;
                      description
                        "Enable logging";
                    }
    
                    leaf continuity-check-auto-traceroute {
                      type empty;
                      description
                        "Automatically trigger a traceroute when a
                       peer MEP times out";
                    }
    
                    leaf log-continuity-check-errors {
                      type empty;
                      description
                        "Log CCM Errors detected for peer MEPs";
                    }
    
                    leaf log-ais {
                      type empty;
                      description
                        "Log receipt of AIS and LCK messages";
                    }
    
                    leaf service {
                      type string {
                        length "1..127";
                      }
                      description
                        "Service (Maintenance Association)";
                    }
                  }  // list service
                }  // container services
    
                container domain-properties {
                  description
                    "Fundamental properties of the domain";
                  leaf level {
                    type dt1:Cfm-level;
                    description
                      "Maintenance Domain Level";
                  }
    
                  leaf mdid-format {
                    type Cfm-mdid-format;
                    description
                      "Maintenance Domain ID Format";
                  }
    
                  leaf mdid-mac-address {
                    when
                      "../mdid-format = 'mac-address'" {
                      description
                        "../MDIDFormat = MACAddress";
                    }
                    type yang:mac-address;
                    description
                      "MAC Address, if MDID Format is MACAddress";
                  }
    
                  leaf mdid-number {
                    when
                      "../mdid-format = 'mac-address'" {
                      description
                        "../MDIDFormat = MACAddress";
                    }
                    type uint32 {
                      range "0..65535";
                    }
                    description
                      "Unsigned 16-bit Interger, if MDID Format is
                     MACAddress";
                  }
    
                  leaf mdid-string {
                    when
                      "../mdid-format = 'dns-like' or ../mdid-format = 'string'" {
                      description
                        "../MDIDFormat = DNSLike or ../MDIDFormat =
                       String";
                    }
                    type string {
                      length "1..43";
                    }
                    description
                      "String MDID, if MDID format is String or
                     DNSLike";
                  }
                }  // container domain-properties
    
                leaf domain {
                  type string {
                    length "1..127";
                  }
                  description
                    "Maintenance Domain";
                }
              }  // list domain
            }  // container domains
    
            leaf nv-satellite-sla-processing-disable {
              type empty;
              description
                "Disable processing of Ethernet SLA packets on
               nV Satellite devices";
            }
          }  // container cfm
        }
    
        augment /a3:snmp/a3:notification {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-snmp-agent-cfg'";
          container cfm {
            description
              "802.1ag Connectivity Fault Management MIB
             notification configuration";
            leaf enable {
              type empty;
              description
                "Enable 802.1ag Connectivity Fault Management
               MIB notifications";
            }
          }  // container cfm
        }
      }  // module Cisco-IOS-XR-ethernet-cfm-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.