<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

  <?rfc toc="yes"?>
  <?rfc symrefs="yes"?>
  <?rfc sortrefs="yes" ?>
  <?rfc compact="yes" ?>
  <?rfc subcompact="no" ?>
  <?rfc rfcedstyle="yes"?>

<rfc number="7280" submissionType="IETF" category="std" consensus="yes" 
     ipr="trust200902" updates="4326">

  <front>
    <title abbrev="IANA ULE Guidelines">IANA Guidance for Managing the&nbsp;Unidirectional&nbsp;Lightweight&nbsp;Encapsulation&nbsp;(ULE)&nbsp;Next-Header&nbsp;Registry</title>

    <author fullname="Godred Fairhurst" initials="G." surname="Fairhurst">
      <organization>University of Aberdeen</organization>

      <address>
        <postal>
          <street>School of Engineering</street>

          <street>Fraser Noble Building</street>

          <city>Aberdeen</city>

          <region>Scotland</region>

          <code>AB24 3UE</code>

          <country>UK</country>
        </postal>

        <email>gorry@erg.abdn.ac.uk</email>

        <uri>http://www.erg.abdn.ac.uk</uri>
      </address>
    </author>

    <date month="June" year="2014" />

    <area>Transport</area>

    <workgroup>IPDVB Working Group</workgroup>

    <keyword>ULE</keyword>

    <keyword>IANA</keyword>

    <abstract>
      <t>This document updates RFC 4326 to clarify and update the allocation
      rules for the Unidirectional Lightweight Encapsulation (ULE) Next-Header
      registry. This registry is used by ULE and Generic Stream Encapsulation
      (GSE) to record the code points of Extension Headers and protocols
      supported by these encapsulation protocols.</t>
    </abstract>
  </front>

<middle>


<section title="Introduction" toc="include">
      <t>The Unidirectional Lightweight Encapsulation (ULE) <xref
      target="RFC4326"></xref> specifies an encapsulation for links that
      employ the MPEG-2 Transport Stream, with support over a wide variety of
      physical-layer bearers <xref target="RFC4259"></xref>. The encapsulation
      header includes a Type field that identifies payload types and Extension
      Headers (e.g., <xref target="RFC5163"> </xref>). The ULE specification
      requested IANA to maintain the ULE Next-Header registry to record the
      allocation of the values used to derive this Type field.</t>

      <t>The Digital Video Broadcast (DVB) Project has published an
      encapsulation for second-generation DVB physical layers. This specifies
      the Generic Stream Encapsulation <xref target="GSE"></xref>. This
      encapsulation shares many of the network properties of ULE and uses a
      common format for the Type field <xref target="RFC5163"></xref>. The ULE
      Next-Header registry is therefore also applicable to this
      encapsulation.</t>

      <t>This document updates the IANA rules and guidance defined in Section
      11.1 of <xref target="RFC4326"></xref> in the following way:</t>

      <t><list style="symbols">

          <t>The document clarifies use of the ULE Next-Header registry by GSE
          as well as by ULE.</t>

          <t><xref target="IANA-rules"></xref> specifies that new allocations
          in the ULE Next-Header registry are to be assigned by IANA using the
          "Specification Required" policy and provides guidance to the expert
          reviewer.</t>

          <t><xref target="Reg-alloc"></xref> reserves a range of allocated
          values.</t>

          <t><xref target="Reg-change"/> adds an explanatory note to clarify the encoding used
          in the ULE Next-Header registry.</t>
        </list></t>
    </section>

    <section title="Terminology" toc="include">
      <t>This document assumes familiarity with the ULE
      terminology used in <xref target="RFC4326"></xref> and <xref target="RFC5163"></xref>.</t>

      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119"></xref>.</t>

      <section title="The ULE Next-Header Registry">
        <t>The Mandatory Extension Headers are allocated in the ULE Next-Header registry with integer values in the decimal range 0-255. The
        registered value corresponds to a 16-bit Type value (converted by
        setting the most significant 8 bits of the 16-bit value to zero). This
        Type value may identify a Mandatory Extension Header or a specific
        protocol.</t>

        <t>The Optional Extension Headers are allocated in the ULE Next-Header
        registry with integer values in the decimal range 256-511. The
        registered value corresponds to the 16-bit Type value that would be
        used for an Optional Extension Header with a length (H-LEN) of 1.</t>
      </section>

      <section title="Informative Example of Using a Value from the Optional Range">
        <t>This section provides an informative example of how a registry
        entry is constructed to identify an Optional ULE Extension Header.</t>

        <t>Values registered by IANA in the Optional ULE Extension Header
        range correspond to a 16-bit Type value with the H-LEN field (in bits
        5 to 7) set to a decimal value of 1. This registration format is used
        irrespective of the H-LEN value to be used. Bits 8 to 15 of the value
        in the registry are combined with the actual required H-LEN value
        (bits 5 to 7) to form the 16-bit Type field.</t>

        <t>For example, the decimal value 256 has been allocated to denote the
        padding Extension Header.</t>

        <t><list style="symbols">
            <t>Type value 256: When a 2-byte padding Extension Header is used,
            the H-LEN is 1, resulting in a Type value with a decimal value of
            256 (as allocated), corresponding to a hexadecimal value of
            0x100.</t>

            <t>Type value 768: When a 6-byte padding Extension Header is used,
            the H-LEN is 3, resulting in a Type value with a decimal value of
            768, corresponding to a hexadecimal value of 0x300.</t>
          </list></t>
      </section>
    </section>

    <section anchor="IANA-rules"
             title="Updated IANA Guidance on Allocation in the ULE Next-Header Registry"
             toc="include">
      <t>The rules for allocation were defined in Section 11 of <xref
      target="RFC4326"></xref>. This document updates these rules by replacing
      them with the rules in this section:</t>

      <t>Allocations in the ULE Next-Header registry are to be assigned by
      IANA using the "Specification Required" policy defined in <xref
      target="RFC5226"></xref>. 


Applications must include a reference to a
      specification of the Next-Header extension in a "permanent and readily 
   available public specification" <xref target="RFC5226"/>. An
      IETF Standards Track RFC can provide such a reference. Other
      specifications are also permitted. The Designated Expert shall advise
      IANA on whether a particular specification constitutes a "permanent
and readily available public specification".</t>

      <section title="ULE Next-Header Registry ">
        <t>The ULE Next-Header registry allocates 0-511 decimal
        (0x0000-0x01FF hexadecimal). IANA must not allocate values greater
        than 511 (decimal). For each allocated value, it also specifies the
        set of allowed H-LEN values (see <xref target="RFC4326"></xref>,
        Section 5). The combination of the IANA-registered value and the H-LEN
        are used by ULE and GSE to derive a set of allowed 16-bit integer
        values in the range 0-1535 (decimal). This forms the first part of the
        ULE Type space (see <xref target="RFC4326"></xref>, Section 4.4.1).</t>

        <t>The registry is divided into two ranges:</t>

        <t><list style="numbers">
            <t>0-255 (decimal) IANA-assigned values, indicating Mandatory
            Extension Headers (or link-dependent Type fields). <xref
            target="RFC4326"></xref> made initial assignments to this range of
            values in the registry, updated by later requests.</t>

<!-- The following text has been updated per the RFC Editor Note from the IESG.
-->
            <t>256-511 (decimal) IANA-assigned values, indicating Optional
            Extension Headers. The entry MUST define the need
            for the Optional Extension and the intended use. <xref
            target="RFC4326"></xref> made initial assignments to this range of
            values in the registry, updated by later requests.</t>
          </list></t>
      </section>

      <section title="Expert Review Guidelines">
        <t>The Specification Required policy also implies use of a Designated
        Expert <xref target="RFC5226"></xref>. The Designated Expert shall
        review a proposed registration for the following REQUIRED
        information:</t>

        <t>For requests in the range 0-255 (decimal) - Mandatory
        Extension Headers:</t>

        <t><list style="symbols">
            <t>The value and the name associated with the Extension
            Header;</t>

            <t>The procedure for processing the Extension Header;</t>

            <t>A definition of the Extension Header and the intended use; and</t>

            <t>The size of the Extension Header (by default, the entire
            remaining payload).</t>
          </list></t>

        <t>For requests in the range 256-511 (decimal) - Optional
        Extension Headers:</t>

        <t><list style="symbols">
            <t>The value and the name associated with the Optional Extension
            Header;</t>

            <t>The procedure for processing the Extension Header;</t>

            <t>A definition of the Extension Header and the intended use
            (including any extension ordering requirements); and</t>

            <t>The range of allowable H-LEN values that are permitted (in the
            range 1-5).</t>
          </list></t>

        <t>If the registration information does not have any of the above
        required information, the Designated Expert shall not approve the
        registration to IANA.</t>
      </section>

      <section anchor="Reg-alloc"
               title="Reservation of Next-Header Values for Private Use">
        <t>This document reserves the range 144-159 decimal (0x80-0x8F
        hexadecimal) for Private Use <xref target="RFC5226"></xref>.</t>

        <t>These values are not available for allocation by IANA. Appropriate
        use includes development of experimental options for which either no
        general-purpose solution was planned, insufficient operational
        experience was available to understand if a general solution is
        needed, or a more general solution is not yet mature. This use
        is not coordinated between users of these values, so the uniqueness of
        a particular value can not be guaranteed.</t>

        <t>Authors of specifications MUST contact IANA to request a new value
        to be allocated in the ULE Next-Header registry. An IANA-allocated
        value uniquely identifies the method. Such an allocation is REQUIRED
        for any method that is to be standardised.</t>
      </section>
    </section>

    <section anchor="Reg-change" title="Update to Registry Information"
             toc="default">
      <t>IANA has recorded an additional explanatory note
      in the ULE Next-Header registry:
      
      <list>
      <t>The Mandatory Extension Header range in the ULE Next-Header registry
      is used to allocate integer values in the range 0-255 (decimal). These
      values are used to identify Mandatory Extension Headers. The registered
      value corresponds to the 16-bit Type value for the Mandatory Extension
      Header or the specified protocol.</t>

      <t>The Optional Extension Header range in the ULE Next-Header registry
      is used to allocate integer values in the range 256-511 (decimal). These
      values are used to identify Optional Extension Headers. The registered
      value corresponds to the 16-bit Type value that would be used for an
      Optional Extension Header with a header length (H-LEN) of 1.</t>
      </list>
      </t>
      <t>This additional note has been placed before the existing note.</t>
    </section>

    <section title="Security Considerations" toc="default">
      <t>This document does not present new security considerations.</t>
    </section>

    <section title="IANA Considerations" toc="include">
      <t><xref target="IANA-rules"/> specifies updated IANA allocation rules.</t>

      <t>Per <xref target="Reg-alloc"></xref>, IANA has reserved the range
      144-159 decimal (0x80-0x8F hexadecimal) marked it as Reserved
      for Private Use.</t>

      <t>Per <xref target="Reg-change"></xref>, IANA has updated the ULE
      Next-Header registry information.</t>
    </section>

    <section title="Acknowledgments">
      <t>The author acknowledges feedback from IANA, Thomas Narten, Margaret
      Wasserman, Wes Eddy, and the IETF Gen-ART team. Helpful reviews and
      comments on
      usage of this registry were also received from Alexander Adolf and Hans-Peter Lexow.</t>
    </section>

  </middle>

  <back>

    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.4326"?>

      <?rfc include="reference.RFC.5163"?>

      <?rfc include="reference.RFC.5226"?>


      <reference anchor="GSE">
        <front>
          <title>Digital Video Broadcasting (DVB); Generic Stream
          Encapsulation (GSE) Protocol</title>

          <author fullname="ETSI TS 102 606">
            <organization>European Telecommunication Standards Institute (ETSI)</organization>
          </author>

          <date year="2007" />
        </front>
      </reference>
    </references>

    <references title="Informative References">

      <?rfc include="reference.RFC.4259"?>

    </references>
  </back>
</rfc>
