[dnstap] dnstap.proto updates: redundant fields and query_zone changes
Robert Edmonds
edmonds at isc.org
Sun Jun 30 00:39:02 UTC 2013
I've just pushed two more changes to the dnstap protobuf schema.
The first is to remove the following fields from the Message type:
message_id
query_name
query_type
query_class
The same data will be present in the query_message or response_message
in virtually every instance except for the very rare occurrence of
responses lacking a question section, so we can save a few bytes and CPU
cycles by omitting these fields. (Downstream consumers will be slightly
inconvenienced by having to parse the DNS message.) More importantly, a
dnstap-enabled server can now emit Messages without having to parse the
question section. For instance, Unbound sends and receives DNS messages
in a few cases without actually parsing the question section, e.g. ACL
processing and a few early sanity checks. So this eliminates the
dilemma of generating some Messages with the query_* fields present and
some without vs. doing unneeded work parsing the question section in
certain cases.
The second change is to remove the requirement that the query_zone field
be case-folded. (Downstream consumers that care about the case of this
field should downcase it themselves beforehand.) This change makes it
easier to write a dnstap-enabled server since this now makes it
unnecessary to rewrite the case when populating this field. I've also
clarified that this field is a wire-format DNS domain name.
--
Robert Edmonds
edmonds at isc.org
More information about the dnstap
mailing list