This module contains a collection of YANG definitions for Cisco IOS-XR ethernet-oam package configuration. This YANG module aug...
Version: 2021-02-19
module Cisco-IOS-XR-um-ethernet-oam-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-oam-cfg"; prefix um-ethernet-oam-cfg; import Cisco-IOS-XR-types { prefix xr; } 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-oam package configuration. This YANG module augments the modules with configuration data. Copyright (c) 2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-02-19" { description "Initial release"; } semver:module-version "1.0.0"; container ethernet { description "Ethernet configuration commands"; container oam { description "Configure information relating to Ethernet Link OAM"; container profiles { description "802.3 OAM profiles"; list profile { key "profile-name"; description "The name of the profile"; leaf profile-name { type xr:Cisco-ios-xr-string { length "1..32"; pattern "[-a-zA-Z0-9_]*[-a-zA-Z0-9_]"; } description "The name of the profile"; } container link-monitor { description "Enter link-monitor submode"; container symbol-period { description "Symbol-period event configuration"; container window { description "window size for symbol-period event configuration"; leaf milliseconds { type uint32 { range "1000..60000"; } must "not(../symbols/window-size)"; description "Use milliseconds as the units for the symbol-period window"; } container symbols { description "Use symbols as the units for the symbol-period window"; leaf window-size { type uint32 { range "1..4294967295"; } must "not(../../milliseconds)"; description "Size of the symbol-period window in symbols"; } container thousand { must "../window-size and not(../million or ../billion)"; presence "Indicates a thousand node is configured."; description "Use thousands of the specified units"; } // container thousand container million { must "../window-size and not(../thousand or ../billion)"; presence "Indicates a million node is configured."; description "Use millions of the specified units"; } // container million container billion { must "../window-size and not(../thousand or ../million)"; presence "Indicates a billion node is configured."; description "Use billions of the specified units"; } // container billion } // container symbols } // container window container threshold { description "threshold configuration for symbol-period events"; container symbols { description "Use symbols as the units for the symbol-period threshold"; leaf low { type uint32 { range "1..4294967295"; } description "low threshold for symbol-period events"; } leaf high { type uint32 { range "1..4294967295"; } description "high threshold for symbol-period events"; } container thousand { must "(../low or ../high) and not(../million or ../billion)"; presence "Indicates a thousand node is configured."; description "Use thousands of the specified units"; } // container thousand container million { must "(../low or ../high) and not(../thousand or ../billion)"; presence "Indicates a million node is configured."; description "Use millions of the specified units"; } // container million container billion { must "(../low or ../high) and not(../thousand or ../million)"; presence "Indicates a billion node is configured."; description "Use billions of the specified units"; } // container billion } // container symbols container ppm { description "Use parts-per-million as the units for the symbol-period threshold"; leaf low { type uint32 { range "1..1000000"; } description "low threshold for symbol-period events"; } leaf high { type uint32 { range "1..1000000"; } description "high threshold for symbol-period events"; } } // container ppm } // container threshold } // container symbol-period container frame { description "Frame event configuration"; container window { description "window size for frame event configuration"; leaf milliseconds { type uint32 { range "1000..60000"; } description "Use milliseconds as the units for the frame window"; } } // container window container threshold { description "threshold configuration for frame events"; leaf low { type uint32 { range "1..4294967295"; } description "low threshold for frame events"; } leaf high { type uint32 { range "1..4294967295"; } description "high threshold for frame events"; } container thousand { must "(../low or ../high) and not(../million or ../billion)"; presence "Indicates a thousand node is configured."; description "Use thousands of the specified units"; } // container thousand container million { must "(../low or ../high) and not(../thousand or ../billion)"; presence "Indicates a million node is configured."; description "Use millions of the specified units"; } // container million container billion { must "(../low or ../high) and not(../thousand or ../million)"; presence "Indicates a billion node is configured."; description "Use billions of the specified units"; } // container billion } // container threshold } // container frame container frame-period { description "frame-period event configuration"; container window { description "window size for frame-period event configuration"; leaf milliseconds { type uint32 { range "100..60000"; } must "not(../frames/window-size)"; description "Use milliseconds as the units for the frame-period window"; } container frames { description "Use frames as the units for the frame-period window"; leaf window-size { type uint32 { range "1..4294967295"; } must "not(../../milliseconds)"; description "Size of the frame-period window in symbols"; } container thousand { must "../window-size and not(../million or ../billion)"; presence "Indicates a thousand node is configured."; description "Use thousands of the specified units"; } // container thousand container million { must "../window-size and not(../thousand or ../billion)"; presence "Indicates a million node is configured."; description "Use millions of the specified units"; } // container million container billion { must "../window-size and not(../thousand or ../million)"; presence "Indicates a billion node is configured."; description "Use billions of the specified units"; } // container billion } // container frames } // container window container threshold { description "threshold for frame-period events"; container frames { description "Use frames as the units for the frame-period threshold"; leaf low { type uint32 { range "1..4294967295"; } description "low threshold for frame-period events"; } leaf high { type uint32 { range "1..4294967295"; } description "high threshold for frame-period events"; } container thousand { must "(../low or ../high) and not(../million or ../billion)"; presence "Indicates a thousand node is configured."; description "Use thousands of the specified units"; } // container thousand container million { must "(../low or ../high) and not(../thousand or ../billion)"; presence "Indicates a million node is configured."; description "Use millions of the specified units"; } // container million container billion { must "(../low or ../high) and not(../thousand or ../million)"; presence "Indicates a billion node is configured."; description "Use billions of the specified units"; } // container billion } // container frames container ppm { description "Use parts-per-million as the units for the frame-period threshold"; leaf low { type uint32 { range "1..1000000"; } description "low threshold for frame events"; } leaf high { type uint32 { range "1..1000000"; } description "high threshold for frame events"; } } // container ppm } // container threshold } // container frame-period container frame-seconds { description "frame-seconds event configuration"; container window { description "window size for frame-seconds event configuration"; leaf milliseconds { type uint32 { range "10000..900000"; } description "Use milliseconds as the units for the frame-seconds window"; } } // container window container threshold { description "threshold"; leaf low { type uint32 { range "1..900"; } description "low threshold for frame-seconds events"; } leaf high { type uint32 { range "1..900"; } description "high threshold for frame-seconds events"; } } // container threshold } // container frame-seconds container monitoring { presence "Indicates a monitoring node is configured."; description "Monitoring support"; container disable { presence "Indicates a disable node is configured."; description "Disable monitoring"; } // container disable } // container monitoring } // container link-monitor container mode { description "OAM mode"; container passive { must "not(../active)"; presence "Indicates a passive node is configured."; description "Passive mode"; } // container passive container active { must "not(../passive)"; presence "Indicates a active node is configured."; description "Active mode"; } // container active } // container mode leaf hello-interval { type enumeration { enum "100ms" { value 1; description "100 millisecond hello interval"; } enum "1s" { value 0; description "1 second hello interval"; } } description "Hello interval time"; } container remote-loopback { presence "Indicates a remote-loopback node is configured."; description "Remote-loopback support"; container disable { presence "Indicates a detection node is configured."; description "Disable remote loopback support"; } // container disable } // container remote-loopback container mib-retrieval { presence "Indicates a mib-retrieval node is configured."; description "MIB retrieval support"; container disable { presence "Indicates a detection node is configured."; description "Disable MIB retrieval support"; } // container disable } // container mib-retrieval container uni-directional { description "Uni-directional link-fault detection support"; container link-fault { description "Uni-directional link-fault detection support"; container detection { presence "Indicates a detection node is configured."; description "Uni-directional link-fault detection support"; container disable { presence "Indicates a detection node is configured."; description "Disable uni-directional link-fault detection support"; } // container disable } // container detection } // container link-fault } // container uni-directional container connection { description "OAM connection configuration"; leaf timeout { type uint32 { range "2..30"; } description "OAM connection session timeout period"; } } // container connection container require-remote { description "Enter require-remote submode"; container mib-retrieval { presence "Indicates a mib-retrieval node is configured."; description "Requirement of MIB retrieval support"; container disable { presence "Indicates a detection node is configured."; description "Disable the requirement of MIB retrieval support"; } // container disable } // container mib-retrieval container remote-loopback { presence "Indicates a remote-loopback node is configured."; description "Requirement of Remote loopback support"; container disable { presence "Indicates a detection node is configured."; description "Disable the requirement of remote loopback support"; } // container disable } // container remote-loopback container link-monitoring { presence "Indicates a link-monitoring node is configured."; description "Requirement of Link monitoring support"; container disable { presence "Indicates a detection node is configured."; description "Disable the requirement of link monitoring support"; } // container disable } // container link-monitoring container mode { description "Requirement of a specific OAM mode"; container passive { must "not(../active or ../disabled)"; presence "Indicates a passive node is configured."; description "Require passive mode"; } // container passive container active { must "not(../passive or ../disabled)"; presence "Indicates a active node is configured."; description "Require active mode"; } // container active container disabled { must "not(../passive or ../active)"; presence "Indicates a disabled node is configured."; description "Disable the requirement of a specific mode"; } // container disabled } // container mode } // container require-remote container action { description "Enter action submode"; container critical-event { description "Action to perform when a critical event occurs"; container error-disable-interface { must "not(../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container log { must "not(../error-disable-interface or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container critical-event container dying-gasp { description "Action to perform when a dying gasp occurs"; container error-disable-interface { must "not(../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container log { must "not(../error-disable-interface or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container dying-gasp container uni-directional { description "Action to perform when a uni-directional link-fault message is received"; container link-fault { description "Action to perform when a uni-directional link-fault message is received"; container error-disable-interface { must "not(../efd or ../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container efd { must "not(../error-disable-interface or ../log or ../disable)"; presence "Indicates a efd node is configured."; description "Bring down the interface using EFD"; } // container efd container log { must "not(../error-disable-interface or ../efd or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../efd or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container link-fault } // container uni-directional container capabilities-conflict { description "Action to perform when a capabilities conflict occurs"; container error-disable-interface { must "not(../efd or ../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container efd { must "not(../error-disable-interface or ../log or ../disable)"; presence "Indicates a efd node is configured."; description "Enable EFD to bring down the interface"; } // container efd container log { must "not(../error-disable-interface or ../efd or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../efd or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container capabilities-conflict container wiring-conflict { description "Action to perform when a wiring conflict occurs"; container efd { must "not(../error-disable-interface or ../log or ../disable)"; presence "Indicates a efd node is configured."; description "Enable EFD to bring down the interface"; } // container efd container error-disable-interface { must "not(../efd or ../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container log { must "not(../efd or ../error-disable-interface or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../efd or ../error-disable-interface or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container wiring-conflict container discovery-timeout { description "Action to perform when discovery timeout occurs"; container error-disable-interface { must "not(../efd or ../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container efd { must "not(../error-disable-interface or ../log or ../disable)"; presence "Indicates a efd node is configured."; description "Enable EFD to bring down the interface"; } // container efd container log { must "not(../error-disable-interface or ../efd or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../efd or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container discovery-timeout container high-threshold { description "Action to perform when a high-threshold is crossed"; container error-disable-interface { must "not(../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "disable the interface"; } // container error-disable-interface container log { must "not(../error-disable-interface or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container high-threshold container remote-loopback { description "Action to perform when a remote loopback event occurs"; container log { must "not(../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container remote-loopback container session-up { description "Action to perform when a session comes up"; container log { must "not(../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container session-up container session-down { description "Action to perform when a session goes down"; container error-disable-interface { must "not(../efd or ../log or ../disable)"; presence "Indicates a error-disable-interface node is configured."; description "Error-disable the interface"; } // container error-disable-interface container efd { must "not(../error-disable-interface or ../log or ../disable)"; presence "Indicates a efd node is configured."; description "Enable EFD to bring down the interface"; } // container efd container log { must "not(../error-disable-interface or ../efd or ../disable)"; presence "Indicates a log node is configured."; description "Log the event"; } // container log container disable { must "not(../error-disable-interface or ../efd or ../log)"; presence "Indicates a disable node is configured."; description "Perform no action"; } // container disable } // container session-down } // container action } // list profile } // container profiles } // container oam } // container ethernet } // module Cisco-IOS-XR-um-ethernet-oam-cfg
© 2023 YumaWorks, Inc. All rights reserved.