[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