Cisco XE Native Common Type Definitions Copyright (c) 2016-2021 by Cisco Systems, Inc. All rights reserved.
Version: 2021-07-01
module Cisco-IOS-XE-types { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-types"; prefix ios-types; import cisco-semver { prefix cisco-semver; } import ietf-inet-types { prefix inet; } 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 "Cisco XE Native Common Type Definitions Copyright (c) 2016-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-07-01" { description "- Added cos-type - Added ipv6-prefix-new type"; } revision "2021-03-01" { description "- Initial revision for 17.5.1"; } revision "2020-11-01" { description "- Added large-community-number-type"; } revision "2019-11-01" { description " - Added new typedef for link local address"; } revision "2019-07-01" { description "- Establish semantic version baseline - Added slot-bay-type for voice-card - Added mcast-std-acl-type for multicast - Add BD-VIF in interface type enum"; } revision "2019-01-22" { description "Added leaf for App-hosting Gigabit Ethernet interface"; } revision "2018-06-24" { description "Added TCP-UDP port type"; } revision "2018-05-22" { description "Change range-string pattern to single quotes"; } revision "2017-11-27" { description "Added Change 25GE name"; } revision "2017-10-15" { description "This revision has changes for new 2gig interface addition"; } revision "2017-10-05" { description "Add a new type range-string"; } revision "2017-08-16" { description "This revision has changes for new 5gig and 25gig interfaces addition"; } revision "2017-06-09" { description "Add a new type ipv4-address-slash-prefix-len"; } revision "2017-06-05" { description "Update the ipv4 cisco-route-distinguisher type 1 pattern to conform to YANG 1.1"; reference "RFC 7950: The YANG 1.1 Data Modeling Language"; } revision "2017-04-05" { description "Add value statements to udp and tcp ace port number enumerations"; } revision "2017-02-07" { description "Initial revision"; } cisco-semver:module-version "1.4.0"; cisco-semver:module-version "1.3.0"; cisco-semver:module-version "1.2.0"; cisco-semver:module-version "1.1.0"; cisco-semver:module-version "1.0.0"; typedef access-list-type { type union { type uint16 { range "1..199"; } type uint16 { range "1300..2699"; } } } typedef access-list-standard-id-type-non-default { type union { type access-list-type; type string; } } typedef access-list-standard-id-type { type union { type default-access-list-standard-id-type; type string; } } typedef access-list-in-out-type { type enumeration { enum "in" { value 0; } enum "out" { value 1; } } } typedef acl-udp-port-type { type union { type uint16; type enumeration { enum "biff" { value 512; } enum "bootpc" { value 68; } enum "bootps" { value 67; } enum "discard" { value 9; } enum "dnsix" { value 195; } enum "domain" { value 53; } enum "echo" { value 7; } enum "isakmp" { value 500; } enum "mobile-ip" { value 434; } enum "nameserver" { value 42; } enum "netbios-dgm" { value 138; } enum "netbios-ns" { value 137; } enum "netbios-ss" { value 139; } enum "non500-isakmp" { value 4500; } enum "ntp" { value 123; } enum "pim-auto-rp" { value 496; } enum "rip" { value 520; } enum "ripv6" { value 521; } enum "snmp" { value 161; } enum "snmptrap" { value 162; } enum "sunrpc" { value 111; } enum "syslog" { value 514; } enum "tacacs" { value 49; } enum "talk" { value 517; } enum "tftp" { value 69; } enum "time" { value 37; } enum "who" { value 513; } enum "xdmcp" { value 177; } } } } typedef acl-tcp-port-type { type union { type uint16; type enumeration { enum "bgp" { value 179; } enum "chargen" { value 19; } enum "cmd" { value 514; } enum "daytime" { value 13; } enum "discard" { value 9; } enum "domain" { value 53; } enum "echo" { value 7; } enum "exec" { value 512; } enum "finger" { value 79; } enum "ftp" { value 21; } enum "ftp-data" { value 20; } enum "gopher" { value 70; } enum "hostname" { value 101; } enum "ident" { value 113; } enum "irc" { value 194; } enum "klogin" { value 543; } enum "kshell" { value 544; } enum "login" { value 513; } enum "lpd" { value 515; } enum "msrpc" { value 135; } enum "nntp" { value 119; } enum "onep-plain" { value 15001; } enum "onep-tls" { value 15002; } enum "pim-auto-rp" { value 496; } enum "pop2" { value 109; } enum "pop3" { value 110; } enum "smtp" { value 25; } enum "sunrpc" { value 111; } enum "tacacs" { value 49; } enum "talk" { value 517; } enum "telnet" { value 23; } enum "time" { value 37; } enum "uucp" { value 540; } enum "whois" { value 43; } enum "www" { value 80; } } } } typedef acl-tcp-udp-port-type { type union { type uint16; type enumeration { enum "discard" { value 9; } enum "domain" { value 53; } enum "echo" { value 7; } enum "pim-auto-rp" { value 496; } enum "sunrpc" { value 111; } enum "syslog" { value 514; } enum "tacacs" { value 49; } enum "talk" { value 517; } } } } typedef udp-port-type { type union { type uint16 { range "0..6|8|10..36|38..41|43..48|50..52|54..66|70..110|112..122|124..136|140..160|163..176|178..194|196..433|435..495|497..499|501..511|515|516|518|519|522..4499|4501..65535"; } type enumeration { enum "biff" { value 512; } enum "bootpc" { value 68; } enum "bootps" { value 67; } enum "discard" { value 9; } enum "dnsix" { value 195; } enum "domain" { value 53; } enum "echo" { value 7; } enum "isakmp" { value 500; } enum "mobile-ip" { value 434; } enum "nameserver" { value 42; } enum "netbios-dgm" { value 138; } enum "netbios-ns" { value 137; } enum "netbios-ss" { value 139; } enum "non500-isakmp" { value 4500; } enum "ntp" { value 123; } enum "pim-auto-rp" { value 496; } enum "rip" { value 520; } enum "ripv6" { value 521; } enum "snmp" { value 161; } enum "snmptrap" { value 162; } enum "sunrpc" { value 111; } enum "syslog" { value 514; } enum "tacacs" { value 49; } enum "talk" { value 517; } enum "tftp" { value 69; } enum "time" { value 37; } enum "who" { value 513; } enum "xdmcp" { value 177; } } } } typedef tcp-port-type { type union { type uint16 { range "0..6|8|10..12|14..18|22|24|26..36|38..42|44..48|50..52|54..69|71..78|81..100|102..108|112|114..118|120..134|136..178|180..193|195..495|497..511|516|518..539|540..542|545..15000|15003..65535"; } type enumeration { enum "bgp" { value 179; } enum "chargen" { value 19; } enum "cmd" { value 514; } enum "daytime" { value 13; } enum "discard" { value 9; } enum "domain" { value 53; } enum "echo" { value 7; } enum "exec" { value 512; } enum "finger" { value 79; } enum "ftp" { value 21; } enum "ftp-data" { value 20; } enum "gopher" { value 70; } enum "hostname" { value 101; } enum "ident" { value 113; } enum "irc" { value 194; } enum "klogin" { value 543; } enum "kshell" { value 544; } enum "login" { value 513; } enum "lpd" { value 515; } enum "msrpc" { value 135; } enum "nntp" { value 119; } enum "onep-plain" { value 15001; } enum "onep-tls" { value 15002; } enum "pim-auto-rp" { value 496; } enum "pop2" { value 109; } enum "pop3" { value 110; } enum "smtp" { value 25; } enum "sunrpc" { value 111; } enum "tacacs" { value 49; } enum "talk" { value 517; } enum "telnet" { value 23; } enum "time" { value 37; } enum "uucp" { value 540; } enum "whois" { value 43; } enum "www" { value 80; } } } } typedef default-access-list-standard-id-type { type union { type uint8 { range "1..99"; } type uint16 { range "1300..1999"; } } } typedef redist-ospf-external-type { type enumeration { enum "1" { value 0; } enum "2" { value 1; } } } typedef bgp-as-number-type { type union { type uint32 { range "1..4294967295"; } type string; } } typedef cos_value-type { type union { type uint8 { range "0..7"; } type enumeration { enum "cos" { value 0; } enum "dscp" { value 1; } enum "exp" { value 2; } enum "precedence" { value 3; } } } } typedef cos-type { type uint8 { range "0..7"; } } typedef exp-type { type uint8 { range "0..7"; } } typedef dscp-type { type union { type uint8 { range "0..63"; } type enumeration { enum "af11" { value 10; } enum "af12" { value 12; } enum "af13" { value 14; } enum "af21" { value 18; } enum "af22" { value 20; } enum "af23" { value 22; } enum "af31" { value 26; } enum "af32" { value 28; } enum "af33" { value 30; } enum "af41" { value 34; } enum "af42" { value 36; } enum "af43" { value 38; } enum "cs1" { value 8; } enum "cs2" { value 16; } enum "cs3" { value 24; } enum "cs4" { value 32; } enum "cs5" { value 40; } enum "cs6" { value 48; } enum "cs7" { value 56; } enum "default" { value 0; } enum "dscp" { value 57; } enum "ef" { value 46; } enum "precedence" { value 58; } } } } typedef dscp-type-new { type union { type uint8 { range "1..7|9|11|13|15|17|19|21|23|25|27|29|31|33|35|37|39|41..45|47|49..55|57..63"; } type enumeration { enum "af11" { value 10; } enum "af12" { value 12; } enum "af13" { value 14; } enum "af21" { value 18; } enum "af22" { value 20; } enum "af23" { value 22; } enum "af31" { value 26; } enum "af32" { value 28; } enum "af33" { value 30; } enum "af41" { value 34; } enum "af42" { value 36; } enum "af43" { value 38; } enum "cs1" { value 8; } enum "cs2" { value 16; } enum "cs3" { value 24; } enum "cs4" { value 32; } enum "cs5" { value 40; } enum "cs6" { value 48; } enum "cs7" { value 56; } enum "default" { value 0; } enum "ef" { value 46; } } } } typedef exp-acl-type { type union { type uint16 { range "1..199 | 1300..2699"; } type string { pattern '[a-zA-Z].*'; } } } typedef exp_value-type { type union { type uint8 { range "0..7"; } type enumeration { enum "cos" { value 0; } enum "dscp" { value 1; } enum "exp" { value 2; } enum "precedence" { value 3; } } } } typedef ext-acl-type { type union { type uint16 { range "100..199"; } type uint16 { range "2000..2699"; } type string { pattern '[a-zA-Z].*'; } } } typedef hhmm-type { type string { pattern '([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?'; } } typedef hhmmss-type { type string { pattern '([0-1]?[0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9])'; } } typedef asn-ip-type { type string { pattern '(([0-9]+\.[0-9]+)|([0-9]+)|((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))):[0-9]+'; } } typedef host-type { type union { type inet:ip-address; type inet:domain-name; } } typedef interface-type { type enumeration { enum "BDI" { value 0; } enum "FastEthernet" { value 1; } enum "GigabitEthernet" { value 2; } enum "Loopback" { value 3; } enum "Port-channel" { value 4; } enum "Serial" { value 5; } enum "TenGigabitEthernet" { value 6; } enum "Vlan" { value 7; } enum "FiveGigabitEthernet" { value 8; } enum "TwentyFiveGigE" { value 9; } enum "TwoGigabitEthernet" { value 10; } enum "AppGigabitEthernet" { value 11; } enum "BD-VIF" { value 12; } } } typedef interface-name { type union { type uint16; type uint32; type string; } } typedef ip-host { type union { type inet:ip-address; type inet:domain-name; } } typedef ipv4-host { type union { type inet:ipv4-address; type inet:domain-name; } description "The host type represents either an IPv4 address or a DNS domain name."; } typedef ipv6-host { type union { type inet:ipv6-address; type inet:domain-name; } description "The host type represents either an IPv6 address or a DNS domain name."; } typedef mobility-type { type union { type uint8; type enumeration { enum "bind-acknowledgement" { value 0; } enum "bind-error" { value 1; } enum "bind-refresh" { value 2; } enum "bind-update" { value 3; } enum "cot" { value 4; } enum "coti" { value 5; } enum "hot" { value 6; } enum "hoti" { value 7; } } } } typedef prec_value-type { type union { type uint8 { range "0..7"; } type enumeration { enum "cos" { value 0; } enum "dscp" { value 1; } enum "exp" { value 2; } enum "precedence" { value 3; } } } } typedef precedence-type { type union { type uint8 { range "0..7"; } type enumeration { enum "critical" { value 0; } enum "flash" { value 1; } enum "flash-override" { value 2; } enum "immediate" { value 3; } enum "internet" { value 4; } enum "network" { value 5; } enum "priority" { value 6; } enum "routine" { value 7; } } } } typedef std-acl-type { type union { type uint16 { range "1..99"; } type uint16 { range "1300..1999"; } type string { pattern '[a-zA-Z].*'; } } } typedef percentage { type uint8 { range "0..100"; } } typedef limit-dc-non-dc-type { type union { type uint32 { range "1 .. 255"; } type enumeration { enum "disable" { value 0; } } } } typedef ospf-area-type { type union { type uint32 { range "0 .. 4294967295"; } type inet:ipv4-address; } } typedef ospf-metric-type { type uint32 { range "1 .. 2"; } } typedef qos_value-type { type union { type uint8 { range "0..99"; } type enumeration { enum "cos" { value 0; } enum "dscp" { value 1; } enum "exp" { value 2; } enum "precedence" { value 3; } } } } typedef weekday-type { type enumeration { enum "Mon" { value 0; } enum "Tue" { value 1; } enum "Wed" { value 2; } enum "Thu" { value 3; } enum "Fri" { value 4; } enum "Sat" { value 5; } enum "Sun" { value 6; } } } typedef isis-distribute-list-type { type uint16 { range "100..199"; } } typedef bgp-distribute-list-type { type union { type uint16 { range "100..199"; } type uint16 { range "2000..2699"; } type string { pattern '[a-zA-Z].*'; } } } typedef bgp-distribute-list-type2 { type union { type uint16 { range "1..199"; } type uint16 { range "1300..2699"; } type string { pattern '[a-zA-Z].*'; } } } typedef bgp_ipv4_af_type { type enumeration { enum "unicast" { value 0; } enum "multicast" { value 1; } enum "mdt" { value 2; } enum "tunnel" { value 3; } enum "labeled-unicast" { value 4; } enum "flowspec" { value 5; } enum "mvpn" { value 6; } enum "sr-policy" { value 7; } } } typedef bgp_ipv6_af_type { type enumeration { enum "unicast" { value 0; } enum "multicast" { value 1; } enum "mdt" { value 2; } enum "flowspec" { value 3; } enum "mvpn" { value 4; } } } typedef storm-control-threshold-type { type string { pattern '[0-9]+.?[0-9]*[k|m|g]?'; } } typedef community-number-type { type union { type uint32 { range "1..4294967295"; } type string { pattern '(\d+:\d+)'; } } } typedef community-well-known-type { type enumeration { enum "gshut" { value 0; } enum "internet" { value 1; } enum "local-AS" { value 2; } enum "no-advertise" { value 3; } enum "no-export" { value 4; } } } typedef large-community-number-type { type string { pattern '(\d+:\d+:\d+)'; } } typedef community-well-known-add-type { type enumeration { enum "gshut" { value 0; } enum "internet" { value 1; } enum "local-AS" { value 2; } enum "no-advertise" { value 3; } enum "no-export" { value 4; } enum "additive" { value 5; } } } typedef cisco-mac-address-type { type string { pattern '[0-9a-fA-F]+\.[0-9a-fA-F]+\.[0-9a-fA-F]+'; } } typedef month-type { type enumeration { enum "Jan" { value 0; } enum "Feb" { value 1; } enum "Mar" { value 2; } enum "Apr" { value 3; } enum "May" { value 4; } enum "Jun" { value 5; } enum "Jul" { value 6; } enum "Aug" { value 7; } enum "Sep" { value 8; } enum "Oct" { value 9; } enum "Nov" { value 10; } enum "Dec" { value 11; } } } typedef ipv6-prefix { type string { pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)'; } } typedef ipv6-prefix-new { type string { pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)'; } } typedef cisco-route-distinguisher { type union { type string { pattern '(65[0-5][0-3][0-5]|[1-5][1-5][0-9][0-9][0-9]|[1-9]?[1-9]?[0-9][0-9]|[0-9]):(4[0-2][0-9][0-4][0-9][0-6][0-7][0-2][0-9][0-5]|[0-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])'; } type string { pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):(65[0-5][0-3][0-5]|[1-5][1-5][0-9][0-9][0-9]|[1-9]?[1-9]?[0-9][0-9]|[0-9])'; } type string { pattern '(4[0-2][0-9][0-4][0-9][0-6][0-7][0-2][0-9][0-5]|[0-3][0-9]{9}|[1-9][0-9]{1,8}|[1-9]):(65[0-5][0-3][0-5]|[1-5]{2}[0-9]{3}|[1-9]{0,2}[0-9][0-9]|[0-9])'; } } } typedef range-string { type string { pattern '((\d+(-\d+)?)(,(\d+(-\d+)?))*)'; } } typedef ipv4-address-slash-prefix-len { type string { pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'; } } typedef mcast-std-acl-type { type union { type uint8 { range "1..99"; } type string { pattern '[a-zA-Z].*'; } } } typedef slot-bay-type { type string { pattern '[0-9]+/[0-9]+'; } } typedef ipv6-link-local-interface-address { type string { pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(%.+)?'; } } } // module Cisco-IOS-XE-types
© 2023 YumaWorks, Inc. All rights reserved.