BIND 10 trac2307, updated. b2622caaab3326b8fafb6d16d5ee117aa93b9776 [2307] makefile generate manual and add start of perfdhcp man page
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Sep 25 16:49:04 UTC 2013
The branch, trac2307 has been updated
via b2622caaab3326b8fafb6d16d5ee117aa93b9776 (commit)
from d84999478ba92ffc94741716d3b6ae8cea91f3fc (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 b2622caaab3326b8fafb6d16d5ee117aa93b9776
Author: Jeremy C. Reed <jreed at isc.org>
Date: Wed Sep 25 11:48:35 2013 -0500
[2307] makefile generate manual and add start of perfdhcp man page
-----------------------------------------------------------------------
Summary of changes:
tests/tools/perfdhcp/Makefile.am | 19 ++-
tests/tools/perfdhcp/perfdhcp.xml | 253 +++++++++++++++++++++++++++++++++++++
2 files changed, 271 insertions(+), 1 deletion(-)
create mode 100644 tests/tools/perfdhcp/perfdhcp.xml
-----------------------------------------------------------------------
diff --git a/tests/tools/perfdhcp/Makefile.am b/tests/tools/perfdhcp/Makefile.am
index c4b82b5..e5834b5 100644
--- a/tests/tools/perfdhcp/Makefile.am
+++ b/tests/tools/perfdhcp/Makefile.am
@@ -41,4 +41,21 @@ perfdhcp_LDADD += $(top_builddir)/src/lib/asiolink/libb10-asiolink.la
# ... and the documentation
-EXTRA_DIST = perfdhcp_internals.dox
\ No newline at end of file
+EXTRA_DIST = perfdhcp_internals.dox
+
+man_MANS = perfdhcp.1
+DISTCLEANFILES = $(man_MANS)
+EXTRA_DIST += $(man_MANS) perfdhcp.xml
+
+if GENERATE_DOCS
+
+perfdhcp.1: perfdhcp.xml
+ @XSLTPROC@ --novalid --xinclude --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $(builddir)/perfdhcp.xml
+
+else
+
+$(man_MANS):
+ @echo Man generation disabled. Creating dummy $@. Configure with --enable-generate-docs to enable it.
+ @echo Man generation disabled. Remove this file, configure with --enable-generate-docs, and rebuild BIND 10 > $@
+
+endif
diff --git a/tests/tools/perfdhcp/perfdhcp.xml b/tests/tools/perfdhcp/perfdhcp.xml
new file mode 100644
index 0000000..bf75bdf
--- /dev/null
+++ b/tests/tools/perfdhcp/perfdhcp.xml
@@ -0,0 +1,253 @@
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ [<!ENTITY mdash "—">]>
+<!--
+ - Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and/or distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<refentry>
+
+ <refentryinfo>
+ <date>September 25, 2013</date>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>perfdhcp</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo>BIND10</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>perfdhcp</refname>
+ <refpurpose>DHCP benchmarking tool</refpurpose>
+ </refnamediv>
+
+ <docinfo>
+ <copyright>
+ <year>2013</year>
+ <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
+ </copyright>
+ </docinfo>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>perfdhcp</command>
+ <arg><option>-v</option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+ <para><command>perfdhcp</command> is a DHCP benchmarking tool.
+ It provides a way of measuring the performance of DHCP servers
+ by generating large amounts of traffic.
+ It is able to test both IPv4 and IPv6 servers.
+ It can time the initial two-packet exchange (DO and SA) and
+ the four-packet exchange (DORA and SARR).
+ </para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <para>The arguments are as follows:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-v</option></term>
+ <listitem><para>
+ Enable verbose logging mode. This enables logging of
+ diagnostic messages at the maximum debug level.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </refsect1>
+
+ <refsect1>
+ <title>EXIT STATUS</title>
+ <para>
+ The <command>perfdhcp</command> utility exits with one of
+ the following values:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>0</term>
+ <listitem><simpara>Complete success.</simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem><simpara>General error.</simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>2</term>
+ <listitem><simpara>An error in the command line
+ arguments.</simpara></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>3</term>
+ <listitem><simpara>One or more exchanges were not successfully
+ completed (and no general failures in operation).</simpara></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>b10-dhcp4</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>b10-dhcp6</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citetitle>BIND 10 Guide</citetitle>.
+ </para>
+ </refsect1>
+
+<!--
+ <refsect1>
+ <title>HISTORY</title>
+ <para>
+ The <command>perfdhcp</command> tool was first implemented
+ by John Dubois in November 2011.
+ </para>
+ </refsect1>
+-->
+
+</refentry><!--
+ - Local variables:
+ - mode: sgml
+ - End:
+-->
+
+<!--
+
+ "perfdhcp [-hv] [-4|-6] [-r<rate>] [-t<report>] [-R<range>] [-b<base>]\n"
+ " [-n<num-request>] [-p<test-period>] [-d<drop-time>] [-D<max-drop>]\n"
+ " [-l<local-addr|interface>] [-P<preload>] [-a<aggressivity>]\n"
+ " [-L<local-port>] [-s<seed>] [-i] [-B] [-c] [-1]\n"
+ " [-T<template-file>] [-X<xid-offset>] [-O<random-offset]\n"
+ " [-E<time-offset>] [-S<srvid-offset>] [-I<ip-offset>]\n"
+ " [-x<diagnostic-selector>] [-w<wrapped>] [server]\n"
+ "\n"
+ "The [server] argument is the name/address of the DHCP server to\n"
+ "contact. For DHCPv4 operation, exchanges are initiated by\n"
+ "transmitting a DHCP DISCOVER to this address.\n"
+ "\n"
+ "For DHCPv6 operation, exchanges are initiated by transmitting a DHCP\n"
+ "SOLICIT to this address. In the DHCPv6 case, the special name 'all'\n"
+ "can be used to refer to All_DHCP_Relay_Agents_and_Servers (the\n"
+ "multicast address FF02::1:2), or the special name 'servers' to refer\n"
+ "to All_DHCP_Servers (the multicast address FF05::1:3). The [server]\n"
+ "argument is optional only in the case that -l is used to specify an\n"
+ "interface, in which case [server] defaults to 'all'.\n"
+ "\n"
+ "The default is to perform a single 4-way exchange, effectively pinging\n"
+ "the server.\n"
+ "The -r option is used to set up a performance test, without\n"
+ "it exchanges are initiated as fast as possible.\n"
+ "\n"
+ "Options:\n"
+ "-1: Take the server-ID option from the first received message.\n"
+ "-4: DHCPv4 operation (default). This is incompatible with the -6 option.\n"
+ "-6: DHCPv6 operation. This is incompatible with the -4 option.\n"
+ "-a<aggressivity>: When the target sending rate is not yet reached,\n"
+ " control how many exchanges are initiated before the next pause.\n"
+ "-b<base>: The base mac, duid, IP, etc, used to simulate different\n"
+ " clients. This can be specified multiple times, each instance is\n"
+ " in the <type>=<value> form, for instance:\n"
+ " (and default) mac=00:0c:01:02:03:04.\n"
+ "-d<drop-time>: Specify the time after which a requeqst is treated as\n"
+ " having been lost. The value is given in seconds and may contain a\n"
+ " fractional component. The default is 1 second.\n"
+ "-E<time-offset>: Offset of the (DHCPv4) secs field / (DHCPv6)\n"
+ " elapsed-time option in the (second/request) template.\n"
+ " The value 0 disables it.\n"
+ "-h: Print this help.\n"
+ "-i: Do only the initial part of an exchange: DO or SA, depending on\n"
+ " whether -6 is given.\n"
+ "-I<ip-offset>: Offset of the (DHCPv4) IP address in the requested-IP\n"
+ " option / (DHCPv6) IA_NA option in the (second/request) template.\n"
+ "-l<local-addr|interface>: For DHCPv4 operation, specify the local\n"
+ " hostname/address to use when communicating with the server. By\n"
+ " default, the interface address through which traffic would\n"
+ " normally be routed to the server is used.\n"
+ " For DHCPv6 operation, specify the name of the network interface\n"
+ " via which exchanges are initiated.\n"
+ "-L<local-port>: Specify the local port to use\n"
+ " (the value 0 means to use the default).\n"
+ "-O<random-offset>: Offset of the last octet to randomize in the template.\n"
+ "-P<preload>: Initiate first <preload> exchanges back to back at startup.\n"
+ "-r<rate>: Initiate <rate> DORA/SARR (or if -i is given, DO/SA)\n"
+ " exchanges per second. A periodic report is generated showing the\n"
+ " number of exchanges which were not completed, as well as the\n"
+ " average response latency. The program continues until\n"
+ " interrupted, at which point a final report is generated.\n"
+ "-R<range>: Specify how many different clients are used. With 1\n"
+ " (the default), all requests seem to come from the same client.\n"
+ "-s<seed>: Specify the seed for randomization, making it repeatable.\n"
+ "-S<srvid-offset>: Offset of the server-ID option in the\n"
+ " (second/request) template.\n"
+ "-T<template-file>: The name of a file containing the template to use\n"
+ " as a stream of hexadecimal digits.\n"
+ "-v: Report the version number of this program.\n"
+ "-w<wrapped>: Command to call with start/stop at the beginning/end of\n"
+ " the program.\n"
+ "-x<diagnostic-selector>: Include extended diagnostics in the output.\n"
+ " <diagnostic-selector> is a string of single-keywords specifying\n"
+ " the operations for which verbose output is desired. The selector\n"
+ " keyletters are:\n"
+ " * 'a': print the decoded command line arguments\n"
+ " * 'e': print the exit reason\n"
+ " * 'i': print rate processing details\n"
+ " * 's': print first server-id\n"
+ " * 't': when finished, print timers of all successful exchanges\n"
+ " * 'T': when finished, print templates\n"
+ "-X<xid-offset>: Transaction ID (aka. xid) offset in the template.\n"
+ "\n"
+ "DHCPv4 only options:\n"
+ "-B: Force broadcast handling.\n"
+ "\n"
+ "DHCPv6 only options:\n"
+ "-c: Add a rapid commit option (exchanges will be SA).\n"
+ "\n"
+ "The remaining options are used only in conjunction with -r:\n"
+ "\n"
+ "-D<max-drop>: Abort the test if more than <max-drop> requests have\n"
+ " been dropped. Use -D0 to abort if even a single request has been\n"
+ " dropped. If <max-drop> includes the suffix '%', it specifies a\n"
+ " maximum percentage of requests that may be dropped before abort.\n"
+ " In this case, testing of the threshold begins after 10 requests\n"
+ " have been expected to be received.\n"
+ "-n<num-request>: Initiate <num-request> transactions. No report is\n"
+ " generated until all transactions have been initiated/waited-for,\n"
+ " after which a report is generated and the program terminates.\n"
+ "-p<test-period>: Send requests for the given test period, which is\n"
+ " specified in the same manner as -d. This can be used as an\n"
+ " alternative to -n, or both options can be given, in which case the\n"
+ " testing is completed when either limit is reached.\n"
+ "-t<report>: Delay in seconds between two periodic reports.\n"
+ "\n"
+ "Errors:\n"
+ "- tooshort: received a too short message\n"
+ "- orphans: received a message which doesn't match an exchange\n"
+ " (duplicate, late or not related)\n"
+ "- locallimit: reached to local system limits when sending a message.\n"
+ "\n"
+-->
More information about the bind10-changes
mailing list