BIND 10 #454: Zone cut handling in MemoryZone
BIND 10 Development
do-not-reply at isc.org
Tue Dec 28 09:31:18 UTC 2010
#454: Zone cut handling in MemoryZone
--------------------------+-------------------------------------------------
Reporter: jinmei | Owner: jinmei
Type: task | Status: new
Priority: major | Milestone: y2 12 month milestone
Component: data source | Keywords:
Sensitive: 0 | Estimatedhours: 0
Hours: 0 | Billable: 1
Totalhours: 0 | Internal: 0
--------------------------+-------------------------------------------------
Copied from the sprint page:
This is not trivial because we need to separate the delegation case and
the glue case for names at or under a zone cut (see the review discussion
for trac #447). What BIND 9 does is as follows:
- the RBT is created with a special callback function
- when loading a zone, mark a zone cut node (detecting it by seeing a
DNAME or non-origin NS RR) to indicate the need for calling the callback
- when finding an RRset (or rdataset in the BIND 9 terminology), if the
rbt search reaches a marked node, it calls the callback function. The
callback searches the node for NS or DNAME, and if found, records the fact
in a search state.
- if the RBT search is performed in the normal (= not "GLUE OK") mode,
and if the callback found a delegation RR, the search stops at that node
- the "zone find" function (that performed the RBT search) recognizes the
callback is called, and simply returns the callback result with the code
of "DELEGATION"
- on the other hand, if we need to find a glue A/AAAA RRs, the "zone
find" function performs the RBT search in the "GLUE OK" mode. In that
mode, even if the search encounters a callback node, the search is
continued for a best match. If an exact match node is found and it has
the requested type of RRs, these RRs will be returned; otherwise the found
delegation will be returned.
If we can come up with a better idea quickly we can do that. Otherwise,
we'll port this logic for our initial implementation. I'd also separate
the "GLUE OK" case and pure delegation case into separate sub tasks to
keep the amount of development/review minimal.
--
Ticket URL: <http://bind10.isc.org/ticket/454>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list