Visual RFC.
ALL RFCs / RFC 8914
Read the RFC ↗
RFC 8914 / DNS DIAGNOSTICS

Read selected reasons without treating the registry as policy

04

Reason codes distinguish technical causes and policy origins. RFC 8914 defines an initial set from 0 through 24; later registrations and private values are not invalid merely because this guide does not interpret them.

RFC 8914 · § 4EXAMPLE
3 / 3
Read selected reasons without treating the registry as policyThree separate reason maps: DNSSEC Bogus6, Signature Expired7 and Network Error23; policy origins Blocked15 operator, Censored16 external and Filtered17 client-requested; Other0 with recommended text versus private-use65000 without globally standardized meaning. Initial codes0–24 in RFC8914 are not represented as the complete current registry.Separate Other and private-use casesINFO-CODE 0 · OtherSHOULD include explanatory textseparate private-use exampleINFO-CODE 65000 · Private UseNo globally standardized reasonAccept unfamiliar diagnostics; keep RCODE rules
03
Leave room for Other and private values.

Code 0 SHOULD have human explanation. A private example INFO-CODE 65000 fits the 16-bit field and can be accepted without a standardized meaning. No automatic action or globally registered purpose is invented.

Source for this drawing: RFC 8914 · Read RFC section 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 INFO-CODE is diagnostic context, not authority to change DNS behavior.

  • Code 6 reports DNSSEC validation ending Bogus; code 7 reports no presently valid signatures with some expired; code 23 reports an unrecoverable error communicating with another server.
  • Code 15, Blocked, describes an operator’s internal security policy;16, Censored, an external requirement;17, Filtered, a client-requested blocklist. These are different origins, not increasing severities.
  • Code 0 is Other; implementations SHOULD add explanatory EXTRA-TEXT. The registry allocates 0–49151 by First Come First Served and 49152–65535 for Private Use (§5.2). These are registration procedures, not proof of safety.
  • Receivers MUST NOT assume that an EDE/RCODE combination makes sense. They MUST keep ordinary RCODE processing even with unfamiliar reasons, private codes or NOERROR.
DETAILS

This chapter selects examples, not a live or exhaustive current IANA registry. RFC 8914’s initial 0–24 range is historical publication content; do not label every higher code unassigned today. Full definitions are linked in §4, and accepting a code is different from trusting its assertion.

Read the RFC section ↗

All chapters in RFC 8914

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 ↗