BIND 10 #679: More clever switching of listening addresses and ports

BIND 10 Development do-not-reply at isc.org
Wed Feb 29 09:41:50 UTC 2012


#679: More clever switching of listening addresses and ports
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  shane
  vorner                             |                Status:  assigned
                       Type:         |             Milestone:  New Tasks
  enhancement                        |            Resolution:
                   Priority:  major  |             Sensitive:  0
                  Component:         |           Sub-Project:  DNS
  Unclassified                       |  Estimated Difficulty:  0.0
                   Keywords:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by vorner):

 * owner:  vorner => shane
 * milestone:   => New Tasks


Comment:

 As I just looked at the code, it is still valid, sockets are first closed
 and then created (requested from the socket creator) first.

 However, with socket creator, it should be easier to accomplish the goal ‒
 we can simply do this:
  * First, ask for all the socket file descriptors of the new
 configuration. This is the operation which will fail most probably. Also,
 if there's a common address+port between the new and old configuration, we
 get another copy, which makes the socket alive during the operation, so we
 don't need to ask the OS for it again and we don't lose any packets.
  * Then replace the old sockets with new ones. This should generally be
 safe.
  * Close the old sockets and return them to the socket creator/boss. If
 they are no longer used, they are closed there as well. If we have a
 different copy of the same one, they are preserved because of them.

-- 
Ticket URL: <http://bind10.isc.org/ticket/679#comment:3>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list