Return an error with context
02An error goes back toward the original packet’s source and quotes the beginning of that packet. The quote helps the source identify which upper-layer protocol and process should hear about the failure.
Separate optional Destination Unreachable layout: Length 16 means 16 × 8 = 128 padded quote bytes. The extension starts after those bytes, not inside the original packet. The layout is schematic.
Source for this drawing: RFC 4443 · Read RFC section 2.4 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Optional extensions update Destination Unreachable and Time Exceeded. A length attribute in 64-bit words separates the padded original-datagram field from the extension. Packet Too Big and Parameter Problem do not gain that same field.
Read the updated RFC section ↗Include enough context within the size budget; do not turn a truncated quote or extension into a different packet.
- Error-message destination addresses copy the invoking packet’s source (§§3.1–3.4). The new ICMPv6 source is selected under §2.2: a reply to one of the node’s own unicast addresses MUST use that address; otherwise use a unicast address belonging to the node, with SHOULD/MAY selection qualifications. A router reporting another packet does not impersonate that packet’s destination.
- An error MUST include as much of the invoking IPv6 packet as possible without its enclosing error packet exceeding the minimum IPv6 MTU (§2.4(c)). For the base example, 1280 − 40 outer IPv6 bytes − 8 error bytes leaves at most 1232 quoted bytes. Extra headers or extensions consume budget; this is not a universal fixed quote length.
- Where required, the receiver MUST pass an error to the originating upper-layer process when identifiable. The quoted protocol selects the upper layer (§2.4(d), §§3.1–3.4). If the protocol cannot be retrieved, silently drop after IPv6-layer processing. The quote may be truncated or an ESP payload unavailable; do not guess a process.
- For an unknown error Type, MUST pass to the originating upper-layer process where identifiable (§2.4(a)). For an unknown informational Type, MUST silently discard (§2.4(b)). An unrecognized message is not automatically a reason to generate another error.
- RFC 4884 §§3–4,4.4–4.5 formally updates selected formats: an extension structure MAY be appended to ICMPv6 Destination Unreachable and Time Exceeded. The added length attribute MUST identify the padded original-datagram field in 64-bit words. That field MUST be at least 128 bytes and zero-padded to a 64-bit boundary. This is not a rule that the whole remainder is always the original packet.
- The extension layout below is schematic and optional. RFC 4884 does not introduce that same length field into Packet Too Big or Parameter Problem. Read its parsing/compatibility and extension rules for implementations; this guide does not claim to implement them.
Base error example has no added headers. Extension example is a separate RFC 4884 Destination Unreachable layout.
Read the RFC section ↗