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

Carry diagnostics through one DNS exchange at a time

03

A query advertises EDNS with OPT. Responses may contain several EDE options inside one OPT record; forwarding diagnostic information and managing response size need their own decisions.

RFC 8914 · § 3EXAMPLE
4 / 4
Carry diagnostics through one DNS exchange at a timeFour separate exchange cases: query with one OPT; SERVFAIL response with one OPT containing EDE6 and EDE7; forwarder creates an attributed EDE23 instead of blindly forwarding OPT; UDP DNS budget512 with400 other bytes plus200 EDE bytes, then recommended EDE removal and TC1. Dropping EDE before other data and setting TC are SHOULD requirements, not MUST.Separate UDP-size pressure caseDNS UDP payload budget: 512 octets400 other + 200 EDE = 600 octets400 other200 EDE512SHOULD drop EDE firstRemaining: 400 octets · fitsSHOULD set TC = 1
04
Drop supplemental options first when the response is too large.

Separate size case: 400+200=600 octets exceeds a 512-octet DNS payload budget. Following the recommendations, drop EDE, keep the 400 other octets, and set TC=1. This recommended truncation flag is not strengthened into a universal MUST.

Source for this drawing: RFC 8914 · Read RFC section 3 ↗

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

Accept multiple options, preserve provenance, and prioritize ordinary response data.

  • A query with OPT can receive EDE; a separate client EDE opt-in is not required here. Senders MAY include more than one EDE option; receivers MUST accept them, without necessarily acting on them.
  • Whether a resolver or forwarder passes EDE information to its client is implementation dependent. It MAY omit information or create new EDE options; when doing so the source SHOULD be attributed in EXTRA-TEXT.
  • If a response exceeds the requester’s UDP payload limit, servers SHOULD drop EDE options before other data and SHOULD set the TC truncation flag when doing so. They SHOULD avoid lengthy EXTRA-TEXT.
  • OPT is per-message metadata, not cacheable answer data (RFC 6891 §6.1.1). Regenerating EDE information is different from blindly forwarding an entire OPT record. EDE does not change ordinary DNS processing or caching permissions.
DETAILS

Each state is a separate example. The size arithmetic uses a fictional 512-octet DNS UDP payload budget, 400 other DNS octets and 200 EDE octets. No IP/UDP header bytes are included. If other data still exceeds the limit after removing EDE, additional DNS handling remains necessary.

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 ↗