Visual RFC.
ALL RFCs / RFC 4443
Read the RFC ↗
RFC 4443 / ICMPv6

Suppress and limit errors

04

Unrestricted error replies can create loops and amplify traffic. General suppression rules and a required rate limit take precedence over the per-message rules for originating errors.

RFC 4443 · § 2.4EXAMPLE
4 / 4
Suppress and limit errorsChosen bucket geometry shows two full tokens before burst, zero after two errors, one after illustrative second. Third immediate error is blocked at zero credit; required rate limiting does not prescribe these parameter values.Some errors must remain unsentChosen B=2 · N=1 per secondBefore burst2 token(s)After 2 errors0 token(s)After 1 second1 token(s)third immediate errorRate limiting MUST; these numbers are examplesSuppression / rate rules override origination
04
Allow a bounded burst, then refill

Separate otherwise eligible errors use a chosen two-token bucket: two messages spend both tokens; a third is held unsent. After one illustrative second, one token is available. The RFC requires rate limiting, not these parameters.

Source for this drawing: RFC 4443 · Read RFC section 2.4 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
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.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

An otherwise required error still has to pass the general suppression and rate gates.

  • An ICMPv6 error MUST NOT be originated in response to another ICMPv6 error or an ICMPv6 Redirect (§2.4(e.1–e.2)). Informational and error classes are not interchangeable. This stops error-on-error loops.
  • Errors MUST NOT normally respond to IPv6 multicast destinations, link-layer multicast, or link-layer broadcast (§2.4(e.3–e.5)). Exceptions are Packet Too Big and Parameter Problem Code 2 for an unrecognized option whose highest two Option Type bits are 10. An unknown option with different action bits does not automatically qualify.
  • A packet source that does not uniquely identify one node MUST NOT trigger an error: examples are unspecified, multicast or an address known to the originator to be anycast (§2.4(e.6)). Multicast exceptions do not override this source restriction or the error-on-error ban.
  • A node MUST limit the rate of ICMPv6 errors it originates (§2.4(f)). Rate-limiting forwarded ICMP messages is out of scope. A token bucket is a recommended method, not a mandated algorithm. Parameters SHOULD be configurable and permit bursts; B=10/N=10 per second are example possible defaults, not universal requirements.
  • The drawing chooses a smaller illustrative bucket B=2 with N=1 token/second. Two available tokens permit a two-error burst, then the rate gate suppresses another immediate error until credit refills. This does not define a required clock, timer or deployed parameter.
  • §2.4 explicitly gives these restrictions precedence over other origination requirements. Not receiving an error does not prove the original packet succeeded, or that the network is silent for only one reason.
DETAILS

Decision examples vary independently. B=2/N=1 is teaching data; source/packet eligibility and credit are checked before transmission.

Read the RFC section ↗

All chapters in RFC 4443

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗