BIND 10 #1450: DHCP benchmarking utility: revamping design

BIND 10 Development do-not-reply at isc.org
Thu Dec 8 16:14:49 UTC 2011


#1450: DHCP benchmarking utility: revamping design
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  fdupont
  fdupont                            |                Status:  assigned
                       Type:         |             Milestone:  Sprint-
  enhancement                        |  DHCP-20111221
                   Priority:  major  |            Resolution:
                  Component:  dhcp   |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DHCP
            Defect Severity:  N/A    |  Estimated Difficulty:  20
Feature Depending on Ticket:         |           Total Hours:  20
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by stephen):

 Reviewed commit 6f615f4d947042151a35f8e8184564a0cd08052c

 Specific points:

 I suggest that the #define DHCPxx are placed into a separate header file.
 Ultimately the code will use the same values but from a header files used
 in the other DHCP code (thus having all the definitions in one place).

 I suggest that the ISC_TAILQ macros are also placed into a separate header
 file, as they tend to detract from the content of the file.

 Could we have a brief description of the data structures used?  I can see
 that there is a global linked list and a linked list used as a hash table
 but why there are there is not clear.

 Do we have a reference as to how the randomisation performed - it's beyond
 a simple call to random().

 Can we have a brief description on how to use template files?

 For safety, the automatic variables should be initialized when declared.
 I have tried to use perfdhcp between two of my (Ubuntu) virtual machines
 with the command:
 {{{
 ./perfdhcp -4 -i 192.168.7.100
 }}}
 ... and it failed with
 {{{
 bad server=192.168.7.100: Bad value for ai_flags
 }}}
 I ''think'' this is due to the fact that "flags" declared in main() has
 not been initialised.  It does not appear to be set in all paths through
 the code, yet is passed to getserveraddr() where it is ORed with what
 appear to be valid values and passed to getaddrinfo().

 The code does not conform to the BIND 10 coding or commenting standards.
 However, don't worry about this - I'll take out a ticket and add the
 formatting and comments after you finish phase 2.  However, it would be
 useful if you could add a comment that gives a brief description of each
 function.

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


More information about the bind10-tickets mailing list