I am the assigned Gen-ART reviewer for this draft. The General Area
Review Team (Gen-ART) reviews all IETF documents being processed
by the IESG for the IETF Chair. Please wait for direction from your
document shepherd or AD before posting a new version of the draft.
For more information, please see the FAQ at
<http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
Document: draft-ietf-dnsop-edns-client-subnet-04
Reviewer: Russ Housley
Review Date: 2015-12-11
IETF LC End Date: 2015-12-21
IESG Telechat date: unknown
Summary: Almost Ready
Major Concerns:
In Section 6, the figure includes a line that begins with "7:". This
is incorrect. It should begin with "8:".
Section 7.2.1 ends with: "Implementations SHOULD document their chosen
behavior." I have no objection to such documentation, but some advice
about where someone might find it would be useful. I do not think you
are asking each implementation to write an Informational RFC. Further,
the use of "SHOULD" in this sentence has nothing to do with the normal
RFC 2119 usage, which applies to the action taken by an implementation.
Section 7.5 says:
Intermediate Nameservers supporting ECS MUST forward options with
SOURCE PREFIX-LENGTH set to 0 (that is, completely anonymized). Such
options MUST NOT be replaced with more accurate address information.
An Intermediate Nameserver MAY also forward ECS options with actual
address information. This information MAY match the source IP
address of the incoming query, and MAY have more or fewer address
bits than the Nameserver would normally include in a locally
originated ECS option.
These two paragraphs appear to contradict each other. I cannot figure
out what an Intermediate Nameservers that supports forwarding of ECS
options ought to do with regard to source address information.
Please divide the references into normative and informative. The URIs
should be informative references. URIs must be stable references, and
I do not think that [4] qualifies.
Minor Concerns:
The last paragraph of the Introduction provides information that is
useful to someone doing a review. However, it is not clear to me that
this information belongs in the Informational RFC. I think that it
would be sufficient to say:
At least a dozen different client and server implementations have been
written based on earlier versions of this specification. The protocol
is in active production use today. While the implementations
interoperate, there is varying behaviour around edge cases that were
poorly specified. Known incompatibilities are described in this
document, and the authors believe that it is better to describe the
system as it is working today, even if not everyone agrees with the
details of the original specification [1]. The alternative is an
undocumented and proprietary system.
If you accept this approach, then you might also look for "original
draft" elsewhere in the document ans make a compatible change.
In Section 6, I think it would be useful to say that the SCOPE
PREFIX-LENGTH in a response MUST be less than or equal to the SOURCE
PREFIX-LENGTH.
In Section 7.1.1, can you add a sentence or reference to explain "lame
delegation"? I recognize that this type of error results when a name
server is designated as the authoritative server for a domain name and
that server does not have authoritative data.
Section 7.4 says: "Several other implementations, however, do not
support being able to mix positive and negative answers, and thus
interoperability is a problem." Then, the next paragraph says that
this topic will be revisited in a future specification. Is there any
advice that the authors can share as a step toward interoperability
that would be useful for implementers until the future specification
comes about?
Other Editorial Comments:
There are many places in the document where is says: "This draft ...".
These should be changed to "This document" or "This specification" in
preparation for publication as an Informational RFC.
In Section 4, some of the terms being defined are followed by a colon,
and others are not. Please be consistent. I prefer the inclusion of
the colon.
In Section 7.5, it says:
It is important that any Intermediate Nameserver that forwards ECS
options received from their clients MUST fully implement the caching
behaviour described in Section 7.3.
To me, "It is important that" and "MUST" are redundant.
In Section 11.3, it says:
o Recursive Resolvers MUST never send an ECS option with a SOURCE
PREFIX-LENGTH providing more bits in the ADDRESS than they are
willing to cache responses for.
I think it would be netter to reword this as a MUST NOT statement.