Blame tests/schema/yin/ietf/ietf-inet-types.yin

Packit 8fb591
Packit 8fb591
Packit 8fb591
        xmlns="urn:ietf:params:xml:ns:yang:yin:1"
Packit 8fb591
        xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types">
Packit 8fb591
  <namespace uri="urn:ietf:params:xml:ns:yang:ietf-inet-types"/>
Packit 8fb591
  <prefix value="inet"/>
Packit 8fb591
  <organization>
Packit 8fb591
    <text>IETF NETMOD (NETCONF Data Modeling Language) Working Group</text>
Packit 8fb591
  </organization>
Packit 8fb591
  <contact>
Packit 8fb591
    <text>WG Web:   <http://tools.ietf.org/wg/netmod/>
Packit 8fb591
WG List:  <mailto:netmod@ietf.org>
Packit 8fb591
Packit 8fb591
WG Chair: David Kessens
Packit 8fb591
          <mailto:david.kessens@nsn.com>
Packit 8fb591
Packit 8fb591
WG Chair: Juergen Schoenwaelder
Packit 8fb591
          <mailto:j.schoenwaelder@jacobs-university.de>
Packit 8fb591
Packit 8fb591
Editor:   Juergen Schoenwaelder
Packit 8fb591
          <mailto:j.schoenwaelder@jacobs-university.de></text>
Packit 8fb591
  </contact>
Packit 8fb591
  <description>
Packit 8fb591
    <text>This module contains a collection of generally useful derived
Packit 8fb591
YANG data types for Internet addresses and related things.
Packit 8fb591
Packit 8fb591
Copyright (c) 2013 IETF Trust and the persons identified as
Packit 8fb591
authors of the code.  All rights reserved.
Packit 8fb591
Packit 8fb591
Redistribution and use in source and binary forms, with or
Packit 8fb591
without modification, is permitted pursuant to, and subject
Packit 8fb591
to the license terms contained in, the Simplified BSD License
Packit 8fb591
set forth in Section 4.c of the IETF Trust's Legal Provisions
Packit 8fb591
Relating to IETF Documents
Packit 8fb591
(http://trustee.ietf.org/license-info).
Packit 8fb591
Packit 8fb591
This version of this YANG module is part of RFC 6991; see
Packit 8fb591
the RFC itself for full legal notices.</text>
Packit 8fb591
  </description>
Packit 8fb591
  <revision date="2013-07-15">
Packit 8fb591
    <description>
Packit 8fb591
      <text>This revision adds the following new data types:
Packit 8fb591
- ip-address-no-zone
Packit 8fb591
- ipv4-address-no-zone
Packit 8fb591
- ipv6-address-no-zone</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 6991: Common YANG Data Types</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </revision>
Packit 8fb591
  <revision date="2010-09-24">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Initial revision.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 6021: Common YANG Data Types</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </revision>
Packit 8fb591
  <typedef name="ip-version">
Packit 8fb591
    <type name="enumeration">
Packit 8fb591
      <enum name="unknown">
Packit 8fb591
        <value value="0"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>An unknown or unspecified version of the Internet
Packit 8fb591
protocol.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </enum>
Packit 8fb591
      <enum name="ipv4">
Packit 8fb591
        <value value="1"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The IPv4 protocol as defined in RFC 791.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </enum>
Packit 8fb591
      <enum name="ipv6">
Packit 8fb591
        <value value="2"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The IPv6 protocol as defined in RFC 2460.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </enum>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>This value represents the version of the IP protocol.
Packit 8fb591
Packit 8fb591
In the value set and its semantics, this type is equivalent
Packit 8fb591
to the InetVersion textual convention of the SMIv2.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC  791: Internet Protocol
Packit 8fb591
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
Packit 8fb591
RFC 4001: Textual Conventions for Internet Network Addresses</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="dscp">
Packit 8fb591
    <type name="uint8">
Packit 8fb591
      <range value="0..63"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The dscp type represents a Differentiated Services Code Point
Packit 8fb591
that may be used for marking packets in a traffic stream.
Packit 8fb591
In the value set and its semantics, this type is equivalent
Packit 8fb591
to the Dscp textual convention of the SMIv2.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 3289: Management Information Base for the Differentiated
Packit 8fb591
          Services Architecture
Packit 8fb591
RFC 2474: Definition of the Differentiated Services Field
Packit 8fb591
          (DS Field) in the IPv4 and IPv6 Headers
Packit 8fb591
RFC 2780: IANA Allocation Guidelines For Values In
Packit 8fb591
          the Internet Protocol and Related Headers</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv6-flow-label">
Packit 8fb591
    <type name="uint32">
Packit 8fb591
      <range value="0..1048575"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ipv6-flow-label type represents the flow identifier or Flow
Packit 8fb591
Label in an IPv6 packet header that may be used to
Packit 8fb591
discriminate traffic flows.
Packit 8fb591
Packit 8fb591
In the value set and its semantics, this type is equivalent
Packit 8fb591
to the IPv6FlowLabel textual convention of the SMIv2.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 3595: Textual Conventions for IPv6 Flow Label
Packit 8fb591
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="port-number">
Packit 8fb591
    <type name="uint16">
Packit 8fb591
      <range value="0..65535"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The port-number type represents a 16-bit port number of an
Packit 8fb591
Internet transport-layer protocol such as UDP, TCP, DCCP, or
Packit 8fb591
SCTP.  Port numbers are assigned by IANA.  A current list of
Packit 8fb591
all assignments is available from <http://www.iana.org/>.
Packit 8fb591
Packit 8fb591
Note that the port number value zero is reserved by IANA.  In
Packit 8fb591
situations where the value zero does not make sense, it can
Packit 8fb591
be excluded by subtyping the port-number type.
Packit 8fb591
In the value set and its semantics, this type is equivalent
Packit 8fb591
to the InetPortNumber textual convention of the SMIv2.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC  768: User Datagram Protocol
Packit 8fb591
RFC  793: Transmission Control Protocol
Packit 8fb591
RFC 4960: Stream Control Transmission Protocol
Packit 8fb591
RFC 4340: Datagram Congestion Control Protocol (DCCP)
Packit 8fb591
RFC 4001: Textual Conventions for Internet Network Addresses</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="as-number">
Packit 8fb591
    <type name="uint32"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The as-number type represents autonomous system numbers
Packit 8fb591
which identify an Autonomous System (AS).  An AS is a set
Packit 8fb591
of routers under a single technical administration, using
Packit 8fb591
an interior gateway protocol and common metrics to route
Packit 8fb591
packets within the AS, and using an exterior gateway
Packit 8fb591
protocol to route packets to other ASes.  IANA maintains
Packit 8fb591
the AS number space and has delegated large parts to the
Packit 8fb591
regional registries.
Packit 8fb591
Packit 8fb591
Autonomous system numbers were originally limited to 16
Packit 8fb591
bits.  BGP extensions have enlarged the autonomous system
Packit 8fb591
number space to 32 bits.  This type therefore uses an uint32
Packit 8fb591
base type without a range restriction in order to support
Packit 8fb591
a larger autonomous system number space.
Packit 8fb591
Packit 8fb591
In the value set and its semantics, this type is equivalent
Packit 8fb591
to the InetAutonomousSystemNumber textual convention of
Packit 8fb591
the SMIv2.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 1930: Guidelines for creation, selection, and registration
Packit 8fb591
          of an Autonomous System (AS)
Packit 8fb591
RFC 4271: A Border Gateway Protocol 4 (BGP-4)
Packit 8fb591
RFC 4001: Textual Conventions for Internet Network Addresses
Packit 8fb591
RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
Packit 8fb591
          Number Space</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ip-address">
Packit 8fb591
    <type name="union">
Packit 8fb591
      <type name="inet:ipv4-address"/>
Packit 8fb591
      <type name="inet:ipv6-address"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ip-address type represents an IP address and is IP
Packit 8fb591
version neutral.  The format of the textual representation
Packit 8fb591
implies the IP version.  This type supports scoped addresses
Packit 8fb591
by allowing zone identifiers in the address format.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 4007: IPv6 Scoped Address Architecture</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv4-address">
Packit 8fb591
    <type name="string">
Packit 8fb591
      <pattern value="(([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])(%[\p{N}\p{L}]+)?"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ipv4-address type represents an IPv4 address in
Packit 8fb591
dotted-quad notation.  The IPv4 address may include a zone
Packit 8fb591
index, separated by a % sign.
Packit 8fb591
Packit 8fb591
The zone index is used to disambiguate identical address
Packit 8fb591
values.  For link-local addresses, the zone index will
Packit 8fb591
typically be the interface index number or the name of an
Packit 8fb591
interface.  If the zone index is not present, the default
Packit 8fb591
zone of the device will be used.
Packit 8fb591
Packit 8fb591
The canonical format for the zone index is the numerical
Packit 8fb591
format</text>
Packit 8fb591
    </description>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv6-address">
Packit 8fb591
    <type name="string">
Packit 8fb591
      <pattern value="((:|[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])))(%[\p{N}\p{L}]+)?"/>
Packit 8fb591
      <pattern value="(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(%.+)?"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ipv6-address type represents an IPv6 address in full,
Packit 8fb591
mixed, shortened, and shortened-mixed notation.  The IPv6
Packit 8fb591
address may include a zone index, separated by a % sign.
Packit 8fb591
Packit 8fb591
The zone index is used to disambiguate identical address
Packit 8fb591
values.  For link-local addresses, the zone index will
Packit 8fb591
typically be the interface index number or the name of an
Packit 8fb591
interface.  If the zone index is not present, the default
Packit 8fb591
zone of the device will be used.
Packit 8fb591
Packit 8fb591
Packit 8fb591
Packit 8fb591
The canonical format of IPv6 addresses uses the textual
Packit 8fb591
representation defined in Section 4 of RFC 5952.  The
Packit 8fb591
canonical format for the zone index is the numerical
Packit 8fb591
format as described in Section 11.2 of RFC 4007.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 4291: IP Version 6 Addressing Architecture
Packit 8fb591
RFC 4007: IPv6 Scoped Address Architecture
Packit 8fb591
RFC 5952: A Recommendation for IPv6 Address Text
Packit 8fb591
          Representation</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ip-address-no-zone">
Packit 8fb591
    <type name="union">
Packit 8fb591
      <type name="inet:ipv4-address-no-zone"/>
Packit 8fb591
      <type name="inet:ipv6-address-no-zone"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ip-address-no-zone type represents an IP address and is
Packit 8fb591
IP version neutral.  The format of the textual representation
Packit 8fb591
implies the IP version.  This type does not support scoped
Packit 8fb591
addresses since it does not allow zone identifiers in the
Packit 8fb591
address format.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 4007: IPv6 Scoped Address Architecture</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv4-address-no-zone">
Packit 8fb591
    <type name="inet:ipv4-address">
Packit 8fb591
      <pattern value="[0-9\.]*"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>An IPv4 address without a zone index.  This type, derived from
Packit 8fb591
ipv4-address, may be used in situations where the zone is
Packit 8fb591
known from the context and hence no zone index is needed.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv6-address-no-zone">
Packit 8fb591
    <type name="inet:ipv6-address">
Packit 8fb591
      <pattern value="[0-9a-fA-F:\.]*"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>An IPv6 address without a zone index.  This type, derived from
Packit 8fb591
ipv6-address, may be used in situations where the zone is
Packit 8fb591
known from the context and hence no zone index is needed.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 4291: IP Version 6 Addressing Architecture
Packit 8fb591
RFC 4007: IPv6 Scoped Address Architecture
Packit 8fb591
RFC 5952: A Recommendation for IPv6 Address Text
Packit 8fb591
          Representation</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ip-prefix">
Packit 8fb591
    <type name="union">
Packit 8fb591
      <type name="inet:ipv4-prefix"/>
Packit 8fb591
      <type name="inet:ipv6-prefix"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ip-prefix type represents an IP prefix and is IP
Packit 8fb591
version neutral.  The format of the textual representations
Packit 8fb591
implies the IP version.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv4-prefix">
Packit 8fb591
    <type name="string">
Packit 8fb591
      <pattern value="(([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]))"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ipv4-prefix type represents an IPv4 address prefix.
Packit 8fb591
The prefix length is given by the number following the
Packit 8fb591
slash character and must be less than or equal to 32.
Packit 8fb591
Packit 8fb591
A prefix length value of n corresponds to an IP address
Packit 8fb591
mask that has n contiguous 1-bits from the most
Packit 8fb591
significant bit (MSB) and all other bits set to 0.
Packit 8fb591
Packit 8fb591
The canonical format of an IPv4 prefix has all bits of
Packit 8fb591
the IPv4 address set to zero that are not part of the
Packit 8fb591
IPv4 prefix.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="ipv6-prefix">
Packit 8fb591
    <type name="string">
Packit 8fb591
      <pattern value="((:|[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])))"/>
Packit 8fb591
      <pattern value="(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The ipv6-prefix type represents an IPv6 address prefix.
Packit 8fb591
The prefix length is given by the number following the
Packit 8fb591
slash character and must be less than or equal to 128.
Packit 8fb591
Packit 8fb591
A prefix length value of n corresponds to an IP address
Packit 8fb591
mask that has n contiguous 1-bits from the most
Packit 8fb591
significant bit (MSB) and all other bits set to 0.
Packit 8fb591
Packit 8fb591
The IPv6 address should have all bits that do not belong
Packit 8fb591
to the prefix set to zero.
Packit 8fb591
Packit 8fb591
The canonical format of an IPv6 prefix has all bits of
Packit 8fb591
the IPv6 address set to zero that are not part of the
Packit 8fb591
IPv6 prefix.  Furthermore, the IPv6 address is represented
Packit 8fb591
as defined in Section 4 of RFC 5952.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 5952: A Recommendation for IPv6 Address Text
Packit 8fb591
          Representation</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="domain-name">
Packit 8fb591
    <type name="string">
Packit 8fb591
      <pattern value="((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\."/>
Packit 8fb591
      <length value="1..253"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The domain-name type represents a DNS domain name.  The
Packit 8fb591
name SHOULD be fully qualified whenever possible.
Packit 8fb591
Packit 8fb591
Internet domain names are only loosely specified.  Section
Packit 8fb591
3.5 of RFC 1034 recommends a syntax (modified in Section
Packit 8fb591
2.1 of RFC 1123).  The pattern above is intended to allow
Packit 8fb591
for current practice in domain name use, and some possible
Packit 8fb591
future expansion.  It is designed to hold various types of
Packit 8fb591
domain names, including names used for A or AAAA records
Packit 8fb591
(host names) and other records, such as SRV records.  Note
Packit 8fb591
that Internet host names have a stricter syntax (described
Packit 8fb591
in RFC 952) than the DNS recommendations in RFCs 1034 and
Packit 8fb591
1123, and that systems that want to store host names in
Packit 8fb591
schema nodes using the domain-name type are recommended to
Packit 8fb591
adhere to this stricter standard to ensure interoperability.
Packit 8fb591
Packit 8fb591
The encoding of DNS names in the DNS protocol is limited
Packit 8fb591
to 255 characters.  Since the encoding consists of labels
Packit 8fb591
prefixed by a length bytes and there is a trailing NULL
Packit 8fb591
byte, only 253 characters can appear in the textual dotted
Packit 8fb591
notation.
Packit 8fb591
Packit 8fb591
The description clause of schema nodes using the domain-name
Packit 8fb591
type MUST describe when and how these names are resolved to
Packit 8fb591
IP addresses.  Note that the resolution of a domain-name value
Packit 8fb591
may require to query multiple DNS records (e.g., A for IPv4
Packit 8fb591
and AAAA for IPv6).  The order of the resolution process and
Packit 8fb591
which DNS record takes precedence can either be defined
Packit 8fb591
explicitly or may depend on the configuration of the
Packit 8fb591
resolver.
Packit 8fb591
Packit 8fb591
Domain-name values use the US-ASCII encoding.  Their canonical
Packit 8fb591
format uses lowercase US-ASCII characters.  Internationalized
Packit 8fb591
domain names MUST be A-labels as per RFC 5890.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC  952: DoD Internet Host Table Specification
Packit 8fb591
RFC 1034: Domain Names - Concepts and Facilities
Packit 8fb591
RFC 1123: Requirements for Internet Hosts -- Application
Packit 8fb591
          and Support
Packit 8fb591
RFC 2782: A DNS RR for specifying the location of services
Packit 8fb591
          (DNS SRV)
Packit 8fb591
RFC 5890: Internationalized Domain Names in Applications
Packit 8fb591
          (IDNA): Definitions and Document Framework</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="host">
Packit 8fb591
    <type name="union">
Packit 8fb591
      <type name="inet:ip-address"/>
Packit 8fb591
      <type name="inet:domain-name"/>
Packit 8fb591
    </type>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The host type represents either an IP address or a DNS
Packit 8fb591
domain name.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </typedef>
Packit 8fb591
  <typedef name="uri">
Packit 8fb591
    <type name="string"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The uri type represents a Uniform Resource Identifier
Packit 8fb591
(URI) as defined by STD 66.
Packit 8fb591
Packit 8fb591
Objects using the uri type MUST be in US-ASCII encoding,
Packit 8fb591
and MUST be normalized as described by RFC 3986 Sections
Packit 8fb591
6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
Packit 8fb591
percent-encoding is removed, and all case-insensitive
Packit 8fb591
characters are set to lowercase except for hexadecimal
Packit 8fb591
digits, which are normalized to uppercase as described in
Packit 8fb591
Section 6.2.2.1.
Packit 8fb591
Packit 8fb591
The purpose of this normalization is to help provide
Packit 8fb591
unique URIs.  Note that this normalization is not
Packit 8fb591
sufficient to provide uniqueness.  Two URIs that are
Packit 8fb591
textually distinct after this normalization may still be
Packit 8fb591
equivalent.
Packit 8fb591
Packit 8fb591
Objects using the uri type may restrict the schemes that
Packit 8fb591
they permit.  For example, 'data:' and 'urn:' schemes
Packit 8fb591
might not be appropriate.
Packit 8fb591
Packit 8fb591
A zero-length URI is not a valid URI.  This can be used to
Packit 8fb591
express 'URI absent' where required.
Packit 8fb591
Packit 8fb591
In the value set and its semantics, this type is equivalent
Packit 8fb591
to the Uri SMIv2 textual convention defined in RFC 5017.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
Packit 8fb591
RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
Packit 8fb591
          Group: Uniform Resource Identifiers (URIs), URLs,
Packit 8fb591
          and Uniform Resource Names (URNs): Clarifications
Packit 8fb591
          and Recommendations
Packit 8fb591
RFC 5017: MIB Textual Conventions for Uniform Resource
Packit 8fb591
          Identifiers (URIs)</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
</module>