ICMPv6 Errors for Discarding Packets Due to Processing Limits
RFC 8883

Document Type RFC - Proposed Standard (September 2020; No errata)
Author Tom Herbert 
Last updated 2020-09-24
Replaces draft-herbert-6man-icmp-limits
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Bob Hinden
Shepherd write-up Show (last changed 2019-09-30)
IESG IESG state RFC 8883 (Proposed Standard)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Suresh Krishnan
Send notices to Bob Hinden <bob.hinden@gmail.com>, Erik Kline <ek.ietf@gmail.com>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack

Internet Engineering Task Force (IETF)                        T. Herbert
Request for Comments: 8883                                         Intel
Category: Standards Track                                 September 2020
ISSN: 2070-1721

     ICMPv6 Errors for Discarding Packets Due to Processing Limits


   Network nodes may discard packets if they are unable to process
   protocol headers of packets due to processing constraints or limits.
   When such packets are dropped, the sender receives no indication, so
   it cannot take action to address the cause of discarded packets.
   This specification defines several new ICMPv6 errors that can be sent
   by a node that discards packets because it is unable to process the
   protocol headers.  A node that receives such an ICMPv6 error may use
   the information to diagnose packet loss and may modify what it sends
   in future packets to avoid subsequent packet discards.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
     1.1.  Extension Header Limits
     1.2.  Aggregate Header Limits
     1.3.  Nonconformant Packet Discard
     1.4.  Terminology
   2.  ICMPv6 Errors for Extension Header Limits
     2.1.  Format
     2.2.  Unrecognized Next Header Type Encountered by Intermediate
           Node (Code 5)
     2.3.  Extension Header Too Big (Code 6)
     2.4.  Extension Header Chain Too Long (Code 7)
     2.5.  Too Many Extension Headers (Code 8)
     2.6.  Too Many Options in Extension Header (Code 9)
     2.7.  Option Too Big (Code 10)
   3.  ICMPv6 Error for Aggregate Header Limits
     3.1.  Format
     3.2.  Usage
   4.  Operation
     4.1.  Priority of Reporting
     4.2.  Host Response
   5.  Applicability and Use Cases
     5.1.  Reliability of ICMP
     5.2.  Processing Limits
       5.2.1.  Long Headers and Header Chains
       5.2.2.  At End Hosts
       5.2.3.  At Intermediate Nodes
   6.  Security Considerations
   7.  IANA Considerations
     7.1.  Parameter Problem Codes
     7.2.  Destination Unreachable Codes
     7.3.  ICMP Extension Object Classes and Class Sub-types
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Author's Address

1.  Introduction

   This document specifies several new ICMPv6 errors that can be sent
   when a node discards a packet due to it being unable to process the
   necessary protocol headers because of processing constraints or
   limits.  New ICMPv6 code points are defined to supplement those
   defined in [RFC4443].  Six of the errors are specific to the
   processing of extension headers; another error is used when the
   aggregate protocol headers in a packet exceed the processing limits
   of a node.

1.1.  Extension Header Limits

   In IPv6, optional internet-layer information is carried in one or
   more IPv6 extension headers [RFC8200].  Extension headers are placed
   between the IPv6 header and the upper-layer header in a packet.  The
   term "header chain" refers collectively to the IPv6 header, extension
   headers, and upper-layer headers occurring in a packet.  Individual
   extension headers may have a maximum length of 2048 octets and must
   fit into a single packet.  Destination Options and Hop-by-Hop Options
   contain a list of options in type-length-value (TLV) format.  Each
   option includes a length of the data field in octets: the minimum
   size of an option (non-pad type) is two octets, and the maximum size
   is 257 octets.  The number of options in an extension header is only
   limited by the length of the extension header and the Path MTU from
   the source to the destination.  Options may be skipped over by a
   receiver if they are unknown and the Option Type indicates to skip
Show full document text