This module contains a collection of YANG definitions for Cisco IOS-XR interface package configuration. This YANG module augmen...
Version: 2021-05-04
module Cisco-IOS-XR-um-interface-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-interface-cfg"; prefix um-interface-cfg; import cisco-semver { prefix semver; } import Cisco-IOS-XR-types { prefix xr; } import tailf-common { prefix tailf; } 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 interface package configuration. This YANG module augments the modules with configuration data. Copyright (c) 2019-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-05-04" { description "Added sec-admin-state node under controller 2021-02-02 Updated when statement interface patterns 2020-12-15 Changed type of bandwidth from uint32 to uint64 2020-10-07 Added logging/events/link-status container 2020-05-04 Added controller/controller-preconfigure under interfaces container."; } revision "2019-06-10" { description "Establish semantic version baseline."; } revision "2019-03-29" { description "Initial version"; } semver:module-version "2.0.0"; semver:module-version "1.0.1"; grouping GROUP-BODY { container sub-interface-type { description "Specify type of sub-interface"; container l2transport { presence "Indicates a l2transport node is configured."; description "l2transport sub-interface"; } // container l2transport container point-to-point { presence "Indicates a point-to-point node is configured."; description "point-to-point sub-interface"; } // container point-to-point container multipoint { presence "Indicates a multipoint node is configured."; description "multipoint sub-interface"; } // container multipoint } // container sub-interface-type container ipv4 { description "Interface IPv4 config commands"; } // container ipv4 container ipv6 { description "Interface IPv6 config commands"; } // container ipv6 container dampening { tailf:dependency "../interface-name"; when "../interface-name[not(starts-with(text(),'SBC'))] and ../interface-name[not(starts-with(text(),'tunnel-te'))] and ../interface-name[not(starts-with(text(),'tunnel-mte'))] and ../interface-name[not(starts-with(text(),'tunnel-gre'))] and ../interface-name[not(starts-with(text(),'tunnel-ip'))] and ../interface-name[not(starts-with(text(),'VASILeft'))] and ../interface-name[not(starts-with(text(),'VASIRight'))] and ../interface-name[not(starts-with(text(),'service-gre'))] and ../interface-name[not(starts-with(text(),'service-ipsec'))] and ../interface-name[not(starts-with(text(),'InterflexLeft'))] and ../interface-name[not(starts-with(text(),'InterflexRight'))] and ../interface-name[not(starts-with(text(),'CEM'))]"; presence "Indicates a dampening node is configured."; description "configure state dampening on the given interface"; container decay-half-life { presence "Indicates a decay-half-life node is configured."; description "Decay half life (in minutes)"; leaf value { type uint32 { range "1..45"; } mandatory true; description "Decay half life (in minutes)"; } container reuse-threshold { must "suppress-threshold"; presence "Indicates a reuse-threshold node is configured."; description "Reuse threshold"; leaf value { type uint32 { range "1..20000"; } mandatory true; description "Reuse threshold"; } container suppress-threshold { must "max-suppress-time"; presence "Indicates a suppress-threshold node is configured."; description "Suppress threshold"; leaf value { type uint32 { range "1..20000"; } mandatory true; description "Suppress threshold"; } container max-suppress-time { presence "Indicates a max-suppress-time node is configured."; description "Max suppress time (in minutes)"; leaf value { type uint32 { range "1..255"; } mandatory true; description "Max suppress time (in minutes)"; } container restart-penalty { tailf:dependency "../../../../../../interface-name"; when "../../../../../../interface-name[not(starts-with(text(),'BVI'))] and ../../../../../../interface-name[not(starts-with(text(),'PW-Ether'))] and ../../../../../../interface-name[not(starts-with(text(),'PW-IW'))] and ../../../../../../interface-name[not(starts-with(text(),'Bundle-Ether'))] and ../../../../../../interface-name[not(starts-with(text(),'Bundle-POS'))] and ../../../../../../interface-name[not(starts-with(text(),'CSI-Ether'))] and ../../../../../../interface-name[not(starts-with(text(),'CSI'))] and ../../../../../../interface-name[not(starts-with(text(),'SFI'))] and ../../../../../../interface-name[not(starts-with(text(),'nve'))] and ../../../../../../interface-name[not(starts-with(text(),'Odu-Group-Mp'))] and ../../../../../../interface-name[not(starts-with(text(),'Odu-Group-Te'))] and ../../../../../../interface-name[not(starts-with(text(),'Loopback'))]"; presence "Indicates a restart-penalty node is configured."; description "Restart penalty"; leaf value { type uint32 { range "0..20000"; } mandatory true; description "Restart penalty"; } } // container restart-penalty } // container max-suppress-time } // container suppress-threshold } // container reuse-threshold } // container decay-half-life } // container dampening container encapsulation { tailf:dependency "../interface-name"; when "../interface-name[starts-with(text(),'POS')] or ../interface-name[starts-with(text(),'serial')] or ../interface-name[starts-with(text(),'multilink')]"; description "Set the encapsulation on an interface"; container ppp { presence "Indicates a ppp node is configured."; description "Point-to-Point protocol"; } // container ppp container hdlc { presence "Indicates a hdlc node is configured."; description "Serial HDLC synchronous"; } // container hdlc container mfr { tailf:dependency "../../interface-name"; when "../../interface-name[starts-with(text(),'serial')]"; presence "Indicates a mfr node is configured."; description "Multilink Frame Relay Member Link"; } // container mfr container frame-relay { tailf:dependency "../../interface-name"; when "../../interface-name[not(contains(text(),'.'))]"; presence "Indicates a frame-relay node is configured."; description "Frame Relay networks"; container IETF { presence "Indicates a IETF node is configured."; description "Use RFC1490/RFC2427 encapsulation"; } // container IETF } // container frame-relay } // container encapsulation container shutdown { presence "Indicates a shutdown node is configured."; description "shutdown the given interface"; } // container shutdown leaf mtu { tailf:dependency "../interface-name"; when "../interface-name[not(starts-with(text(),'SBC'))] and ../interface-name[not(starts-with(text(),'tunnel-te'))] and ../interface-name[not(starts-with(text(),'tunnel-mte'))] and ../interface-name[not(starts-with(text(),'VASILeft'))] and ../interface-name[not(starts-with(text(),'VASIRight'))] and ../interface-name[not(starts-with(text(),'service-gre'))] and ../interface-name[not(starts-with(text(),'service-ipsec'))] and ../interface-name[not(starts-with(text(),'InterflexLeft'))] and ../interface-name[not(starts-with(text(),'InterflexRight'))] and ../interface-name[not(starts-with(text(),'CEM'))]"; type uint32 { range "64..65535"; } description "Set the MTU on an interface"; } container logging { tailf:dependency "../interface-name"; when "../interface-name[starts-with(text(),'Loopback')] or ../interface-name[starts-with(text(),'Bundle-Ether')] or ../interface-name[starts-with(text(),'Bundle-POS')] or ../interface-name[starts-with(text(),'tunnel')] or ../interface-name[starts-with(text(),'service')] or ../interface-name[starts-with(text(),'Service')] or ../interface-name[starts-with(text(),'VASILeft')] or ../interface-name[starts-with(text(),'VASIRight')] or ../interface-name[starts-with(text(),'FirewallManagement')] or ../interface-name[starts-with(text(),'SBC')] or ../interface-name[starts-with(text(),'InterflexLeft')] or ../interface-name[starts-with(text(),'InterflexRight')] or ../interface-name[starts-with(text(),'BVI')] or ../interface-name[starts-with(text(),'PW-Ether')] or ../interface-name[starts-with(text(),'PW-IW')] or ../interface-name[starts-with(text(),'Odu-Group-Mp')] or ../interface-name[starts-with(text(),'Odu-Group-Te')] or ../interface-name[starts-with(text(),'nve')] or ../interface-name[starts-with(text(),'CSI')] or ../interface-name[starts-with(text(),'SFI')] or ../interface-name[contains(text(),'.')]"; description "Per-interface logging configuration"; container events { description "Per-interface logging events"; container link-status { presence "Indicates a link-status node is configured."; description "Enable interface and line-protocol state change alarms"; } // container link-status } // container events } // container logging leaf bandwidth { tailf:dependency "../interface-name"; when "../interface-name[not(starts-with(text(),'SBC'))] and ../interface-name[not(starts-with(text(),'FirewallManagement'))] and ../interface-name[not(starts-with(text(),'VASILeft'))] and ../interface-name[not(starts-with(text(),'VASIRight'))] and ../interface-name[not(starts-with(text(),'service-gre'))] and ../interface-name[not(starts-with(text(),'service-ipsec'))] and ../interface-name[not(starts-with(text(),'InterflexLeft'))] and ../interface-name[not(starts-with(text(),'InterflexRight'))] and ../interface-name[not(starts-with(text(),'CEM'))]"; type uint64 { range "0..18446744073709551615"; } description "Set the bandwidth of an interface"; } leaf description { type string { length "1..1024"; } description "Set description for this interface"; } } // grouping GROUP-BODY grouping CONT-BODY { container shutdown { tailf:dependency "../controller-name"; when "../controller-name[not(starts-with(text(),'MACSecCtrlr'))] and ../controller-name[not(starts-with(text(),'Odu-Group-'))] and ../controller-name[not(starts-with(text(),'dwdm'))]"; presence "Indicates a shutdown node is configured."; description "shutdown the given controller"; } // container shutdown leaf description { tailf:dependency "../controller-name"; when "../controller-name[not(starts-with(text(),'CPRI'))] and ../controller-name[not(starts-with(text(),'MACSecCtrlr'))] and ../controller-name[not(starts-with(text(),'Odu-Group-'))] and ../controller-name[not(starts-with(text(),'STM'))] and ../controller-name[not(starts-with(text(),'STS'))] and ../controller-name[not(starts-with(text(),'VC'))] and ../controller-name[not(starts-with(text(),'dwdm'))]"; type string { length "1..1024"; } description "Set description for this controller"; } leaf sec-admin-state { tailf:dependency "../controller-name"; when "../controller-name[not(starts-with(text(),'MACSecCtrlr'))] and ../controller-name[not(starts-with(text(),'Odu-Group-'))] and ../controller-name[not(starts-with(text(),'E1'))] and ../controller-name[not(starts-with(text(),'E3'))] and ../controller-name[not(starts-with(text(),'T1'))] and ../controller-name[not(starts-with(text(),'T3'))] and ../controller-name[not(starts-with(text(),'SONET'))] and ../controller-name[not(starts-with(text(),'ODU'))] and ../controller-name[not(starts-with(text(),'OTU'))] and ../controller-name[not(starts-with(text(),'dwdm'))]"; type enumeration { enum "normal" { value 0; description "change the sec-admin-state to normal, only for optics"; } enum "maintenance" { value 1; description "change the sec-admin-state to maintenance"; } } description "Configure the secondary admin state, not available for all controllers"; } } // grouping CONT-BODY container interfaces { description "Interface configuration"; list interface { key "interface-name"; description "Interface configuration subcommands"; leaf interface-name { type xr:Interface-name; description "Interface configuration subcommands"; } uses GROUP-BODY; } // list interface list interface-preconfigure { key "interface-name"; description "Specify a preconfig interface"; leaf interface-name { type xr:Interface-name; description "Interface configuration subcommands"; } uses GROUP-BODY; } // list interface-preconfigure list controller { key "controller-name"; description "Controller configuration subcommands"; leaf controller-name { type xr:Controller-name; description "Controller name"; } uses CONT-BODY; } // list controller list controller-preconfigure { key "controller-name"; description "Specify a preconfig controller"; leaf controller-name { type xr:Controller-name; description "Controller name"; } uses CONT-BODY; } // list controller-preconfigure } // container interfaces container logging { description "Modify message logging facilities"; container events { description "Configure event monitoring parameters"; container link-status { description "Enable or disable UP/DOWN state notifications for all interfaces"; container disable { must "not(../software-interfaces)"; presence "Indicates a disable node is configured."; description "Disable state UP/DOWN notifications for all interfaces"; } // container disable container software-interfaces { must "not(../disable)"; presence "Indicates a software-interfaces node is configured."; description "Enable state UP/DOWN notification for software interfaces"; } // container software-interfaces } // container link-status } // container events } // container logging } // module Cisco-IOS-XR-um-interface-cfg
© 2023 YumaWorks, Inc. All rights reserved.