INTERNET-DRAFT                                         S. Deering, Cisco
August 6, 1998                                         R. Hinden,  Nokia





                     The IPv6 Jumbo Payload Option

                    <draft-ietf-ipngwg-jumbo-00.txt>





Status of this Memo

   This document is an Internet Draft.  Internet Drafts are working
   documents of the Internet Engineering Task Force (IETF), its Areas,
   and its Working Groups.  Note that other groups may also distribute
   working documents as Internet Drafts.

   Internet Drafts are draft documents valid for a maximum of six
   months.  Internet Drafts may be updated, replaced, or obsoleted by
   other documents at any time.  It is not appropriate to use Internet
   Drafts as reference material or to cite them other than as a
   ``working draft'' or ``work in progress.''

   To view the entire list of current Internet-Drafts, please check the
   "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
   Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
   Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).

   This internet draft will expire no later than February 6, 1999.


Abstract


   This document describes the Jumbo Payload option for IPv6, which is
   used to send IPv6 packets with payloads longer than 65,535 octets.
   This option is relevant only for IPv6 nodes that may be attached to
   links with a link MTU greater than 65,575 octets, and need not be
   implemented or understood by IPv6 nodes that do not support
   attachment to links with such large MTUs.






Deering & Hinden     draft-ietf-ipngwg-jumbo-00.txt             [Page 1]


INTERNET-DRAFT          IPv6 Jumbo Payload Option            August 1998


1. Introduction


      jumbo (jum'bO),

          n., pl. -bos, adj.
          -n.
          1. a person, animal, or thing very large of its kind.
          -adj.
          2. very large: the jumbo box of cereal.

          [1800-10; orig. uncert.; popularized as the name of a large
           elephant purchased and exhibited by P.T. Barnum in 1882]

                                              -- www.infoplease.com

   The IPv6 header [IPv6] has a 16-bit Payload Length field and,
   therefore, supports payloads up to 65,535 octets long.  This document
   specifies an IPv6 hop-by-hop option, called the Jumbo Payload option,
   that carries a 32-bit length field in order to allow transmission of
   IPv6 packets with payloads between 65,536 and 4,294,967,295 octets in
   length.  Packets with such long payloads are colloquially referred to
   as "jumbograms".

   The Jumbo Payload option is relevant only for IPv6 nodes that may be
   attached to links with a link MTU greater than 65,575 octets (that
   is, 65,535 + 40, where 40 octets is the size of the IPv6 header).
   The Jumbo Payload option need not be implemented or understood by
   IPv6 nodes that do not support attachment to links with MTU greater
   than 65,575.

   On links with configurable MTUs, the MTU must not be configured to a
   value greater than 65,575 octets if there are nodes attached to that
   link that do not support the Jumbo Payload option.


2. Format of the Jumbo Payload Option

   The Jumbo Payload option is carried in an IPv6 Hop-by-Hop Options
   header, immediately following the IPv6 header.  This option has an
   alignment requirement of 4n + 2.  (See [IPv6, Section 4.2] for
   discussion of option alignment.)  The option has the following
   format:









Deering & Hinden     draft-ietf-ipngwg-jumbo-00.txt             [Page 2]


INTERNET-DRAFT          IPv6 Jumbo Payload Option            August 1998


                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |  Option Type  |  Opt Data Len |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Jumbo Payload Length                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


      Option Type           8-bit value C2 (hexadecimal).

      Opt Data Len          8-bit value 4.

      Jumbo Payload Length  32-bit unsigned integer.  Length of the IPv6
                            packet in octets, excluding the IPv6 header
                            but including the Hop-by-Hop Options header
                            and any other extension headers present.
                            Must be greater than 65,535.


3. Usage of the Jumbo Payload Option

   The Payload Length field in the IPv6 header must be set to zero in
   every packet that carries the Jumbo Payload option.

   If a node that understands the Jumbo Payload option receives a packet
   whose IPv6 header carries a Payload Length of zero and a Next Header
   value of zero (meaning that a Hop-by-Hop Options header follows), and
   whose link-layer framing indicates the presence of octets beyond the
   IPv6 header, the node must proceed to process the Hop-by-Hop Options
   header in order to determine the actual length of the payload from
   the Jumbo Payload option.

   The Jumbo Payload option must not be used in a packet that carries a
   Fragment header.

   Higher-layer protocols that use the IPv6 Payload Length field to
   compute the value of the Upper-Layer Packet Length field in the
   checksum pseudo-header described in [IPv6, Section 8.1] must instead
   use the Jumbo Payload Length field for that computation, for packets
   that carry the Jumbo Payload option.

   Nodes that understand the Jumbo Payload option are required to detect
   a number of possible format errors, and if the erroneous packet was
   not destined to a multicast address, report the error by sending an
   ICMP Parameter Problem message [ICMPv6] to the packet's source.   The
   following list of errors specifies the values to be used in the Code
   and Pointer fields of the Parameter Problem message:






Deering & Hinden     draft-ietf-ipngwg-jumbo-00.txt             [Page 3]


INTERNET-DRAFT          IPv6 Jumbo Payload Option            August 1998


   error: IPv6 Payload Length = 0 and
          IPv6 Next Header = Hop-by-Hop Options and
          Jumbo Payload option not present

          Code: 0
          Pointer: high-order octet of the IPv6 Payload Length


   error: IPv6 Payload Length != 0 and
          Jumbo Payload option present

          Code: 0
          Pointer: Option Type field of the Jumbo Payload option


   error: Jumbo Payload option present and
          Jumbo Payload Length < 65,536

          Code: 0
          Pointer: high-order octet of the Jumbo Payload Length


   error: Jumbo Payload option present and
          Fragment header present

          Code: 0
          Pointer: high-order octet of the Fragment header.


   A node that does not understand the Jumbo Payload option is expected
   to respond to erroneously-received jumbograms as follows, according
   to the IPv6 specification:

   error: IPv6 Payload Length = 0 and
          IPv6 Next Header = Hop-by-Hop Options

          Code: 0
          Pointer: high-order octet of the IPv6 Payload Length


   error: IPv6 Payload Length != 0 and
          Jumbo Payload option present

          Code: 2
          Pointer: Option Type field of the Jumbo Payload option







Deering & Hinden     draft-ietf-ipngwg-jumbo-00.txt             [Page 4]


INTERNET-DRAFT          IPv6 Jumbo Payload Option            August 1998


4. Security Considerations

   The Jumbo Payload option does not introduce any known new security
   concerns.


5. Authors' Addresses

   Stephen E. Deering                   Robert M. Hinden
   Cisco Systems, Inc.                  Nokia
   170 West Tasman Drive                232 Java Drive
   San Jose, CA 95134-1706              Sunnyvale, CA 94089
   USA                                  USA

   phone: +1 408 527 8213               phone: +1 408 990-2004
   fax:   +1 408 527 8254               fax:   +1 408 743-5677
   email: deering@cisco.com             email: hinden@iprg.nokia.com


6. References

   [IPv6]    Deering,S., R. Hinden, Internet Protocol Version 6 (IPv6)
             Specification, Internet Draft, August 1998.

   [ICMPv6]  Conta, A., S. Deering, ICMP for the Internet Protocol
             Version 6 (IPv6), Internet Draft, August 1998.


























Deering & Hinden     draft-ietf-ipngwg-jumbo-00.txt             [Page 5]