Cisco-IOS-XR-um-ethernet-cfm-cfg

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

  • Version: 2021-02-09

    Cisco-IOS-XR-um-ethernet-cfm-cfg@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";
    
        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.