This module contains a collection of YANG definitions for Cisco IOS-XR pool package configuration. This YANG module augments th...
Version: 2021-05-10
module Cisco-IOS-XR-um-pool-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-pool-cfg"; prefix um-pool-cfg; import Cisco-IOS-XR-types { prefix xr; } import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-um-snmp-server-cfg { prefix a1; } 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 pool package configuration. This YANG module augments the modules with configuration data. Copyright (c) 2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-05-10" { description "Initial release"; } semver:module-version "1.0.0"; augment /a1:snmp-server/a1:traps { container addrpool { description "Enable SNMP Address Pool traps"; container high { presence "Indicates a high node is configured."; description "Enable SNMP Address Pool High Threshold trap"; } // container high container low { presence "Indicates a low node is configured."; description "Enable SNMP Address Pool Low Threshold trap"; } // container low } // container addrpool } container pool { description "Distributed Address Pool Service"; container vrfs { description "Specify VRF name"; list vrf { key "vrf-name"; description "Enter the VRF name"; leaf vrf-name { type union { type string { pattern "all"; } type string { pattern "default"; } type xr:Cisco-ios-xr-string { length "1..63"; } } description "Enter the VRF name"; } container ipv6s { description "Specify IPv6 Pool name"; list ipv6 { key "pool-name"; description "Enter the IPv6 Pool name"; leaf pool-name { type xr:Cisco-ios-xr-string { length "1..63"; } description "Enter the IPv6 Pool name"; } container address-ranges { description "Specify address range for allocation"; list address-range { must "last-address-in-range"; key "first-address-in-range"; description "Specify address range for allocation"; leaf first-address-in-range { type inet:ipv6-address-no-zone; description "Specify address range for allocation"; } leaf last-address-in-range { type inet:ipv6-address-no-zone; description "Enter the last IPv6 address in range"; } container block { must "../last-address-in-range"; presence "Indicates a block node is configured."; description "block address-range"; } // container block } // list address-range } // container address-ranges container prefix-ranges { description "Specify prefix range for allocation"; list prefix-range { must "last-prefix-in-range"; key "first-prefix-in-range"; description "Specify prefix range for allocation"; leaf first-prefix-in-range { type inet:ipv6-address-no-zone; description "Specify prefix range for allocation"; } leaf last-prefix-in-range { type inet:ipv6-address-no-zone; description "Enter the last IPv6 prefix in range"; } container block { must "../last-prefix-in-range"; presence "Indicates a block node is configured."; description "block address-range"; } // container block } // list prefix-range } // container prefix-ranges container networks { description "Specify network for allocation"; list network { key "address"; description "Specify network for allocation"; leaf address { type inet:ipv6-address-no-zone; description "Specify network for allocation"; } leaf length { type uint32 { range "0..128"; } mandatory true; description "Specify network address mask length"; } container block { presence "Indicates a block node is configured."; description "block address-range"; } // container block } // list network } // container networks leaf prefix-length { type uint32 { range "1..128"; } description "Specify prefix-length to be used"; } container excludes { description "Exclude IPv6 addresses / prefixes"; list exclude { key "first-address-in-range"; description "Exclude IPv6 addresses / prefixes"; leaf first-address-in-range { type inet:ipv6-address-no-zone; description "Exclude IPv6 addresses / prefixes"; } leaf last-address-in-range { type inet:ipv6-address-no-zone; description "Last IPv6 address / prefix in range"; } } // list exclude } // container excludes container utilization-mark { description "Specify utilization mark"; leaf high { type uint32 { range "0..100"; } must "../low"; description "Specify high mark"; } leaf low { type uint32 { range "0..100"; } must "../high"; description "Specify low mark"; } } // container utilization-mark } // list ipv6 } // container ipv6s container ipv4s { description "Specify IPv4 Pool name"; list ipv4 { when "../../vrf-name != 'all'"; key "ipv4-name"; description "Specify IPv4 Pool name"; leaf ipv4-name { type xr:Cisco-ios-xr-string { length "1..63"; } description "Specify IPv4 Pool name"; } container networks { description "Specify network for allocation"; list network { key "address"; description "Specify network for allocation"; leaf address { type inet:ipv4-address-no-zone; description "Specify network for allocation"; } leaf length { type uint32 { range "0..32"; } mandatory true; description "Specify network address mask length"; } leaf default-router { type inet:ipv4-address-no-zone; description "Default Gateway for subnet"; } container block { presence "Indicates a block node is configured."; description "block subnet test"; } // container block } // list network } // container networks container excludes { description "Exclude addresses"; list exclude { key "first-address-in-range"; description "Exclude addresses"; leaf first-address-in-range { type inet:ipv4-address-no-zone; description "Exclude addresses"; } leaf last-address-in-range { type inet:ipv4-address-no-zone; description "Last exclude address in range"; } } // list exclude } // container excludes container utilization-mark { description "Specify utilization mark"; leaf high { type uint32 { range "0..100"; } must "../low"; description "Specify high mark"; } leaf low { type uint32 { range "0..100"; } must "../high"; description "Specify low mark"; } } // container utilization-mark container address-ranges { description "Specify address range for allocation"; list address-range { must "last-address-in-range"; key "first-address-in-range"; description "Specify address range for allocation"; leaf first-address-in-range { type inet:ipv4-address-no-zone; description "Specify address range for allocation"; } leaf last-address-in-range { type inet:ipv4-address-no-zone; description "Enter the last address in range"; } container block { must "../last-address-in-range"; presence "Indicates a block node is configured."; description "block address-range"; } // container block } // list address-range } // container address-ranges } // list ipv4 } // container ipv4s } // list vrf } // container vrfs container onfly { description "Allow to delete/edit pool and release subscriber IP for ipv4"; container pppoe { presence "Indicates a pppoe node is configured."; description "Enable onfly feature for pppoe subscriber"; } // container pppoe } // container onfly } // container pool } // module Cisco-IOS-XR-um-pool-cfg
© 2023 YumaWorks, Inc. All rights reserved.