module Cisco-IOS-XR-types { namespace "http://cisco.com/ns/yang/cisco-xr-types"; prefix "xr"; organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of IOS-XR derived YANG data types. Copyright (c) 2013-2015 by Cisco Systems, Inc. All rights reserved."; revision "2015-01-19" { description "This revision adds the following new data types: - Bgp-ipv4-flowspec-address - Bgp-ipv6-flowspec-address"; } extension xr-cli-map { argument "cli-command"; description "The xr-cli-map statement takes as an argument relevant CLI configuration command."; } extension xr-xml-map { argument "xr-xml-node"; description "The xr-xml-map statement takes as an argument relevant Cisco XML Schema node name."; } typedef Route-dist { type string { pattern "[a-fA-F0-9]{16}"; } description "Route distinguisher in hexadecimal notation."; } typedef Bgp-l2vpn-evpn-addrs { type string { pattern "[a-fA-F0-9]{58}"; } description "L2VPN EVPN Address in hexadecimal notation."; } typedef Bgp-ls-addr { type string { pattern "[a-fA-F0-9]+"; } description "BGP link state unicast address in hexadecimal notation."; } typedef Bgp-ipv6-mvpn-addr { type string { pattern "[a-fA-F0-9]{104}"; } description "An IPV6 MVPN address in hexadecimal notation."; } typedef Bgp-ipv4-mvpn-addr { type string { pattern "[a-fA-F0-9]{56}"; } description "An IPV4 MVPN address in hexadecimal notation."; } typedef Bgp-rt-constrt-addr { type string { pattern "[a-fA-F0-9]{24}"; } description "An IPV4 RTConstraint address in hexadecimal notation."; } typedef Bgp-ipv4-mdt-addr { type string { pattern "(([a-f0-9]{16}-)(([1-9]?[0-9]|1[0-9][0-9]|2[0-4]"+ "[0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]"+ "|25[0-5]))"; } description "An IPV4 MDT address in dotted decimal notation. An IPv4 MDT address should be of the form 0000006400000065-129.29.83.45. This datatype restricts the value of each field 16 digits in hexadecimal for RD field and between 0 and 255 for IPv4 address field, i.e. [0000000000000000-ffffffffffffffff]- [0-255].[0-255].[0-255].[0-255]."; } typedef Bgp-ipv4-tunnel-addr { type string { pattern "((0:|[1-9][0-9]{0,4}:)"+ "(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}"+ "([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))"; } description "An IPV4 tunnel address in dotted decimal notation. An IPv4 tunnel address should be of the form 65535:129.29.83.45. This datatype restricts the value of each field between 0 and 65535 for prefix field and 0 and 255 for IPv4 address field, i.e. [0-65535]:[0-255].[0-255].[0-255].[0-255]"; } typedef Cisco-ios-xr-port-number { type uint16 { range "1..65535"; } description "Port number of range from 1 to 65535"; } typedef Interface-name { type string { pattern "(([a-zA-Z0-9_]*\d+/){3}\d+)|"+ "(([a-zA-Z0-9_]*\d+/){4}\d+)|"+ "(([a-zA-Z0-9_]*\d+/){3}\d+\.\d+)|"+ "(([a-zA-Z0-9_]*\d+/){2}([a-zA-Z0-9_]*\d+))|"+ "([a-zA-Z0-9_-]*\d+)|"+ "([a-zA-Z0-9_-]*\d+\.\d+)|"+ "(mpls)|(dwdm)"; } description "An interface name specifying an interface type and instance. Interface represents a string defining an interface type and instance, e.g. MgmtEth0/4/CPU1/0 or TenGigE0/2/0/0.2 or Bundle-Ether9 or Bundle-Ether9.98"; } typedef Cisco-ios-xr-string { type string { pattern "[\w\-\.:,_@#%$\+=\|;]+"; } description "Special characters are not allowed."; } typedef Ipv4-prefix-length { type uint8 { range "0..32"; } description "An IPv4 address prefix length. Must lie between 0 and 32 inclusive."; } typedef Ipv6-prefix-length { type uint8 { range "0..128"; } description "An IPv6 address prefix length. Must lie between 0 and 32 inclusive."; } typedef Rack-id { type string { pattern "[a-zA-Z0-9_]*\d+"; } description "Names the rack portion of a NodeID Rack/Slot/Instance triple"; } typedef Slot-id { type string { pattern "[a-zA-Z0-9_]*\d+"; } description "Names the slot portion of a NodeID Rack/Slot/Instance triple"; } typedef Instance-id { type string { pattern "[a-zA-Z0-9_]*\d+"; } description "Names the instance portion of a NodeID Rack/Slot/Instance triple"; } typedef Sub-instance-id { type string { pattern "[a-zA-Z0-9_]*\d+"; } description "Names the sub-instance portion of an extended NodeID Rack/Slot/Instance/SubInstance"; } typedef Encryption-type { type enumeration { enum none { value "0"; description "The password string is clear text."; } enum md5 { value "1"; description "The password is encrypted to an MD5 digest."; } enum proprietary { value "2"; description "The password is encrypted using Cisco type 7 password encryption."; } } description "The type of encryption used on a password string."; } typedef Hex-integer { type string { pattern "[0-9a-fA-F]{1,8}"; } description "An unsigned 32-bit integer represented in hexadecimal format."; } typedef Osi-system-id { type string { pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}"; } description "An OSI system ID should be of the form 0123.4567.89ab. This data type restricts each character to a hex character."; } typedef Osi-area-address { type string { pattern "[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){0,6}"; } description "An OSI area address should consist of an odd number of octets, and be of the form 01 or 01.2345 etc up to 01.2345.6789.abcd.ef01.2345.6789. This data type restricts each character to a hex character."; } typedef Isis-node-id { type string { pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}\.[a-fA-F0-9]{2}"; } description "An ISIS node ID should be of the form 0123.4567.89ab.cd. This data type restricts each character to a hex character."; } typedef Isis-snpa { type string { pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}"; } description "String representation of a SNPA, 802.2 MAC address in canonical format, e.g. 0123.4567.89ab"; } typedef Isis-lsp-id { type string { pattern "[a-fA-F0-9]{4}(\.[a-fA-F0-9]{4}){2}\.[a-fA-F0-9]{2}"+ "\-[a-fA-F0-9]{2}"; } description "An ISIS LSP ID should be of the form 0123.4567.89ab.cd-ef. This data type restricts each character to a hex character."; } typedef Osi-net { type string { pattern "[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}"; } description "An OSI NET should consist of an even number of octets, and be of the form 01.2345.6789.abcd.ef etc up to 01.2345.6789.abcd.ef01.2345.6789.abcd.ef01.2345.67. This data type restricts each character to a hex character."; } typedef String-identifier { type string { pattern "[a-zA-Z][\w\-]*"; } description "A string for specifying identifier."; } typedef Extended-node-id { type string { pattern "([a-zA-Z0-9_]*\d+/){3}([a-zA-Z0-9_]*\d+)"; } description "A location used as value information and specified as a Rack/Slot/Instance/SubInstance, e.g. 0/1/CPU0/NPU0"; } typedef Node-id { type string { pattern "([a-zA-Z0-9_]*\d+/){2}([a-zA-Z0-9_]*\d+)"; } description "A location used as value information and specified as a Rack/Slot/Instance triple, e.g. F0/SC1/0."; } typedef Pq-node-id { type string { pattern "((([a-zA-Z0-9_]*\d+)|(\*))/){2}(([a-zA-Z0-9_]*\d+)"+ "|(\*))"; } description "Partially qualified location which is used for wildcarding location specifications, e.g. 1/*/*"; } typedef Md5-password { type string { pattern "(!.+)|([^!].+)"; } description "The Md5-password type is used to store password using the MD5 hash function. When a clear text value is set to a leaf of this type, the server calculates a password hash and stores the result in the datastore. The password is never stored in clear text. When a leaf of this type is read, the stored password hash is returned. A value of this type matches one of the forms: ! The '!' prefix signals that the value is clear text. When such a value is received by the server, a hash value is calculated. This value is stored in the configuration data store. If a value starting without '!' is received, the server knows that the value already represents a hashed value, and stores it as is in the data store."; } typedef Proprietary-password { type string { pattern "(!.+)|([^!].+)"; } description "The Proprietary-password type is used to store password using the Cisco proprietary hash function. When a clear text value is set to a leaf of this type, the server calculates a password hash and stores the result in the datastore. The password is never stored in clear text. When a leaf of this type is read, the stored password hash is returned. A value of this type matches one of the forms: ! The '!' prefix signals that the value is clear text. When such a value is received by the server, a hash value is calculated. This value is stored in the configuration data store. If a value starting without '!' is received, the server knows that the value already represents a hashed value, and stores it as is in the data store."; } typedef Bgp-ipv4-flowspec-address { type string { pattern "[a-fA-F0-9]{4096}"; } description "An IPV4 Flowspec address in hexadecimal notation."; } typedef Bgp-ipv6-flowspec-address { type string { pattern "[a-fA-F0-9]{4096}"; } description "An IPV6 Flowspec address in hexadecimal notation."; } }