<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 4.0.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-farrokhi-dnsop-ecs-opt-in-00" category="exp" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="ECS Client Opt-In">Client Opt-In Signaling for EDNS Client Subnet</title>
    <seriesInfo name="Internet-Draft" value="draft-farrokhi-dnsop-ecs-opt-in-00"/>
    <author initials="B." surname="Farrokhi" fullname="Babak Farrokhi">
      <organization>Quad9</organization>
      <address>
        <postal>
          <country>Netherlands</country>
        </postal>
        <email>babak@farrokhi.net</email>
      </address>
    </author>
    <author initials="J." surname="Todd" fullname="John Todd">
      <organization>Quad9</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>jtodd@quad9.net</email>
      </address>
    </author>
    <date year="2026" month="August" day="20"/>
    <area>Internet</area>
    <keyword>DNS</keyword>
    <keyword>EDNS</keyword>
    <keyword>ECS</keyword>
    <keyword>EDNS Client Subnet</keyword>
    <keyword>privacy</keyword>
    <keyword>opt-in</keyword>
    <abstract>
      <?line 28?>

<t>EDNS Client Subnet (ECS) lets a recursive resolver send part of a
client's network address to authoritative servers, which tailor their
answers to it.  A resolver's configuration decides whether it does so, for
every client that sends no ECS option of its own.  RFC 7871 lets a client
opt out.  Asking instead for a shorter prefix requires the client to
supply the address those bits are taken from, which a client behind a NAT
or a VPN does not know.</t>
      <t>This document defines an opt-in.  A client includes an EDNS(0) option in a
query to ask the resolver to forward its address information, and can use
that option to limit how many address bits the resolver forwards.  A
resolver implementing this document forwards nothing for a client that
does not send the option, and one that does not implement it ignores the
option.  One resolver address can then serve clients that want tailored
answers and those that want their addresses withheld.</t>
    </abstract>
  </front>
  <middle>
    <?line 46?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>EDNS Client Subnet <xref target="RFC7871"/> lets a recursive resolver send a prefix
of the client's network address to authoritative servers, which use it to
tailor their answers.</t>
      <t>A resolver either uses ECS or it does not, based on how it is configured.
A client of a resolver with ECS enabled can opt out by sending an ECS
option with a SOURCE PREFIX-LENGTH of 0, which
<xref section="7.1.2" sectionFormat="of" target="RFC7871"/> obliges the recursive resolver to honor.
That client can also ask for a shorter prefix, but
<xref section="6" sectionFormat="of" target="RFC7871"/> requires the ECS option to contain the address
those bits are taken from, and a client behind a NAT or a VPN does not
know the address the resolver sees.  A client that sends nothing has its
address information forwarded.</t>
      <t>An operator who wants to offer ECS to some clients and withhold it from
others runs a second resolver on a second address and tells users which
one to use.  That increases the operational burden, resource usage and
complexity.  It also hands the privacy decision to whoever configures the
client's resolver address, which is usually not the user whose address is
forwarded.</t>
      <t>This document defines an opt-in mechanism.  A recursive resolver that
implements it forwards a client's address information only for a query
that includes the opt-in option, and that option can also limit how many
address bits the resolver forwards.  The resolver reports in its response
how many it applied.</t>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document defines the signal and the resolver behavior it requires.
It does not change the ECS option and does not define any new behavior
for authoritative servers.  A resolver implementing it treats some
recommendations of <xref target="RFC7871"/> differently, which <xref target="deviations"/> lists.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>DNS terminology follows BCP 219 <xref target="RFC9499"/>.  ECS terminology
follows <xref target="RFC7871"/> and is not redefined here.  This includes SOURCE
PREFIX-LENGTH, SCOPE PREFIX-LENGTH, Tailored Response, Intermediate
Nameserver, and Forwarding Resolver, none of which <xref target="RFC9499"/> defines.</t>
      <t>The term "signaling client" means a client whose query included the option
defined in this document and for which the effective prefix length
defined in <xref target="resolver-behavior"/> is nonzero.</t>
    </section>
    <section anchor="the-ecs-opt-in-option">
      <name>The ECS Opt-In Option</name>
      <section anchor="option-format">
        <name>Option Format</name>
        <t>This document specifies a new EDNS(0) <xref target="RFC6891"/> option by which a
client asks the resolver to forward its address information.</t>
        <t>OPTION-CODE for this option is TBD.</t>
        <t>OPTION-LENGTH <bcp14>MUST</bcp14> have a value of 0 or 1 for queries and <bcp14>MUST</bcp14> have the
value 1 for responses.  <xref target="RFC7314"/> and <xref target="RFC7828"/> likewise define
options whose length differs between queries and responses.</t>
        <t>OPTION-DATA, where present, is a single field:</t>
        <figure>
          <name>OPTION-DATA Format for the ECS Opt-In Option</name>
          <artwork><![CDATA[
                 0   1   2   3   4   5   6   7
               +---+---+---+---+---+---+---+---+
               |         PREFIX-LENGTH         |
               +---+---+---+---+---+---+---+---+
]]></artwork>
        </figure>
        <t>PREFIX-LENGTH is an unsigned 1-octet field.  In a query it is the largest
number of address bits the client permits the resolver to forward.  A
query that omits OPTION-DATA sets no such limit.  In a response it is the
effective prefix length defined in <xref target="resolver-behavior"/>, the largest
number of address bits the resolver may forward for that query.</t>
        <t>The option has no address family field.  The resolver interprets
PREFIX-LENGTH in the address family of the address it forwards.</t>
      </section>
      <section anchor="client-behavior">
        <name>Client Behavior</name>
        <t>A client that wants to permit the resolver to forward a prefix of its address
<bcp14>MUST</bcp14> include exactly one instance of this option in the query.  To limit
how many address bits the resolver forwards, it uses the one-octet form.
With the zero-length form the resolver's own maximum applies, as
<xref target="resolver-behavior"/> describes.</t>
        <t>A client that permits nothing to be forwarded <bcp14>SHOULD</bcp14> omit the option.  A
PREFIX-LENGTH of 0 forwards nothing either, but on an unencrypted
transport it tells anyone on the path that the client implements this
specification.</t>
        <t>A client <bcp14>MAY</bcp14> include an ECS option in the same query.  A client that
knows the public address it is seen as coming from can supply it that
way.  A client that does not know that address can still set a limit with the
one-octet form, which does not need one.
<xref target="relationship-to-ecs"/> specifies how the two options interact.</t>
        <t>A client <bcp14>SHOULD NOT</bcp14> supply a private address in an ECS option, because
<xref target="resolver-behavior"/> has the resolver forward nothing for such a query.
A client that supplies an address and receives a value of 0 can retry
with the one-octet form.</t>
        <t>A client <bcp14>MUST</bcp14> treat this option as absent in a response whose
OPTION-LENGTH is not 1, and in a response that includes more than one
instance of it.  Neither case tells the client what the resolver
forwarded.</t>
        <t>A client <bcp14>MUST NOT</bcp14> treat the arrival of a response as evidence that its
limit was honored.  A resolver that does not implement this option
ignores it, per <xref section="6.1.2" sectionFormat="of" target="RFC6891"/>, and answers as it would
have anyway.  <xref target="security-considerations"/> covers how much a client
can trust the reported value.</t>
      </section>
      <section anchor="resolver-behavior">
        <name>Recursive Resolver Behavior</name>
        <t>A resolver implementing this document <bcp14>MUST NOT</bcp14> forward a client's
address information for a query that does not include this option.</t>
        <t>For a query that includes this option, the resolver selects the address
to forward.  Where the query also includes an ECS option with a nonzero
SOURCE PREFIX-LENGTH and a FAMILY of 1 or 2, the resolver takes FAMILY
and ADDRESS from that option, which <xref section="7.1.1" sectionFormat="of" target="RFC7871"/>
permits, and <bcp14>MUST NOT</bcp14> use a different address.  Otherwise it uses the
source address of the query, so a client need not know the address the
resolver observes.</t>
        <t><xref section="11.2" sectionFormat="of" target="RFC7871"/> requires a response to mirror the ECS fields
of the query.  A resolver that used a different address would therefore
indicate that its answer is tailored for the network the client named
when it had asked about another, the anomaly
<xref section="7.5" sectionFormat="of" target="RFC7871"/> describes.</t>
        <t>The resolver then calculates an effective prefix length, the smallest of</t>
        <ul spacing="normal">
          <li>
            <t>the PREFIX-LENGTH in the query, if it used the one-octet form,</t>
          </li>
          <li>
            <t>the SOURCE PREFIX-LENGTH of an ECS option, if the query included one,</t>
          </li>
          <li>
            <t>the resolver's own maximum cacheable prefix length, and</t>
          </li>
          <li>
            <t>the maximum prefix length of the address family of the selected
address, that is 32 for IPv4 and 128 for IPv6.</t>
          </li>
        </ul>
        <t>The resolver <bcp14>MUST NOT</bcp14> forward more bits of that address than the
effective prefix length.  <xref section="7.1.1" sectionFormat="of" target="RFC7871"/> already combines
two of these four the same way, having the resolver use the shorter of
the incoming SOURCE PREFIX-LENGTH and its own maximum cacheable prefix
length.</t>
        <t>Where the query includes an ECS option whose FAMILY is neither 1 nor 2,
the effective prefix length for that query is 0.
<xref section="6" sectionFormat="of" target="RFC7871"/> defines the address format only for FAMILY 1
and FAMILY 2, so the resolver has no address to take from that option.
Using the source address it observed instead would produce the anomaly
described above.</t>
        <t>A resolver <bcp14>SHOULD NOT</bcp14> forward an unroutable address supplied by a
client, such as one from the special-purpose blocks <xref target="RFC6890"/>
defines, or a routable address the query source is known not to serve.
<xref section="11.3" sectionFormat="of" target="RFC7871"/> recommends treating an unroutable address
as equivalent to the resolver's own identity, and ignoring and never
forwarding an address the query source is known not to serve.  This
document has the resolver forward nothing in either case, which is
documented under <xref target="deviations"/>.  A client behind a NAT that does not
know it is behind one supplies an unroutable address.  Where the
resolver does not forward the supplied address, the effective prefix
length for that query is 0.</t>
        <t>A resolver <bcp14>MAY</bcp14> decline to forward a client's address information for any
query, a choice <xref section="5" sectionFormat="of" target="RFC7871"/> leaves with the resolver.  The
effective prefix length for such a query is 0.</t>
        <t>If the effective prefix length is nonzero, the resolver constructs an
ordinary ECS option as described in <xref section="7.1.1" sectionFormat="of" target="RFC7871"/>, with
FAMILY and ADDRESS from the selected address and SOURCE PREFIX-LENGTH set
to the effective prefix length.  The rest of the exchange, including how
the resolver handles the authoritative server's SCOPE PREFIX-LENGTH,
follows <xref target="RFC7871"/> unchanged.</t>
        <t>The resolver <bcp14>MUST</bcp14> treat the query as though this option were absent, and
therefore forward nothing, in each of the following cases:</t>
        <ul spacing="normal">
          <li>
            <t>OPTION-LENGTH is greater than 1</t>
          </li>
          <li>
            <t>more than one instance of the option is present</t>
          </li>
        </ul>
        <t>This departs from the usual handling of a malformed EDNS option.
<xref section="6" sectionFormat="of" target="RFC7871"/> recommends FORMERR for a malformed ECS option,
and <xref target="RFC7873"/> and <xref target="RFC9660"/> specify FORMERR for their own options.
This document does not, because the option is an optional privacy
control.  A client that encodes it incorrectly would lose name resolution
altogether, whereas treating the option as absent forwards nothing and
lets resolution continue.</t>
        <t>A PREFIX-LENGTH larger than the family maximum is not an error.  The
calculation above reduces it to the family maximum.</t>
        <section anchor="response">
          <name>Response</name>
          <t>If the query included this option and the resolver did not treat it as
absent, the response <bcp14>MUST</bcp14> include exactly one instance of it, with
PREFIX-LENGTH set to the effective prefix length.</t>
          <t>If the query did not include this option, or the resolver treated it as
absent under <xref target="resolver-behavior"/>, the response <bcp14>MUST NOT</bcp14> include this
option.  The resolver forwarded no address information for that query and
therefore did not use ECS, so the response requirements of
<xref section="7.2.2" sectionFormat="of" target="RFC7871"/> do not apply, as <xref target="relationship-to-ecs"/>
explains.  The client receives the response it
would have received from a resolver that does not implement ECS.</t>
          <t>If the query included an ECS option and the effective prefix length is
nonzero, the response <bcp14>MUST</bcp14> include an ECS option, as <xref section="7.2.2" sectionFormat="of" target="RFC7871"/> requires of a resolver that uses ECS.  Its FAMILY, ADDRESS and
SOURCE PREFIX-LENGTH are those of the query, which <xref section="11.2" sectionFormat="of" target="RFC7871"/> requires as a countermeasure against birthday attacks.  That
requirement holds even where the resolver forwarded fewer address bits
upstream than the query contained.  SCOPE PREFIX-LENGTH reports the scope
of the answer.  Otherwise the response <bcp14>MUST NOT</bcp14> include an ECS option.</t>
          <t>The reported value is the effective prefix length computed for that
query, and it does not depend on whether the answer came from cache.</t>
          <t>A client that sent the option can distinguish three cases from the
response.  An absent option means the resolver does not implement this
specification, or that the option was removed in transit.  Such a
resolver may still use ECS of its own accord.  A value of 0 means the
resolver implements this specification and will forward nothing.  A value
of N means the resolver will forward at most N bits of that client's
address.</t>
        </section>
      </section>
      <section anchor="relationship-to-ecs">
        <name>Relationship to the ECS Option</name>
        <t>The two options have different roles, and a query may include either or
both.  This option asks the resolver to forward the client's address
information.  An ECS option supplies the address to forward and, in its
SOURCE PREFIX-LENGTH, a limit of its own.</t>
        <t>An ECS option cannot state a nonzero limit without an address.
<xref section="6" sectionFormat="of" target="RFC7871"/> requires ADDRESS to hold the client's address
truncated to SOURCE PREFIX-LENGTH bits, and a stub resolver behind a NAT,
a carrier-grade NAT, or a VPN may not know its actual outbound address
that is exposed to the resolver.  The private address it does know is no
substitute, because
<xref section="11.3" sectionFormat="of" target="RFC7871"/> recommends against forwarding such an
address and <xref target="resolver-behavior"/> then forwards nothing for the query.
Such a client sets its limit with the one-octet form of this option that
does not need an address.</t>
        <t>When both options state a limit, the smaller governs, as
<xref target="resolver-behavior"/> specifies.  A larger value in this option cannot
raise the ECS limit, because <xref section="7.1.2" sectionFormat="of" target="RFC7871"/> forbids an
Intermediate Nameserver to send more bits of client address than the
originating query included.</t>
        <t>An ECS option on its own is not an opt-in.  For a query that includes one
and no instance of the opt-in option, the resolver forwards nothing, as
<xref target="resolver-behavior"/> requires.  A Forwarding Resolver may add an ECS
option for the clients it serves, as <xref section="7.1.3" sectionFormat="of" target="RFC7871"/>
describes, so an ECS option says nothing about what the client that sent
the query wants.  A resolver never forwards this option
(<xref target="non-transitivity"/>), so only that client can have added it.</t>
        <t><xref section="7.1.1" sectionFormat="of" target="RFC7871"/> and <xref section="7.5" sectionFormat="of" target="RFC7871"/> tell a
resolver to return REFUSED when it will not use a client's ECS option.  A
resolver implementing this document answers the query instead.  It <bcp14>MUST
NOT</bcp14> refuse a query solely because the query included an ECS option
without this option.  <xref section="7.5" sectionFormat="of" target="RFC7871"/>
already makes an exception of this kind, noting "that a query <bcp14>MUST NOT</bcp14> be
refused solely because it provides 0 address bits".</t>
        <t><xref section="7.2.2" sectionFormat="of" target="RFC7871"/> states its response requirements for the
case "When an Intermediate Nameserver uses ECS".  This document reads
that condition per query, so the requirements do not apply to a query for
which the resolver forwards nothing.</t>
        <t>Each value below is further limited by the maximum prefix length of the
address family, and a resolver that declines under <xref target="resolver-behavior"/>
forwards nothing in any of these cases.</t>
        <table>
          <name>Address Bits Forwarded for Each Combination of Options</name>
          <thead>
            <tr>
              <th align="left">Query includes</th>
              <th align="left">Bits of the client's address forwarded</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">neither option</td>
              <td align="left">none</td>
            </tr>
            <tr>
              <td align="left">an ECS option only</td>
              <td align="left">none</td>
            </tr>
            <tr>
              <td align="left">this option, zero-length</td>
              <td align="left">the resolver's maximum</td>
            </tr>
            <tr>
              <td align="left">this option, one octet N</td>
              <td align="left">the smallest of N and the resolver's maximum</td>
            </tr>
            <tr>
              <td align="left">both options</td>
              <td align="left">the smallest of all limits present</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="non-transitivity">
        <name>Non-Transitivity</name>
        <t>A resolver <bcp14>MUST NOT</bcp14> include this option in queries it sends to
authoritative servers, and <bcp14>MUST NOT</bcp14> copy it from a client query into any
upstream query.</t>
        <t><xref section="1" sectionFormat="of" target="RFC6891"/> describes EDNS as a hop-by-hop extension,
negotiated between each pair of hosts in the resolution process, and
<xref section="6.1.1" sectionFormat="of" target="RFC6891"/> forbids forwarding an OPT RR.  This
option is an instruction to the recursive resolver that receives the
query.  It means nothing to an authoritative server, which learns the
client's network from an ECS option.</t>
        <t>A Forwarding Resolver is itself a client of the resolver it queries.  It
<bcp14>MAY</bcp14> include this option in its own upstream queries, and <bcp14>MUST NOT</bcp14> set a
limit larger than the one its client set.
<xref section="7.1.3" sectionFormat="of" target="RFC7871"/> places the same duty on a Forwarding
Resolver using ECS, which must honor the SOURCE PREFIX-LENGTH
restrictions in the incoming query from its client.</t>
        <t>A Forwarding Resolver that constructs the ECS option itself reports to
its client the number of address bits it forwards.  Where it leaves the
ECS option to the resolver it queries, that resolver forwards the
Forwarding Resolver's own address.  No bits of the client's address reach
an authoritative server, and the Forwarding Resolver <bcp14>MUST</bcp14> report 0.</t>
      </section>
    </section>
    <section anchor="caching">
      <name>Caching</name>
      <t>A resolver <bcp14>MUST NOT</bcp14> return an answer obtained using ECS to a client that
is not a signaling client, and <bcp14>MUST</bcp14> be able to determine, for any cache
entry, whether it obtained that entry using ECS.</t>
      <t><xref section="7.3.2" sectionFormat="of" target="RFC7871"/> matches a lookup from a client that sent no
ECS option against that client's own address, which could return a
Tailored Response fetched for someone else.  Excluding entries obtained
using ECS leaves no matching network, and that section then requires the
resolver to perform resolution as usual, which it explains is "to avoid
Tailored Responses in the cache from being returned to the wrong
clients".</t>
      <t>For signaling clients, the caching and longest-prefix matching rules of
<xref section="7.3" sectionFormat="of" target="RFC7871"/> apply unchanged.  A cache entry whose SOURCE
PREFIX-LENGTH is longer than a signaling client's effective prefix length
<bcp14>MAY</bcp14> answer that client, because serving it forwards nothing.  A client's
limit applies only to the address information the resolver forwards and
thus does not restrict which cache entry may answer that client.</t>
      <t>Keeping signaling and non-signaling clients on separate caches implements
the rule above, and a resolver that already supports more than one cache
needs no new machinery for it.</t>
    </section>
    <section anchor="deviations">
      <name>Deviations from RFC 7871</name>
      <t>A resolver implementing this document differs from <xref target="RFC7871"/> in four
places.</t>
      <ol spacing="normal" type="1"><li>
          <t>It answers a query whose ECS information it does not use, where
<xref section="7.1.1" sectionFormat="of" target="RFC7871"/> and <xref section="7.5" sectionFormat="of" target="RFC7871"/>
recommend REFUSED.  <xref target="relationship-to-ecs"/> states that rule and the
precedent <xref section="7.5" sectionFormat="of" target="RFC7871"/> sets for it by exempting a query
that provides 0 address bits from refusal.</t>
        </li>
        <li>
          <t>It excludes entries obtained using ECS from lookups for clients that
did not opt in.  <xref target="caching"/> states that rule, which is stricter than
<xref section="7.3.2" sectionFormat="of" target="RFC7871"/> and serves the purpose that section
gives for its own.</t>
        </li>
        <li>
          <t>It reads the condition that scopes the response requirements of
<xref section="7.2.2" sectionFormat="of" target="RFC7871"/> per query.  <xref target="relationship-to-ecs"/>
quotes that condition and explains what follows from the reading.</t>
        </li>
        <li>
          <t>It forwards nothing when it receives an unroutable address from a
client, where <xref section="11.3" sectionFormat="of" target="RFC7871"/> recommends treating that
address as the resolver's own identity.  This behavior is documented
under <xref target="resolver-behavior"/>.</t>
        </li>
      </ol>
      <t>Whether these warrant an Updates relationship with <xref target="RFC7871"/> is
recorded in <xref target="open-issues"/>.</t>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>A resolver that does not implement this option ignores it and answers as
it would have anyway, because <xref section="6.1.2" sectionFormat="of" target="RFC6891"/> requires that
"Any OPTION-CODE values not understood by a responder or requestor <bcp14>MUST</bcp14>
be ignored".  Clients and resolvers therefore need not be upgraded
together.</t>
      <t>An operator that turns this option on changes what its existing clients
receive.  A client that sends an ECS option alone no longer has its
address information forwarded, and receives untailored answers until it
also sends this option.  <xref section="5" sectionFormat="of" target="RFC7871"/> leaves that choice
with the resolver.</t>
      <t>A client can discover whether a resolver implements this option by
sending it and looking at the response, which costs one query and is
described in <xref target="resolver-behavior"/>.  That is sufficient for most
purposes.</t>
      <t>Such a resolver may still forward the client's address information,
including for the query used as a probe.  A client probing a resolver it
has not used before <bcp14>SHOULD</bcp14>
include an ECS option with SOURCE PREFIX-LENGTH 0.
<xref section="7.1.2" sectionFormat="of" target="RFC7871"/> obliges a resolver that uses ECS to honor
that opt-out, and a resolver implementing this option takes the smallest
limit present, so neither forwards anything.  The response still shows
whether the option is supported, and a second query without the ECS
option reveals the resolver's own maximum.</t>
      <t>Where a resolver publishes information about itself using DNS Resolver
Information <xref target="RFC9606"/>, support for this option would be a natural
thing to advertise there.  Defining such a key is left to future work,
since the response already gives clients an easy way to find out.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The value in a response is the resolver's own statement about what it
forwarded, and DNSSEC does not protect it, since OPT records are not
signed (<xref section="9" sectionFormat="of" target="RFC7871"/>).  An encrypted transport keeps that
value from being altered in transit and does not make it accurate.  A
resolver can forward more address bits than the client permitted and
report a smaller number, which the client can detect only by observing
what authoritative servers receive.  This option is a request to a
resolver that the client has already trusted with every query it sends,
and it gives no protection against a resolver that is hostile or
compromised.</t>
      <t>On an unencrypted transport, an on-path attacker can strip this option,
add it, or change its value.  Stripping it leaves the resolver forwarding
nothing.  Adding it, or raising the value, forwards address bits the
client did not offer.  The same attacker can change the value in the
response, so a client on an unencrypted transport cannot rely on it.  A
client that needs its limit respected <bcp14>SHOULD</bcp14> use an encrypted transport
such as <xref target="RFC7858"/>, <xref target="RFC8484"/>, or <xref target="RFC9250"/>.</t>
      <t>A client that remembers whether a resolver supports this option is
trusting a single response, which an on-path attacker can alter or forge.
Such a client <bcp14>SHOULD</bcp14> confirm support over an encrypted transport.</t>
      <t>An attacker can send this option from forged source addresses, which
subjects a resolver that would otherwise forward nothing to the cache
pollution described in <xref section="11.3" sectionFormat="of" target="RFC7871"/>.</t>
      <t>A resolver that implements this option and serves signaling and
non-signaling clients from one cache, without distinguishing the entries
obtained using ECS, returns tailored answers to clients that did not opt
in, and no field in the response marks an answer as tailored.  The
requirement in <xref target="caching"/> is therefore part of implementing this
option.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Under <xref target="RFC7871"/>, a client of an ECS-enabled resolver has its address
information forwarded unless it opts out.  Under this document, a
resolver forwards nothing unless the client asks.</t>
      <t>For a client that opts in, the analysis in <xref section="11" sectionFormat="of" target="RFC7871"/>
applies unchanged, with one addition that the client can set the limit
without supplying an address, as <xref target="relationship-to-ecs"/> describes.  The
forwarded prefix reaches every authoritative server to which the resolver
sends ECS, along with anyone able to observe that traffic.
<xref section="12.1" sectionFormat="of" target="RFC7871"/> bounds that set, recommending that a
resolver omit the option toward nameservers that did not return it and
never send it to root, top-level and effective top-level domain servers.
A client
should set the shortest limit that still yields useful answers, and
should not treat a short prefix as anonymous.</t>
      <t>On an unencrypted transport, anyone on the path can see that a query
includes this option, which marks the client as one that implements this
document.  The one-octet form also reveals the client's limit.  Neither
identifies a client on its own.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign an option code from the "DNS EDNS0 Option
Codes (OPT)" registry in the "Domain Name System (DNS) Parameters"
registry group.  Values in the range 1 to 65000 in that registry are
assigned under the Expert Review policy of
<xref section="4.5" sectionFormat="of" target="RFC8126"/>.</t>
      <t>That registry also sets a range aside for local and experimental use.
This document does not take a value from it.
<xref section="4.2" sectionFormat="of" target="RFC8126"/> says of such a range that assignments from it
"are not generally useful for broad interoperability", and that "Unless
the registry explicitly allows it, it is not appropriate for documents to
select explicit values from registries or ranges with this policy."  An
assigned code point can be implemented in released software.</t>
      <table>
        <name>EDNS(0) Option Code Requested</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Name</th>
            <th align="left">Status</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">edns-client-subnet-opt-in</td>
            <td align="left">Optional</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7871" target="https://www.rfc-editor.org/info/rfc7871">
          <front>
            <title>Client Subnet in DNS Queries</title>
            <author fullname="C. Contavalli" initials="C." surname="Contavalli"/>
            <author fullname="W. van der Gaast" initials="W." surname="van der Gaast"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes an Extension Mechanisms for DNS (EDNS0) option that is in active use to carry information about the network that originated a DNS query and the network for which the subsequent response can be cached. Since it has some known operational and privacy shortcomings, a revision will be worked through the IETF for improvement.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7871"/>
          <seriesInfo name="DOI" value="10.17487/RFC7871"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9499" target="https://www.rfc-editor.org/info/rfc9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
        <reference anchor="RFC6891" target="https://www.rfc-editor.org/info/rfc6891">
          <front>
            <title>Extension Mechanisms for DNS (EDNS(0))</title>
            <author fullname="J. Damas" initials="J." surname="Damas"/>
            <author fullname="M. Graff" initials="M." surname="Graff"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
              <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="75"/>
          <seriesInfo name="RFC" value="6891"/>
          <seriesInfo name="DOI" value="10.17487/RFC6891"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7314" target="https://www.rfc-editor.org/info/rfc7314">
          <front>
            <title>Extension Mechanisms for DNS (EDNS) EXPIRE Option</title>
            <author fullname="M. Andrews" initials="M." surname="Andrews"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document specifies a method for secondary DNS servers to honour the SOA EXPIRE field as if they were always transferring from the primary, even when using other secondaries to perform indirect transfers and refresh queries.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7314"/>
          <seriesInfo name="DOI" value="10.17487/RFC7314"/>
        </reference>
        <reference anchor="RFC7828" target="https://www.rfc-editor.org/info/rfc7828">
          <front>
            <title>The edns-tcp-keepalive EDNS0 Option</title>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="R. Bellis" initials="R." surname="Bellis"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>DNS messages between clients and servers may be received over either UDP or TCP. UDP transport involves keeping less state on a busy server, but can cause truncation and retries over TCP. Additionally, UDP can be exploited for reflection attacks. Using TCP would reduce retransmits and amplification. However, clients commonly use TCP only for retries and servers typically use idle timeouts on the order of seconds.</t>
              <t>This document defines an EDNS0 option ("edns-tcp-keepalive") that allows DNS servers to signal a variable idle timeout. This signalling encourages the use of long-lived TCP connections by allowing the state associated with TCP transport to be managed effectively with minimal impact on the DNS transaction time.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7828"/>
          <seriesInfo name="DOI" value="10.17487/RFC7828"/>
        </reference>
        <reference anchor="RFC6890" target="https://www.rfc-editor.org/info/rfc6890" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6890.xml">
          <front>
            <title>Special-Purpose IP Address Registries</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
            <author fullname="R. Bonica" initials="R." role="editor" surname="Bonica"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This memo reiterates the assignment of an IPv4 address block (192.0.0.0/24) to IANA. It also instructs IANA to restructure its IPv4 and IPv6 Special-Purpose Address Registries. Upon restructuring, the aforementioned registries will record all special-purpose address blocks, maintaining a common set of information regarding each address block.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="153"/>
          <seriesInfo name="RFC" value="6890"/>
          <seriesInfo name="DOI" value="10.17487/RFC6890"/>
        </reference>
        <reference anchor="RFC7873" target="https://www.rfc-editor.org/info/rfc7873">
          <front>
            <title>Domain Name System (DNS) Cookies</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="M. Andrews" initials="M." surname="Andrews"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>DNS Cookies are a lightweight DNS transaction security mechanism that provides limited protection to DNS servers and clients against a variety of increasingly common denial-of-service and amplification/ forgery or cache poisoning attacks by off-path attackers. DNS Cookies are tolerant of NAT, NAT-PT (Network Address Translation - Protocol Translation), and anycast and can be incrementally deployed. (Since DNS Cookies are only returned to the IP address from which they were originally received, they cannot be used to generally track Internet users.)</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7873"/>
          <seriesInfo name="DOI" value="10.17487/RFC7873"/>
        </reference>
        <reference anchor="RFC9660" target="https://www.rfc-editor.org/info/rfc9660">
          <front>
            <title>The DNS Zone Version (ZONEVERSION) Option</title>
            <author fullname="H. Salgado" initials="H." surname="Salgado"/>
            <author fullname="M. Vergara" initials="M." surname="Vergara"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>The DNS ZONEVERSION option is a way for DNS clients to request, and for authoritative DNS servers to provide, information regarding the version of the zone from which a response is generated. The SERIAL field from the Start of Authority (SOA) resource record (RR) is a good example of a zone's version, and it is the only one defined by this specification. Additional version types may be defined by future specifications.</t>
              <t>Including zone version data in a response simplifies and improves the quality of debugging and diagnostics since the version and the DNS answer are provided atomically. This can be especially useful for zones and DNS providers that leverage IP anycast or multiple backend systems. It functions similarly to the DNS Name Server Identifier (NSID) option described in RFC 5001.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9660"/>
          <seriesInfo name="DOI" value="10.17487/RFC9660"/>
        </reference>
        <reference anchor="RFC9606" target="https://www.rfc-editor.org/info/rfc9606">
          <front>
            <title>DNS Resolver Information</title>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies a method for DNS resolvers to publish information about themselves. DNS clients can use the resolver information to identify the capabilities of DNS resolvers. How DNS clients use such information is beyond the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9606"/>
          <seriesInfo name="DOI" value="10.17487/RFC9606"/>
        </reference>
        <reference anchor="RFC7858" target="https://www.rfc-editor.org/info/rfc7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC8484" target="https://www.rfc-editor.org/info/rfc8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC9250" target="https://www.rfc-editor.org/info/rfc9250">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="I-D.bellis-dnsop-edns-tags" target="https://datatracker.ietf.org/doc/html/draft-bellis-dnsop-edns-tags-01">
          <front>
            <title>DNS EDNS Tags</title>
            <author fullname="Ray Bellis" initials="R." surname="Bellis">
              <organization>Internet Systems Consortium, Inc.</organization>
            </author>
            <author fullname="Alan Clegg" initials="A." surname="Clegg">
              <organization>Internet Systems Consortium, Inc.</organization>
            </author>
            <author fullname="Peter van Dijk" initials="P." surname="van Dijk">
              <organization>PowerDNS.COM B.V.</organization>
            </author>
            <date day="25" month="March" year="2019"/>
            <abstract>
              <t>This document describes EDNS Tags, a mechanism by which DNS clients and servers can transmit an opaque data field which has no defined semantic meaning other than as previously agreed between the client and server.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bellis-dnsop-edns-tags-01"/>
        </reference>
        <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
      </references>
    </references>
    <?line 547?>

<section anchor="alternatives">
      <name>Alternatives Considered</name>
      <t>This document defines a new EDNS(0) option code instead of encoding the
signal in the ECS option, because every such encoding collides with a
rule in <xref target="RFC7871"/>.  This appendix records the encodings considered and
not adopted.</t>
      <t>A client can request forwarding and set a limit without supplying an
address.  The REFUSED guidance in <xref section="7.1.1" sectionFormat="of" target="RFC7871"/> and
<xref section="7.5" sectionFormat="of" target="RFC7871"/>, and the requirement in
<xref section="11.2" sectionFormat="of" target="RFC7871"/> that a response mirror the ECS fields of the
query, apply only to a client-supplied address and thus do not cover such
a query.</t>
      <ul spacing="normal">
        <li>
          <t>A reserved address used as a sentinel, for example an ECS option
containing 127.0.0.1/32 that a resolver would read as an instruction
to substitute the source address it observed.  A resolver acting on it
must either echo the sentinel, which <xref section="7.5" sectionFormat="of" target="RFC7871"/> warns
yields a response that appears tailored for the network named in the
query when it is tailored for another, or echo the address it
substituted, which <xref section="7.3" sectionFormat="of" target="RFC7871"/> has an Intermediate
Nameserver drop because its FAMILY, ADDRESS, and SOURCE PREFIX-LENGTH
do not match the query.  That drop is also a cache-poisoning defense,
as <xref section="11.2" sectionFormat="of" target="RFC7871"/> explains, since an off-path attacker
must match those fields for a forged response to be accepted.  </t>
          <t>
Handling of such an address is unspecified in any case.
<xref section="11.3" sectionFormat="of" target="RFC7871"/> recommends that a resolver treat an
unroutable address as equivalent to its own identity, and
<xref section="7.5" sectionFormat="of" target="RFC7871"/> lists private and unroutable address space
among the reasons to return REFUSED.  At the time of writing, one
large public resolver answered a query containing 203.0.113.0/24 with
REFUSED while another forwarded the same value to the authoritative
server verbatim.</t>
        </li>
        <li>
          <t>A short ADDRESS field.  <xref section="6" sectionFormat="of" target="RFC7871"/> requires ADDRESS to
hold exactly the octets needed for SOURCE PREFIX-LENGTH bits and
recommends FORMERR for a server that receives too few or too many.  An
empty ADDRESS is valid only with SOURCE PREFIX-LENGTH 0, which already
means opt-out.</t>
        </li>
        <li>
          <t>The SCOPE PREFIX-LENGTH field as an extension point.
<xref section="6" sectionFormat="of" target="RFC7871"/> requires it to be set to 0 in queries.</t>
        </li>
        <li>
          <t>A novel FAMILY value.  <xref section="7.1.2" sectionFormat="of" target="RFC7871"/> notes that "at
least one major authoritative server will ignore the option if FAMILY
is not 1 or 2", so such a value might degrade quietly, but that
behavior is unspecified, and the IANA Address Family Numbers registry
is not the place to record a DNS signaling convention.</t>
        </li>
        <li>
          <t>An EDNS header flag bit.  The EDNS Header Flags registry holds few
bits and assigns them under Standards Action, which does not fit an
experimental client preference.</t>
        </li>
        <li>
          <t>A bare opt-in with no one-octet form.  The zero-length form defined in
<xref target="option-format"/> serves most clients, but on its own it leaves a
client that wants a limit nowhere to put one, because an ECS option
requires an address that client may not have, as
<xref target="relationship-to-ecs"/> describes.</t>
        </li>
        <li>
          <t>A wider payload with a family selector and a limit per family.  A
client cannot predict the family it will be seen as coming from, and
the extra fields add nothing beyond sending a different value per
family.</t>
        </li>
      </ul>
      <t>The closest prior art is EDNS-Client-Tag and EDNS-Server-Tag
<xref target="I-D.bellis-dnsop-edns-tags"/>, an opaque client-to-server signal with a
response counterpart, which has the same shape as this design.  That work
was not completed.</t>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>This section records decisions that are provisional in this revision.  It
will be removed before publication.</t>
      <ol spacing="normal" type="1"><li>
          <t>Whether a response to a query that included this option should always
include it, as <xref target="resolver-behavior"/> requires, or should omit it
where the resolver forwards nothing.  Always including it lets a
client tell a resolver that declined from one that does not implement
the option, at the cost of one octet in every such response.</t>
        </li>
        <li>
          <t>Whether the reported value should be the effective prefix length, as
specified here, or the number of address bits the resolver forwarded
while answering that query.  The two differ when the answer comes
from cache.</t>
        </li>
        <li>
          <t>Whether a malformed option should be treated as absent, as
<xref target="resolver-behavior"/> specifies, or should draw a FORMERR, which
<xref target="RFC9660"/> requires for its own option and
<xref section="6" sectionFormat="of" target="RFC7871"/> recommends for a malformed ECS option.</t>
        </li>
        <li>
          <t>Whether the condition in <xref section="7.2.2" sectionFormat="of" target="RFC7871"/>, "When an
Intermediate Nameserver uses ECS", is read per query or per server.
<xref target="relationship-to-ecs"/> reads it per query, which lets a resolver
answer a query that includes an ECS option without returning one.</t>
        </li>
        <li>
          <t>Whether the differences listed in <xref target="deviations"/> warrant an Updates
relationship with <xref target="RFC7871"/>.  None of them contradicts a
requirement of that document, which is why this revision declares no
such relationship.</t>
        </li>
        <li>
          <t>The intended status is Experimental and this revision defines no
experiment.  A later revision should state what is being evaluated
and what would count as success, and should carry an implementation
status section as <xref target="RFC7942"/> describes once a reference
implementation exists.</t>
        </li>
        <li>
          <t>The registry name requested in the IANA Considerations and the
human-readable name of the option are provisional.</t>
        </li>
      </ol>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6V92XbcSJrefTxFmLroqp5MDkmpVJLOeHpYEuXSTJWkFqlp
9/HxRWQiyEQLCWRjIZWmqp/Fz+In87/GAiApld19WCKRQCCWf/n+NZfLpenL
vvIv7NHLqvR1b9/t+uWb2l6WN7WryvrGXjetvXj19tLKDZfDqvb9kXGrVetv
4cGLl+EzfvjIFM26dlsYtWjddb+8dm3bfNqUy6Lumt3Sr7tlA3eW9fLkxKxd
72+adv/C+s870/Wtd9sX9s3F1WtT7toXtm+Hrj87OXl+cmYcfAif1b1vYQ7m
k9/fNW3xwli7tDBF+vci/PIyXsgnT5d3bXnr1nv6nWdj3NBvmpaHK+vuhf3p
2L6WucNFa3lRP7mV+5R/0LQ3L+yfB1c8pz/XzVD3uKS3vt/4tnJ10dEHfuvK
6oVd4Qj/pttyrFOid/77sb1qiiJ53783mzpeO/Sqj3XZ+8Je9rCfnW2u7fnW
t+Xape/9Ww+j/Nvf8WF6qVkul9atYNPdGv6a7pT9Dnbxe1v5vrPOtn49tF15
6+G3rqlufWs7Xxd259oe3+jMmh7+Q2fhWTiaT9YVBdzb2b6xvLslzA9H6HwL
z3cLe7cp1xvbw/yA0GC3yta4uruDz/Chsj+29jy8D0ZeN/V1eTO0MExT28Kv
ywLWe7ehnYb7bdHA312zQMo1Hh7aW54WjO56mjHMr0H6wIPHUWDuJaywuavh
bR9ev7Q/PvvxVFfNDxu41TYDTaf7hIwBp9V7VxCDONvB2oAsgaz8dfkZJvz3
oYRZ44rC6xvTDbtdtaeLYWc2TeftCt8P5A0b8cnX9rpttro1OgO78psSdtvZ
t+dXhl76n+/f8nLrpref6ubu2JirTdnBxfWwxWcKmE0NN7haiJy2UwYs63U1
FPwpnv13J9/rjpQ1nObfB9w8PLruE805HDtcg2XfubagjdO1lDVc3dLJLGDQ
wq5h5KHzhnZehoZnq3ILB7Vp7uzW1fvwOG1C9h55SYezNuFqud1VHpeHx9Bn
69UHcEc2Kr5cSgAmbBjRLr6OJ8YzbmrPdBJuC29D4gKx2MixGn4MpvauTqas
i8Glw101U7rMoOOx7xxOhkjeF4HcHU0HqSG5CRlCx0Q6L/vNxlfFMfPutiyK
yhvzCIVi2xTDGqc0y8n39/8FKBsJ+7ffvsbQTsjYAGNEAv5/YGs4e9w1oPyU
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

-->

</rfc>
