BIND 10 #1608: implement findAdditional() for in memory data source

BIND 10 Development do-not-reply at isc.org
Thu Jan 19 06:55:31 UTC 2012


#1608: implement findAdditional() for in memory data source
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  major         |                    Milestone:  Year
           Component:  data source   |  3 Task Backlog
           Sensitive:  0             |                     Keywords:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 This is a subtask for "Pre-establish shortcuts for additional section
 processing" described in
 https://lists.isc.org/pipermail/bind10-dev/2012-January/002985.html

 It depends on #1605 and #1607.

 In this task we extend the (tentatively named) `RBNodeRRset` so that
 it stores a shortcut to the RBNode corresponding to its each RDATA.
 For example, an NS `RBNodeRRset` maintains a list of pointers to the
 RBNodes corresponding to the NS names of its RDATAs.  In our current
 implementation this only happens for NS and MX (in future we should
 extend and generalize it).

 In my experimental implementation, I built a tentative list of all NS
 and MX RRsets while loading the zone content, and once the zone is
 built, build the additional pointer list for each NS and MX RRset
 stored in the tentative list.  Then release the list.  This
 tentatively requires more memory, so if there's a simpler way to build
 it more incremental, that would be nice.

 On top of this setup, the in memory version of findAdditional() checks
 the pointers to the RBNodes, and search for requested types of RRsets
 at each node.  Then push all found RRsets to the result vector and
 return.

 This task completes the entire shortcut feature.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1608>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list