This module contains a collection of YANG definitions for Cisco IOS-XR spirit-cgn-nat64-stless package configuration. This YANG...
Version: 2019-04-05
module Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg"; prefix spirit-cgn-nat64-stless-cfg; import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-types { prefix xr; } import cisco-semver { prefix semver; } import Cisco-IOS-XR-se-cgn-cfg { prefix a1; } 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 spirit-cgn-nat64-stless package configuration. This YANG module augments the Cisco-IOS-XR-se-cgn-cfg module with configuration data. Copyright (c) 2013-2019 by Cisco Systems, Inc. All rights reserved."; revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "1.0.0"; typedef Algorithm { type enumeration { enum "hash" { value 1; description "Hashing"; } enum "ttl" { value 2; description "Time to live"; } enum "random" { value 3; description "Randomly generate"; } } description "Algorithm"; } grouping TCP-MSS { description "Common node of ipv6, ipv4"; leaf tcp-mss { type uint32 { range "28..1500"; } units "byte"; description "Maximum segment size to be used in bytes"; } } // grouping TCP-MSS grouping AF { description "Common node of stateless, mapt"; container af { description "Address family related configuration"; container ipv6 { description "IPv6 address faimly"; container protocol { description "Select a protocol"; container icmp { description "ICMP protocol"; leaf reset-mtu { type empty; description "Reset maximum transmission unit when packet is too big"; } } // container icmp } // container protocol leaf traffic-class { type uint32 { range "0..255"; } description "Traffic class to be set when translating from IPv4 to IPv6"; } leaf df-override { type empty; description "Override DF bit"; } uses INTERFACE; uses TCP-MSS; } // container ipv6 container ipv4 { description "IPv4 address faimly"; leaf tos { type uint32 { range "0..255"; } description "Type of service value to be set when translating IPv6 to IPv4"; } uses INTERFACE; uses TCP-MSS; } // container ipv4 } // container af } // grouping AF grouping INTERFACE { description "Common node of ipv6, ipv4"; leaf interface { type xr:Interface-name; description "ServiceApp interface to be used"; } } // grouping INTERFACE grouping IPV6 { description "Common node of external-domain, cpe-domain"; container ipv6 { presence "Indicates a ipv6 node is configured."; description "ipv6 parameters"; container prefix { presence "Indicates a prefix node is configured."; description "CPE IPv6 Prefix"; leaf prefix { type inet:ip-address-no-zone; mandatory true; description "IPv6 address and prefix"; } leaf length { type xr:Ipv6-prefix-length; mandatory true; description "Prefix of the IP Address"; } } // container prefix container ipv6-prefix { description "prefix"; leaf ipv6-prefix-length { type uint32 { range "1..128"; } description "prefix length (must be in the range of 1-64 or 128)"; } } // container ipv6-prefix leaf vrf { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "ipv6 vrf name"; } } // container ipv6 } // grouping IPV6 grouping CPE-DOMAIN { description "Common node of mapt, map-t-cisco"; container cpe-domain { description "CPE domain parameters"; container ipv4 { description "ipv4 parameters"; container ipv4-prefix { description "prefix"; leaf ipv4-prefix-length { type uint32 { range "0..32"; } description "prefix length"; } } // container ipv4-prefix container prefix { presence "Indicates a prefix node is configured."; description "CPE domain ipv4 prefix"; leaf start-address { type inet:ipv4-address-no-zone; mandatory true; description "IPv4 address prefix"; } leaf netmask { type inet:ipv4-address-no-zone; mandatory true; description "IPv4 address prefix"; } } // container prefix } // container ipv4 uses IPV6; } // container cpe-domain } // grouping CPE-DOMAIN augment /a1:cgns/a1:cgn/a1:service-type { description "This augment extends the configuration data of 'Cisco-IOS-XR-se-cgn-cfg'"; container nat64 { description "IPv4 to IPv6 network address translation"; container statelesses { description "Table of Stateless"; list stateless { key "stateless-name"; description "IPv4 to IPv6 stateless translation"; container ipv6-prefix { presence "Indicates a ipv6-prefix node is configured."; description "IPv6 prefix to be used to translate IPv4 address to IPv6 address"; leaf prefix { type inet:ip-address-no-zone; mandatory true; description "IPv6 address and prefix"; } leaf length { type xr:Ipv6-prefix-length; mandatory true; description "Prefix of the IP Address"; } } // container ipv6-prefix container traceroute { description "Traceroute related configurations"; container translation { description "Configurations related translating traceroute addresses"; container address-pool { presence "Indicates a address-pool node is configured."; description "IPv4 address pool for traceroute addresses"; leaf start-address { type inet:ipv4-address-no-zone; mandatory true; description "Start address and prefix for the address pool"; } leaf netmask { type inet:ipv4-address-no-zone; mandatory true; description "Start address and prefix for the address pool"; } } // container address-pool leaf algorithm { type Algorithm; description "Algorithm to translate IPv6 address to IPv4 address"; } } // container translation } // container traceroute leaf ubit-reserved { type empty; description "Enable reserving ubits in IPv6 address"; } leaf stateless-name { type xr:Cisco-ios-xr-string { length "1..24"; } description "Name of the NAT64 stateless instance"; } uses AF; } // list stateless } // container statelesses } // container nat64 } augment /a1:cgns/a1:cgn/a1:service-type { description "This augment extends the configuration data of 'Cisco-IOS-XR-se-cgn-cfg'"; container mapts { description "Table of mapt"; list mapt { key "mapt-name"; description "map-t translations"; container external-domain { description "external domain parameters"; uses IPV6; } // container external-domain leaf contiguous-ports { type uint32 { range "1..65536"; } description "number of contiguous ports (must be power of 2)"; } leaf sharing-ratio { type uint32 { range "1..32768"; } description "port sharing ratio (must be power of 2)"; } leaf mapt-name { type xr:Cisco-ios-xr-string { length "1..24"; } description "Name of map-t instance"; } uses CPE-DOMAIN; uses AF; } // list mapt } // container mapts } augment /a1:cgv6s/a1:cgv6/a1:cgv6-service-type { description "This augment extends the configuration data of 'Cisco-IOS-XR-se-cgn-cfg'"; container map-t-ciscos { description "Table of MAPT_Cisco"; list map-t-cisco { key "map-t-cisco-name"; description "map-t translations"; container ext-domain-names { description "Table of ExtDomainName"; list ext-domain-name { key "ext-domain-name"; description "Domain name"; leaf ext-domain-name { type xr:Cisco-ios-xr-string; description "Domain Name"; } list ext-ipv6-prefix { key "ext-ip-v6-prefix length"; description "External domain ipv6 prefix"; leaf ipv4vrf { type string; description "IPv4 VRF"; } leaf ext-ip-v6-prefix { type inet:ip-address-no-zone; description "External domain ipv6 prefix and length"; } leaf length { type xr:Ipv6-prefix-length; description "Prefix of the IP Address"; } } // list ext-ipv6-prefix } // list ext-domain-name } // container ext-domain-names container cpe-domain-names { description "Table of CPEDomainName"; list cpe-domain-name { key "cpe-domain-name"; description "CPE Domain name"; leaf cpe-domain-name { type xr:Cisco-ios-xr-string; description "CPE Domain Name"; } list cpe-ipv4-prefix { key "cpe-ipv4-prefix"; description "CPE domain ipv4 prefix"; leaf cpe-ipv6-prefix { type inet:ip-address-no-zone; description "CPE Domain IPv6 prefix"; } leaf cpe-ipv4-prefix { type inet:ipv4-address-no-zone; description "CPE Domain IPv4 Prefix"; } } // list cpe-ipv4-prefix } // list cpe-domain-name } // container cpe-domain-names container map-t-cisco-af { description "Address family related configuration"; container map-t-cisco-ipv6 { presence "Indicates a map-t-cisco-ipv6 node is configured."; description "IPv6 address family"; leaf path-mtu { type uint32 { range "1280..9216"; } mandatory true; description "Path-MTU for IPv6 to be used for ServiceApp"; } leaf interface { type xr:Interface-name; description "ServiceApp interface to be used"; } leaf tcp-mss { type uint32 { range "28..1500"; } units "byte"; description "Maximum segment size to be used in bytes"; } } // container map-t-cisco-ipv6 container map-t-cisco-ipv4 { presence "Indicates a map-t-cisco-ipv4 node is configured."; description "IPv4 address family"; leaf path-mtu { type uint32 { range "65..9216"; } mandatory true; description "Path-MTU for IPv4 to be used for ServiceApp"; } leaf interface { type xr:Interface-name; description "ServiceApp interface to be used"; } leaf tcp-mss { type uint32 { range "28..1500"; } units "byte"; description "Maximum segment size to be used in bytes"; } } // container map-t-cisco-ipv4 } // container map-t-cisco-af leaf contiguous-ports { type uint32 { range "1..65536"; } description "number of contiguous ports (must be power of 2)"; } leaf sharing-ratio { type uint32 { range "1..32768"; } description "port sharing ratio (must be power of 2)"; } leaf map-t-cisco-name { type xr:Cisco-ios-xr-string { length "1..24"; } description "Name of map-t instance"; } uses CPE-DOMAIN; } // list map-t-cisco } // container map-t-ciscos } } // module Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg
© 2023 YumaWorks, Inc. All rights reserved.