This module contains a collection of YANG definitions for Cisco IOS-XR ethernet-link-oam package configuration. This YANG modul...
Version: 2020-04-15
module Cisco-IOS-XR-ethernet-link-oam-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-link-oam-cfg"; prefix ethernet-link-oam-cfg; import Cisco-IOS-XR-types { prefix xr; } import cisco-semver { prefix semver; } import Cisco-IOS-XR-snmp-agent-cfg { prefix a1; } import Cisco-IOS-XR-l2-eth-infra-cfg { prefix a2; } import Cisco-IOS-XR-ifmgr-cfg { prefix a3; } 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-link-oam package configuration. This YANG module augments the Cisco-IOS-XR-snmp-agent-cfg, Cisco-IOS-XR-l2-eth-infra-cfg, Cisco-IOS-XR-ifmgr-cfg modules with configuration data. Copyright (c) 2013-2020 by Cisco Systems, Inc. All rights reserved."; revision "2020-04-15" { description "Fixed must conditions bug."; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "2.0.0"; semver:module-version "1.0.0"; typedef Ether-link-oam-threshold-window-multiplier-enum { type enumeration { enum "none" { value 0; description "Do not use a multiplier"; } enum "thousand" { value 1; description "Use multiplier of 1000"; } enum "million" { value 2; description "Use multiplier of 1,000,000"; } enum "billion" { value 3; description "Use multiplier of 1,000,000,000"; } } description "Ether link oam threshold window multiplier enum"; } typedef Ether-link-oam-threshold-units-frames-enum { type enumeration { enum "frames" { value 3; description "Define threshold in frames"; } enum "ppm" { value 4; description "Define threshold in parts per million"; } } description "Ether link oam threshold units frames enum"; } typedef Ether-link-oam-threshold-units-symbols-enum { type enumeration { enum "symbols" { value 2; description "Define threshold in symbols"; } enum "ppm" { value 4; description "Define threshold in parts per million"; } } description "Ether link oam threshold units symbols enum"; } typedef Ether-link-oam-window-units-symbols-enum { type enumeration { enum "milliseconds" { value 1; description "Define window in milliseconds"; } enum "symbols" { value 2; description "Define window in symbols"; } } description "Ether link oam window units symbols enum"; } typedef Ether-link-oam-window-units-frames-enum { type enumeration { enum "milliseconds" { value 1; description "Define window in milliseconds"; } enum "frames" { value 3; description "Define window in frames"; } } description "Ether link oam window units frames enum"; } typedef Ether-link-oam-require-mode-enum { type enumeration { enum "passive" { value 0; description "Ethernet Link OAM Passive mode"; } enum "active" { value 1; description "Ethernet Link OAM Active mode"; } enum "dont-care" { value 2; description "Ethernet Link OAM mode not required"; } } description "Ether link oam require mode enum"; } typedef Ether-link-oam-event-action-enum-efd { type enumeration { enum "disable" { value 1; description "Perform no action"; } enum "error-disable" { value 2; description "Disable the interface"; } enum "log" { value 3; description "Log the event"; } enum "efd" { value 4; description "EFD the interface"; } } description "Ether link oam event action enum efd"; } typedef Ether-link-oam-event-action-prim-enum { type enumeration { enum "disable" { value 1; description "Perform no action"; } enum "log" { value 3; description "Log the event"; } } description "Ether link oam event action prim enum"; } typedef Ether-link-oam-mode-enum { type enumeration { enum "passive" { value 0; description "Ethernet Link OAM Passive mode"; } enum "active" { value 1; description "Ethernet Link OAM Active mode"; } } description "Ether link oam mode enum"; } typedef Ether-link-oam-event-action-enum { type enumeration { enum "disable" { value 1; description "Perform no action"; } enum "error-disable" { value 2; description "Disable the interface"; } enum "log" { value 3; description "Log the event"; } } description "Ether link oam event action enum"; } typedef Ether-link-oam-hello-interval-enum { type enumeration { enum "1s" { value 0; description "1 s OAM hello interval"; } enum "100ms" { value 1; description "100 ms OAM hello interval"; } } description "Ether link oam hello interval enum"; } grouping LINK-MONITORING { description "Common node of profile, ether-link-oam"; container link-monitoring { description "Configure link monitor parameters"; container symbol-period { description "Symbol-period event configuration"; container window { presence "Indicates a window node is configured."; description "Window size configuration for symbol-period events"; leaf window { type uint32 { range "1..4294967295"; } mandatory true; description "Size of the symbol-period window"; } leaf units { type Ether-link-oam-window-units-symbols-enum; mandatory true; description "Units to use for this window"; } leaf multiplier { type Ether-link-oam-threshold-window-multiplier-enum; default "none"; description "The multiplier to use for this window (only valid if 'Units' is Symbols and treated as 1 if unspecified)"; } } // container window container threshold { description "Threshold configuration for symbol-period events"; leaf threshold-low { type uint32 { range "1..4294967295"; } must "../units"; default "1"; description "The low threshold for symbol-period"; } leaf threshold-high { type uint32 { range "1..4294967295"; } must "../units"; description "The high threshold for symbol-period"; } leaf units { type Ether-link-oam-threshold-units-symbols-enum; must "../threshold-low or (../threshold-low and ../multiplier-low) or ../threshold-high or (../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high) or (../threshold-low and ../threshold-high and ../multiplier-low) or (../threshold-low and ../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high and ../multiplier-low and ../multiplier-high)"; default "symbols"; description "The units to use for these thresholds"; } leaf multiplier-low { type Ether-link-oam-threshold-window-multiplier-enum; must "../threshold-low and ../units"; default "none"; description "The multiplier to use for the low threshold (only valid if 'Units' is Symbols and treated as 1 if unspecified)"; } leaf multiplier-high { type Ether-link-oam-threshold-window-multiplier-enum; must "../threshold-high and ../units"; description "The multiplier to use for the high threshold (only valid if 'Units' is Symbols and treated as 1 if unspecified)"; } } // container threshold } // container symbol-period container frame-period { description "Frame-period event configuration"; container window { presence "Indicates a window node is configured."; description "Window size configuration for frame-period events"; leaf window { type uint32 { range "1..4294967295"; } mandatory true; description "Size of the frame-period window"; } leaf units { type Ether-link-oam-window-units-frames-enum; mandatory true; description "The units to use for this window"; } leaf multiplier { type Ether-link-oam-threshold-window-multiplier-enum; default "none"; description "The multiplier to use for this window (only valid if 'Units' is Frames and treated as 1 if unspecified)"; } } // container window container threshold { description "Threshold configuration for frame-period events"; leaf threshold-low { type uint32 { range "1..4294967295"; } must "../units"; default "1"; description "The low threshold for frame-period events"; } leaf threshold-high { type uint32 { range "1..4294967295"; } must "../units"; description "The high threshold for frame-period events"; } leaf units { type Ether-link-oam-threshold-units-frames-enum; must "../threshold-low or (../threshold-low and ../multiplier-low) or ../threshold-high or (../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high) or (../threshold-low and ../threshold-high and ../multiplier-low) or (../threshold-low and ../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high and ../multiplier-low and ../multiplier-high)"; default "ppm"; description "The units to use for these thresholds"; } leaf multiplier-low { type Ether-link-oam-threshold-window-multiplier-enum; must "../threshold-low and ../units"; default "none"; description "The multiplier to use for the low threshold (only valid if 'Units' is Frames and treated as 1 if unspecified)"; } leaf multiplier-high { type Ether-link-oam-threshold-window-multiplier-enum; must "../threshold-high and ../units"; description "The multiplier to use for the high threshold (only valid if 'Units' is Frames and treated as 1 if unspecified)"; } } // container threshold } // container frame-period container frame-seconds { description "Frame-seconds event configuration"; container threshold { description "Threshold configuration for frame-seconds events"; leaf threshold-low { type uint32 { range "1..900"; } units "second"; default "1"; description "The low threshold for frame-seconds events"; } leaf threshold-high { type uint32 { range "1..900"; } units "second"; description "The high threshold for frame-seconds events"; } } // container threshold leaf window { type uint32 { range "10000..900000"; } units "millisecond"; default "60000"; description "Window size configuration for frame-seconds events"; } } // container frame-seconds container frame { description "Frame event configuration"; container threshold { description "Threshold configuration for frame events"; leaf threshold-low { type uint32 { range "1..4294967295"; } default "1"; description "The low threshold for frame events"; } leaf threshold-high { type uint32 { range "1..4294967295"; } description "The high threshold for frame events"; } leaf multiplier-low { type Ether-link-oam-threshold-window-multiplier-enum; must "../threshold-low"; default "none"; description "The multiplier to use for the low threshold (treated as 1 if unspecified)"; } leaf multiplier-high { type Ether-link-oam-threshold-window-multiplier-enum; must "../threshold-high"; description "The multiplier to use for the high threshold (treated as 1 if unspecified)"; } } // container threshold leaf window { type uint32 { range "1000..60000"; } units "millisecond"; default "1000"; description "Window size configuration for frame events"; } } // container frame leaf monitoring { type boolean; description "Enable or disable monitoring"; } } // container link-monitoring } // grouping LINK-MONITORING augment /a3:interface-configurations/a3:interface-configuration/a2:ethernet-features { description "This augment extends the configuration data of 'Cisco-IOS-XR-l2-eth-infra-cfg'"; leaf ether-link-oam-enable { type empty; description "Enable Ethernet Link OAM on the interface"; } } augment /a3:interface-configurations/a3:interface-configuration/a2:ethernet-features { description "This augment extends the configuration data of 'Cisco-IOS-XR-l2-eth-infra-cfg'"; container ether-link-oam { description "Ethernet Link OAM Interface Configuration"; container action { description "Configure action parameters"; leaf dying-gasp { type Ether-link-oam-event-action-enum; description "Action to perform when a dying gasp occurs"; } leaf link-fault { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a link fault occurs"; } leaf capabilities-conflict { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a capabilities conflict occurs"; } leaf session-up { type Ether-link-oam-event-action-prim-enum; description "Action to perform when a session comes up"; } leaf critical-event { type Ether-link-oam-event-action-enum; description "Action to perform when a critical event occurs"; } leaf remote-loopback { type Ether-link-oam-event-action-prim-enum; description "Action to perform when remote loopback is entered or exited"; } leaf wiring-conflict { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a wiring conflict occurs"; } leaf high-threshold { type Ether-link-oam-event-action-enum; description "Action to perform when a high-threshold event occurs"; } leaf discovery-timeout { type Ether-link-oam-event-action-enum-efd; description "Action to perform when discovery timeout occurs"; } leaf session-down { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a session comes down"; } } // container action container require-remote { description "Configure remote requirement parameters"; leaf mode { type Ether-link-oam-require-mode-enum; description "Possible required peer modes"; } leaf mib-retrieval { type boolean; description "Enable or disable MIB retrieval peer requirement"; } leaf remote-loopback { type boolean; description "Enable or disable remote loopback peer requirement"; } leaf link-monitoring { type boolean; description "Enable or disable link monitoring peer requirement"; } } // container require-remote leaf timeout { type uint32 { range "2..30"; } description "Connection timeout period in number of lost heartbeats"; } leaf mode { type Ether-link-oam-mode-enum; description "Possible Ethernet Link OAM modes"; } leaf mib-retrieval { type boolean; description "Enable or disable MIB retrieval"; } leaf profile-name { type string; description "Set the profile to use on the interface"; } leaf remote-loopback { type boolean; description "Enable or disable remote loopback"; } leaf hello-interval { type Ether-link-oam-hello-interval-enum; description "Possible Ethernet Link OAM hello intervals"; } leaf udlf { type boolean; description "Enable or disable uni-directional link-fault detection"; } uses LINK-MONITORING; } // container ether-link-oam } augment /a2:ethernet-features { description "This augment extends the configuration data of 'Cisco-IOS-XR-l2-eth-infra-cfg'"; container ether-link-oam { description "Ethernet Link OAM Global Configuration"; container profiles { description "Table of Ethernet Link OAM profiles"; list profile { key "profile"; description "Name of the profile"; container action { description "Configure action parameters"; leaf dying-gasp { type Ether-link-oam-event-action-enum; description "Action to perform when a dying gasp occurs"; } leaf session-up { type Ether-link-oam-event-action-prim-enum; description "Action to perform when a session comes up"; } leaf critical-event { type Ether-link-oam-event-action-enum; description "Action to perform when a critical event occurs"; } leaf session-down { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a session goes down"; } leaf discovery-timeout { type Ether-link-oam-event-action-enum-efd; description "Action to perform when discovery timeout occurs"; } leaf high-threshold { type Ether-link-oam-event-action-enum; description "Action to perform when a high-threshold event occurs"; } leaf capabilities-conflict { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a capabilities conflict occurs"; } leaf remote-loopback { type Ether-link-oam-event-action-prim-enum; description "Action to perform when remote loopback is entered or exited"; } leaf link-fault { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a link fault message is received"; } leaf wiring-conflict { type Ether-link-oam-event-action-enum-efd; description "Action to perform when a wiring conflict occurs"; } } // container action container require-remote { description "Configure remote requirement parameters"; leaf mib-retrieval { type boolean; description "Enable or disable MIB retrieval requirement"; } leaf mode { type Ether-link-oam-require-mode-enum; description "Possible required OAM modes"; } leaf remote-loopback { type boolean; description "Enable or disable remote loopback requirement"; } leaf link-monitoring { type boolean; description "Enable or disable link monitoring requirement"; } } // container require-remote leaf mib-retrieval { type boolean; description "Enable or disable MIB retrieval support"; } leaf udlf { type boolean; description "Enable or disable uni-directional link-fault detection support"; } leaf hello-interval { type Ether-link-oam-hello-interval-enum; description "Possible Ethernet Link OAM hello intervals"; } leaf mode { type Ether-link-oam-mode-enum; description "Set the OAM mode to passive"; } leaf remote-loopback { type boolean; description "Enable or disable remote loopback support"; } leaf timeout { type uint32 { range "2..30"; } description "Connection timeout period in number of lost heartbeats"; } leaf profile { type xr:Cisco-ios-xr-string; description "none"; } uses LINK-MONITORING; } // list profile } // container profiles } // container ether-link-oam } augment /a1:snmp/a1:notification { description "This augment extends the configuration data of 'Cisco-IOS-XR-snmp-agent-cfg'"; container oam { description "802.3 OAM MIB notification configuration"; leaf enable { type empty; description "Enable 802.3 OAM MIB notifications"; } } // container oam } } // module Cisco-IOS-XR-ethernet-link-oam-cfg
© 2023 YumaWorks, Inc. All rights reserved.