I thought of another consideration in the reuse-vs-new-rr discussion...
that is "additional" or "helper" records. Usually when you do an MX query,
you get the answer in the ANSWER section (like example.com IN MX 0
mail1.example.com) and you get additional information in the ADDITIONAL
section (such as mail1.example.com IN A 12.34.5.6)
My understanding is that the program actually asking for the name doesn't
read in the additional information at the same exact instant (because the
function only allows one return type) but the cache on the server or itself
or the first resolver in line keeps the additional information in the cache
so it doesn't have to ask again.
So. If we do define a new RR type, we have the advantage of defining what
additional/helper records should be looked up and passed along in the same
request packet. If we end up recycling TXT or some other type, we have to
accept the default server behavior and probably not get free info
piggy-backed on the first query result.
Now, I really don't think that the total amount of DNS queries is going to
stack up to a measureable amount, at least not when compared to the TCP
session started by the email itself. I would much rather fire off 2-5 UDP
DNS queries, if it means I have a chance of terminating the TCP connection
early :) I just wanted to point out one small advantage that a new RR type
might have.
--
Greg Connor <gconnor(_at_)nekodojo(_dot_)org>