[bind10-dev] recursor cache requirements - input required

Shane Kerr shane at isc.org
Fri Dec 10 15:52:02 UTC 2010


Michal,

On Thu, 2010-12-09 at 10:49 +0100, Michal 'vorner' Vaner wrote:
> > The compression technique involve pointers to absolute offsets in
> the message.  If an RRset is found in more than one message,
> (potentially) we will have to have one compressed version of the RRset
> for each message it is in.  It may well be simpler to cache the wire
> format of each message as-is and create associated index structures
> mapping it to the constituent RRsets (and vice-versa).  Then if any of
> the RRsets is updated (other than a TTL update that we can explicitly
> write back into the message), drop the message and re-query.
> 
> Again, I think that storing wire format here, deep inside the application, does
> not sound right to me. The cache will interact with other parts inside and the
> other parts expect the data to be parsed. I doubt we ever want to send the same
> message as we received, so even when sending we need a parsed versions of RRsets
> and build a new message of it.

The problem AIUI is that name compression is an expensive process, so
worthy of optimization. While it is a bit "icky", it is for a real
benefit.

--
Shane




More information about the bind10-dev mailing list