BIND 10 trac2776, updated. 8094aaa11df22d79f338539b338e07bd8f950117 [2776] Provide a proposal for the design

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Mar 5 09:09:15 UTC 2013


The branch, trac2776 has been updated
       via  8094aaa11df22d79f338539b338e07bd8f950117 (commit)
      from  da274764a6096182c8a64b5f66cfecaa715a470c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8094aaa11df22d79f338539b338e07bd8f950117
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Tue Mar 5 10:07:42 2013 +0100

    [2776] Provide a proposal for the design
    
    As a result of the experiment, come to the conclusion the receptionist
    is easy enough to implement, flexible enough and fast enough to try and
    implement it.

-----------------------------------------------------------------------

Summary of changes:
 .../resolver/02-mixed-recursive-authority-setup    |   18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

-----------------------------------------------------------------------
diff --git a/doc/design/resolver/02-mixed-recursive-authority-setup b/doc/design/resolver/02-mixed-recursive-authority-setup
index c0c11c4..33750a5 100644
--- a/doc/design/resolver/02-mixed-recursive-authority-setup
+++ b/doc/design/resolver/02-mixed-recursive-authority-setup
@@ -115,7 +115,9 @@ Disadvantages
 
  * Need to set up another module (not a problem if we have inter-module
    dependencies in b10-init)
- * Possible performance impact
+ * Possible performance impact. However, experiments show this is not an issue,
+   and the receptionist can actually increase the throughput with some tuning
+   and the increase in RTT is not big.
 
 Implementation ideas
 ~~~~~~~~~~~~~~~~~~~~
@@ -127,10 +129,22 @@ Implementation ideas
    kernel (like a length of block of messages, it is read at once, then they
    are all parsed one by one, the whole block of answers is sent back).
  * A module creates a listening socket (UNIX by default) on startup and
-   contacts all the receptionists. It sends ACL match for the packets to send
+   contacts all the receptionists. It sends what kind of packets to send
    to the module and the address of the UNIX socket. All the receptionists
    connect to the module. This allows for auto-configuring the receptionist.
  * The queries are sent from the receptionist in batches, the answers are sent
    back to the receptionist in batches too.
  * It is possible to fine-tune and use OS-specific tricks (like epoll or
    sending multiple UDP messages by single call to sendmmsg).
+
+Proposal
+--------
+
+Implement the receptionist in a way we can still work without it (not throwing
+the current UDPServer and TCPServer in asiodns away).
+
+The way we handle xfrout and DDNS needs some changes, since we can't forward
+sockets for the query. We would implement the receptionist protocol on them,
+which would allow the receptionist to forward messages to them. We would then
+modify auth to be able to forward the queries over the receptionist protocol,
+so ordinary users don't need to start the receptionist.



More information about the bind10-changes mailing list