diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 14:53:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 14:53:22 +0000 |
commit | 52c021ee0b0c6ad2128ed550c694aad0d11d4c3f (patch) | |
tree | 83cf8627b94336cf4bee7479b9749263bbfd3a06 /doc/sphinx/_build/man/perfdhcp.8 | |
parent | Initial commit. (diff) | |
download | isc-kea-52c021ee0b0c6ad2128ed550c694aad0d11d4c3f.tar.xz isc-kea-52c021ee0b0c6ad2128ed550c694aad0d11d4c3f.zip |
Adding upstream version 2.5.7.upstream/2.5.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/sphinx/_build/man/perfdhcp.8')
-rw-r--r-- | doc/sphinx/_build/man/perfdhcp.8 | 596 |
1 files changed, 596 insertions, 0 deletions
diff --git a/doc/sphinx/_build/man/perfdhcp.8 b/doc/sphinx/_build/man/perfdhcp.8 new file mode 100644 index 0000000..46544fa --- /dev/null +++ b/doc/sphinx/_build/man/perfdhcp.8 @@ -0,0 +1,596 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "PERFDHCP" "8" "Mar 22, 2024" "2.5.7" "Kea" +.SH NAME +perfdhcp \- DHCP benchmarking tool +.SH SYNOPSIS +.sp +\fBperfdhcp\fP [\fB\-1\fP] [\fB\-4\fP | \fB\-6\fP] [\fB\-A\fP encapsulation\-level] [\fB\-b\fP base] [\fB\-B\fP] [\fB\-c\fP] [\fB\-C\fP separator] [\fB\-d\fP drop\-time] [\fB\-D\fP max\-drop] [\-e lease\-type] [\fB\-E\fP time\-offset] [\fB\-f\fP renew\-rate] [\fB\-F\fP release\-rate] [\fB\-g\fP thread\-mode] [\fB\-h\fP] [\fB\-i\fP] [\fB\-I\fP ip\-offset] [\fB\-J\fP remote\-address\-list\-file] [\fB\-l\fP local\-address|interface] [\fB\-L\fP local\-port] [\fB\-M\fP mac\-list\-file] [\fB\-n\fP num\-request] [\fB\-N\fP remote\-port] [\fB\-O\fP random\-offset] [\fB\-o\fP code,hexstring] [\fB\-\-or\fP encapsulation\-level:code,hexstring] [\fB\-p\fP test\-period] [\fB\-P\fP preload] [\fB\-r\fP rate] [\fB\-R\fP num\-clients] [\fB\-s\fP seed] [\fB\-S\fP srvid\-offset] [\fB\-\-scenario\fP name] [\fB\-t\fP report] [\fB\-T\fP template\-file] [\fB\-u\fP] [\fB\-v\fP] [\fB\-W\fP exit\-wait\-time] [\fB\-w\fP script_name] [\fB\-x\fP diagnostic\-selector] [\fB\-X\fP xid\-offset] [server] +.SH DESCRIPTION +.sp +\fBperfdhcp\fP is a DHCP benchmarking tool. It provides a way to measure +the performance of DHCP servers by generating large amounts of traffic +from multiple simulated clients. It is able to test both IPv4 and IPv6 +servers, and provides statistics concerning response times and the +number of requests that are dropped. +.sp +The tool supports two different scenarios, which offer certain behaviors to be tested. +By default (the basic scenario), tests are run using the full four\-packet exchange sequence +(DORA for DHCPv4, SARR for DHCPv6). An option is provided to run tests +using the initial two\-packet exchange (DO and SA) instead. It is also +possible to configure \fBperfdhcp\fP to send DHCPv6 RENEW and RELEASE messages +at a specified rate, in parallel with the DHCPv6 four\-way exchanges. By +default, if there is no response received with one second, a response is +considered lost and \fBperfdhcp\fP continues with other transactions. +.sp +A second scenario, called avalanche, is selected via \fB\-\-scenario avalanche\fP\&. +It first sends the number of Discovery or Solicit messages specified by the \fB\-R\fP option; then +a retransmission (with an exponential back\-off mechanism) is used for each simulated client, until all requests are +answered. It generates a report when all clients receive their addresses, or when +it is manually stopped. This scenario attempts to replicate a +case where the server is not able to handle the traffic swiftly +enough. Real clients will assume the packet or response was lost +and will retransmit, further increasing DHCP traffic. This is +sometimes called an avalanche effect, thus the scenario name. +Option \fB\-p\fP is ignored in the avalanche scenario. +.sp +When running a performance test, \fBperfdhcp\fP exchanges packets with +the server under test as quickly as possible, unless the \fB\-r\fP parameter is used to +limit the request rate. The length of the test can be limited by setting +a threshold on any or all of the number of requests made by +\fBperfdhcp\fP, the elapsed time, or the number of requests dropped by the +server. +.SH TEMPLATES +.sp +To allow the contents of packets sent to the server to be customized, +\fBperfdhcp\fP allows the specification of template files that determine +the contents of the packets. For example, the customized packet may +contain a DHCPv6 ORO to request a set of options to be returned by the +server, or it may contain the Client FQDN option to request that the server +perform DNS updates. This may be used to discover performance +bottlenecks for different server configurations (e.g. DDNS enabled or +disabled). +.sp +Up to two template files can be specified on the command line, with each file +representing the contents of a particular type of packet, and the type being +determined by the test being carried out. For example, if testing +DHCPv6: +.INDENT 0.0 +.IP \(bu 2 +With no template files specified on the command line, \fBperfdhcp\fP +generates both Solicit and Request packets. +.IP \(bu 2 +With one template file specified, that file is used as the +pattern for Solicit packets: \fBperfdhcp\fP generates the Request +packets. +.IP \(bu 2 +With two template files given on the command line, the first is +used as the pattern for Solicit packets, and the second as the pattern +for Request packets. +.UNINDENT +.sp +(A similar determination applies to DHCPv4\(aqs DHCPDISCOVER and DHCPREQUEST +packets.) +.sp +The template file holds the DHCP packet, represented as a stream of ASCII +hexadecimal digits; it excludes any IP/UDP stack headers. The +template file must not contain any characters other than hexadecimal +digits and spaces. Spaces are discarded when the template file is parsed; +in the file, \fB12B4\fP is the same as \fB12 B4\fP, which is the same as +\fB1 2 B 4\fP\&. +.sp +The template files should be used in conjunction with the command\-line +parameters which specify offsets of the data fields being modified in +outbound packets. For example, the \fB\-E time\-offset\fP switch specifies +the offset of the DHCPv6 Elapsed Time option in the packet template. +If the offset is specified, \fBperfdhcp\fP injects the current elapsed\-time +value into this field before sending the packet to the server. +.sp +In many scenarios, \fBperfdhcp\fP needs to simulate multiple clients, +each having a unique client identifier. Since packets for each client are +generated from the same template file, it is necessary to randomize the +client identifier (or HW address in DHCPv4) in the packet created from +it. The \fB\-O random\-offset\fP option allows specification of the offset in +the template where randomization should be performed. It is important to +note that this offset points to the end (not the beginning) of the +client identifier (or HW address field). The number of bytes being +randomized depends on the number of simulated clients. If the number of +simulated clients is between 1 and 255, only one byte (to which the +randomization offset points) is randomized. If the number of +simulated clients is between 256 and 65535, two bytes are +randomized. Note that the last two bytes of the client identifier are +randomized in this case: the byte which the randomization offset parameter +points to, and the one which precedes it (random\-offset \- 1). If the +number of simulated clients exceeds 65535, three bytes are +randomized, and so on. +.sp +\fBperfdhcp\fP can simulate traffic from multiple subnets by enabling option +\fB\-J\fP and passing a path to a file that contains v4 or v6 addresses to be +used as relays in generated messages. That enables testing of vast numbers +of Kea shared networks. While testing DHCPv4, Kea should be started with the +\fBKEA_TEST_SEND_RESPONSES_TO_SOURCE\fP environment variable, to force Kea +to send generated messages to the source address of the incoming packet. +.sp +Templates may currently be used to generate packets being sent to the +server in 4\-way exchanges, i.e. Solicit, Request (DHCPv6) and DHCPDISCOVER, +DHCPREQUEST (DHCPv4). They cannot be used when Renew or DHCPRELEASE packets are +being sent. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \fB\-1\fP +Takes the \fBserver\-id\fP option from the first received message. +.TP +.B \fB\-4\fP +Establishes DHCPv4 operation; this is the default. It is incompatible with the +\fB\-6\fP option. +.TP +.B \fB\-6\fP +Establishes DHCPv6 operation. It is incompatible with the \fB\-4\fP option. +.TP +.B \fB\-b basetype=value\fP +Indicates the base MAC or DUID used to simulate different clients. The basetype +may be \(dqmac\(dq or \(dqduid\(dq. (The keyword \(dqether\(dq may alternatively used +for MAC.) The \fB\-b\fP option can be specified multiple times. The MAC +address must consist of six octets separated by single (:) or double +(::) colons; for example: mac=00:0c:01:02:03:04. The DUID value is a +hexadecimal string; it must be at least six octets long and not +longer than 64 bytes, and the length must be less than 128 +hexadecimal digits. For example: duid=0101010101010101010110111F14. +.TP +.B \fB\-d drop\-time\fP +Specifies the time after which a request is treated as having been +lost. The value is given in seconds and may contain a fractional +component. The default is 1. +.TP +.B \fB\-e lease\-type\fP +Specifies the type of lease being requested from the server. It may +be one of the following: +.INDENT 7.0 +.TP +.B \fBaddress\-only\fP +Only regular addresses (v4 or v6) are requested. +.TP +.B \fBprefix\-only\fP +Only IPv6 prefixes are requested. +.TP +.B \fBaddress\-and\-prefix\fP +Both IPv6 addresses and prefixes are requested. +.UNINDENT +.sp +The \fB\-e prefix\-only\fP and \fB\-e address\-and\-prefix\fP forms may not be used +with the \fB\-4\fP option. +.TP +.B \fB\-F release\-rate\fP +Specifies the rate at which DHCPv4 DHCPRELEASE or DHCPv6 Release requests are sent to a server. This value +is only valid when used in conjunction with the exchange rate (given +by \fB\-r rate\fP). Furthermore, the sum of this value and the renew\-rate +(given by \fB\-f rate\fP) must be equal to or less than the exchange +rate value. +.TP +.B \fB\-f renew\-rate\fP +Specifies the rate at which DHCPv4 DHCPREQUEST or DHCPv6 Renew requests are sent to a server. +This value is only valid when used in conjunction with the exchange +rate (given by \fB\-r rate\fP). Furthermore, the sum of this value and +the release\-rate (given by \fB\-F rate\fP) must be equal to or less than the +exchange rate. +.TP +.B \fB\-g thread\-mode\fP +Allows selection of thread\-mode, which can be either \fBsingle\fP or \fBmulti\fP\&. In multi\-thread mode, +packets are received in a separate thread, which allows better +utilisation of CPUs. In a single\-CPU system it is better to run in one +thread, to avoid threads blocking each other. If more than one CPU is +present in the system, multi\-thread mode is the default; otherwise +single\-thread is the default. +.TP +.B \fB\-h\fP +Prints help and exits. +.TP +.B \fB\-i\fP +Performs only the initial part of the exchange: DISCOVER\-OFFER if \fB\-4\fP is +selected, Solicit\-Advertise if \fB\-6\fP is chosen. +.sp +\fB\-i\fP is incompatible with the following options: \fB\-1\fP, \fB\-d\fP, +\fB\-D\fP, \fB\-E\fP, \fB\-S\fP, \fB\-I\fP and \fB\-F\fP\&. In addition, it cannot be +used with multiple instances of \fB\-O\fP, \fB\-T\fP, and \fB\-X\fP\&. +.TP +.B \fB\-J remote\-address\-list\-file\fP +Specifies a text file that includes multiple addresses, and is +designed to test shared networks. If provided, \fBperfdhcp\fP +randomly chooses one of the addresses for each exchange, to generate traffic +from multiple subnets. When testing DHCPv4, it +should be started with the \fBKEA_TEST_SEND_RESPONSES_TO_SOURCE=ENABLE\fP +environment variable; otherwise, \fBperfdhcp\fP will not be able to receive responses. +.TP +.B \fB\-l local\-addr|interface\fP +For DHCPv4 operation, specifies the local hostname/address to use when +communicating with the server. By default, the interface address +through which traffic would normally be routed to the server is used. +For DHCPv6 operation, specifies the name of the network interface +through which exchanges are initiated. +.TP +.B \fB\-L local\-port\fP +Specifies the local port to use. This must be zero or a positive +integer up to 65535. A value of 0 (the default) allows \fBperfdhcp\fP +to choose its own port. +.TP +.B \fB\-M mac\-list\-file\fP +Specifies a text file containing a list of MAC addresses, one per line. If +provided, a MAC address is chosen randomly from this list for +every new exchange. In DHCPv6, MAC addresses are used to +generate DUID\-LLs. This parameter must not be used in conjunction +with the \fB\-b\fP parameter. +.TP +.B \fB\-N remote\-port\fP +Specifies the remote port to use. This must be zero or a positive +integer up to 65535. A value of 0 (the default) allows \fBperfdhcp\fP +to choose the standard service port. +.TP +.B \fB\-o code,hexstring\fP +Forces \fBperfdhcp\fP to insert the specified extra option (or options if +used several times) into packets being transmitted. The code +specifies the option code and the hexstring is a hexadecimal string that +defines the content of the option. Care should be taken as \fBperfdhcp\fP +does not offer any kind of logic behind those options; they are simply +inserted into packets and sent as is. Be careful not to duplicate +options that are already inserted. For example, to insert client +class identifier (option code 60) with a string \(dqdocsis\(dq, use +\(dq\-o 60,646f63736973\(dq. The \fB\-o\fP may be used multiple times. It is +necessary to specify the protocol family (either \fB\-4\fP or \fB\-6\fP) before +using \fB\-o\fP\&. +.TP +.B \fB\-P preload\fP +Initiates preload exchanges back\-to\-back at startup. Must be 0 +(the default) or a positive integer. +.TP +.B \fB\-r rate\fP +Initiates the rate of DORA/SARR (or if \fB\-i\fP is given, DO/SA) exchanges per +second. A periodic report is generated showing the number of +exchanges which were not completed, as well as the average response +latency. The program continues until interrupted, at which point a +final report is generated. +.TP +.B \fB\-R num\-clients\fP +Specifies how many different clients are used. With a value of 1 (the +default), all requests appear to come from the same client. +Must be a positive number. +.TP +.B \fB\-s seed\fP +Specifies the seed for randomization, making runs of \fBperfdhcp\fP +repeatable. This must be 0 or a positive integer. The value 0 means that a +seed is not used; this is the default. +.TP +.B \fB\-\-scenario name\fP +Specifies the type of scenario, and can be \fBbasic\fP (the default) or \fBavalanche\fP\&. +.TP +.B \fB\-T template\-file\fP +Specifies a file containing the template to use as a stream of +hexadecimal digits. This may be specified up to two times and +controls the contents of the packets sent (see the \(dqTemplates\(dq +section above). +.TP +.B \fB\-u\fP +Enables checks for address uniqueness. The lease valid\-lifetime should not be shorter +than the test duration, and clients should not request an address more than once without +releasing it. +.TP +.B \fB\-v\fP +Prints the version of this program. +.TP +.B \fB\-W exit\-wait\-time\fP +Specifies the exit\-wait\-time parameter, which causes \fBperfdhcp\fP to wait for +a certain amount of time after an exit condition has been met, to receive all +packets without sending any new packets. Expressed in microseconds. +If not specified, 0 is used (i.e. exit immediately after exit +conditions are met). +.TP +.B \fB\-w script_name\fP +Specifies the name of the script to be run before/after \fBperfdhcp\fP\&. +When called, the script is passed a single parameter, either \(dqstart\(dq or +\(dqstop\(dq, indicating whether it is being called before or after \fBperfdhcp\fP\&. +.TP +.B \fB\-x diagnostic\-selector\fP +Includes extended diagnostics in the output. This is a +string of single keywords specifying the operations for which verbose +output is desired. The selector key letters are: +.INDENT 7.0 +.TP +.B \fBa\fP +Prints the decoded command\-line arguments. +.TP +.B \fBe\fP +Prints the exit reason. +.TP +.B \fBi\fP +Prints the rate\-processing details. +.TP +.B \fBl\fP +Prints the received leases. +.TP +.B \fBs\fP +Prints the first server ID. +.TP +.B \fBt\fP +When finished, prints timers of all successful exchanges. +.TP +.B \fBT\fP +When finished, prints templates. +.UNINDENT +.TP +.B \fB\-Y seconds\fP +Time in seconds after which \fBperfdhcp\fP starts simulating the client waiting longer for server responses. This increases the +\fBsecs\fP field in DHCPv4 and sends increased values in the \fBElapsed Time\fP option in DHCPv6. Must be used with \fB\-y\fP\&. +.TP +.B \fB\-y seconds\fP +Time in seconds during which \fBperfdhcp\fP simulates the client waiting longer for server responses. This increases +the \fBsecs\fP field in DHCPv4 and sends increased values in the \fBElapsed Time\fP option in DHCPv6. Must be used with \fB\-Y\fP\&. +.UNINDENT +.SH DHCPV4-ONLY OPTIONS +.sp +The following options only apply for DHCPv4 (i.e. when \fB\-4\fP is given). +.INDENT 0.0 +.TP +.B \fB\-B\fP +Forces broadcast handling. +.UNINDENT +.SH DHCPV6-ONLY OPTIONS +.sp +The following options only apply for DHCPv6 (i.e. when \fB\-6\fP is given). +.INDENT 0.0 +.TP +.B \fB\-c\fP +Adds a rapid\-commit option (exchanges are Solicit\-Advertise). +.TP +.B \fB\-A encapsulation\-level\fP +Specifies that relayed traffic must be generated. The argument +specifies the level of encapsulation, i.e. how many relay agents are +simulated. Currently the only supported encapsulation\-level value is +1, which means that the generated traffic is equivalent to the amount of +traffic passing through a single relay agent. +.TP +.B \fB\-\-or encapsulation\-level:code,hexstring\fP +This option is very similar to \fB\-o\fP, only that it forces \fBperfdhcp\fP +to insert the specified extra option (or options if used several times) +into relayed DHCPv6 message at given level of encapsulation (currently +the only supported encapsulation\-level value is 1). The code +specifies the option code and the hexstring is a hexadecimal string that +defines the content of the option. Care should be taken as \fBperfdhcp\fP +does not offer any kind of logic behind those options; they are simply +inserted into packets and sent as is. Please notice that \fBencapsulation\-level:\fP +is optional and if omitted, default encapsulation\-level value 1 is used. +For example, to insert Subscriber identifier (option code 38) with a +value 1234 at first level of encapsulation, use \fB\-\-or 38,31323334\fP +or \fB\-\-or 1:38,31323334\fP\&. The \fB\-\-or\fP may be used multiple times. +It must be used together with \fB\-A\fP\&. +.UNINDENT +.SH TEMPLATE-RELATED OPTIONS +.sp +The following options may only be used in conjunction with \fB\-T\fP and +control how \fBperfdhcp\fP modifies the template. The options may be +specified multiple times on the command line; each occurrence affects +the corresponding template file (see \(dqTemplates\(dq above). +.INDENT 0.0 +.TP +.B \fB\-E time\-offset\fP +Specifies the offset of the \fBsecs\fP field (DHCPv4) or \fBElapsed Time\fP option (DHCPv6) in the +second (i.e. Request) template; must be 0 or a positive integer. A +value of 0 disables this. +.TP +.B \fB\-I ip\-offset\fP +Specifies the offset of the IP address (DHCPv4) in the \fBrequested\-ip\fP +option or \fBIA_NA\fP option (DHCPv6) in the second (Request) template. +.TP +.B \fB\-O random\-offset\fP +Specifies the offset of the last octet to randomize in the template. This +must be an integer greater than 3. The \fB\-T\fP switch must be given to +use this option. +.TP +.B \fB\-S srvid\-offset\fP +Specifies the offset of the \fBserver\-id\fP option in the second (Request) template. +This must be a positive integer, and the switch can only be used +when the template option (\fB\-T\fP) is also given. +.TP +.B \fB\-X xid\-offset\fP +Specifies the offset of the transaction ID (xid) in the template. This must be a +positive integer, and the switch can only be used when the template +option (\fB\-T\fP) is also given. +.UNINDENT +.SH OPTIONS CONTROLLING A TEST +.INDENT 0.0 +.TP +.B \fB\-D max\-drop\fP +Aborts the test immediately if \(dqmax\-drop\(dq requests have been dropped. +Use \fB\-D 1\fP to abort if even a single request has +been dropped. \(dqmax\-drop\(dq must be a positive integer. If \(dqmax\-drop\(dq +includes the suffix \fB%\fP, it specifies the maximum percentage of +requests that may be dropped before aborting. In this case, testing of +the threshold begins after 10 requests are expected to have been +received. +.TP +.B \fB\-n num\-requests\fP +Initiates \(dqnum\-request\(dq transactions. No report is generated until all +transactions have been initiated/waited\-for, after which a report is +generated and the program terminates. +.TP +.B \fB\-p test\-period\fP +Sends requests for \(dqtest\-period\(dq, which is specified in the same manner +as \fB\-d\fP\&. This can be used as an alternative to \fB\-n\fP, or both +options can be given, in which case the testing is completed when +either limit is reached. +.TP +.B \fB\-t interval\fP +Sets the delay (in seconds) between two successive reports. +.TP +.B \fB\-C separator\fP +Suppresses the preliminary output and causes the interim data to +only contain the values delimited by \fBseparator\fP\&. Used in +conjunction with \fB\-t\fP to produce easily parsable +reports at \fB\-t\fP intervals. +.UNINDENT +.SH ARGUMENTS +.INDENT 0.0 +.TP +.B \fBserver\fP +Indicates the server to test, specified as an IP address. In the DHCPv6 case, the +special name \fBall\fP can be used to refer to +\fBAll_DHCP_Relay_Agents_and_Servers\fP (the multicast address FF02::1:2), +or the special name \fBservers\fP to refer to \fBAll_DHCP_Servers\fP (the +multicast address FF05::1:3). The server is mandatory except where +the \fB\-l\fP option is given to specify an interface, in which case it +defaults to \fBall\fP\&. +.UNINDENT +.SH ERRORS +.sp +\fBperfdhcp\fP can report the following errors in the packet exchange: +.INDENT 0.0 +.TP +.B tooshort +A message was received that was too short. +.TP +.B orphans +A message was received which does not match one sent to the server (i.e. +it is a duplicate message, a message that has arrived after an +excessive delay, or one that is just not recognized). +.TP +.B locallimit +Local system limits have been reached when sending a message. +.UNINDENT +.SH EXIT STATUS +.sp +\fBperfdhcp\fP exits with one of the following status codes: +.INDENT 0.0 +.TP +.B 0 +Success. +.TP +.B 1 +General error. +.TP +.B 2 +Error in command\-line arguments. +.TP +.B 3 +No general failures in operation, but one or more exchanges were +unsuccessful. +.UNINDENT +.SH USAGE EXAMPLES +.sp +Here is an example that simulates regular DHCPv4 traffic of 100 DHCPv4 devices (\-R 100), +10 packets per second (\-r 10), shows the query/response rate details (\-xi), +shows a report every 2 seconds (\-t 2), and sends the packets to the IP 192.0.2.1: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo perfdhcp \-xi \-t 2 \-r 10 \-R 100 192.0.2.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Here\(aqs a similar case, but for DHCPv6. Note that the DHCPv6 protocol uses link\-local +addresses, so the interface (eth0 in this example) must be specified on which to send the +traffic. \fBall\fP is a convenience alias for \fBAll_DHCP_Relay_Agents_and_Servers\fP +(the multicast address FF02::1:2). It is also possible to use the \fBservers\fP alias +to refer to \fBAll_DHCP_Servers\fP (the multicast address FF05::1:3). The default is \fBall\fP\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo perfdhcp \-6 \-xi \-t 1 \-r 1 \-R 10 \-l eth0 all +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The following examples simulate normal DHCPv4 and DHCPv6 traffic that, after 3 seconds, +starts pretending not to receive any responses from the server for 10 seconds. The +DHCPv4 protocol signals this by an increased \fBsecs\fP field, while DHCPv6 uses the +\fBElapsed Time\fP option. In real networks, this indicates that clients are not getting +responses in a timely matter. This can be used to simulate some HA scenarios, as Kea +uses the \fBsecs\fP field and \fBElapsed Time\fP option value as one of the indicators +that the HA partner is not responding. When enabled with \fB\-y\fP and \fB\-Y\fP, the \fBsecs\fP +and \fBElapsed Time\fP values increase steadily. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo perfdhcp \-xi \-t 1 \-r 1 \-y 10 \-Y 3 192.0.2.1 + +sudo perfdhcp \-6 \-xi \-t 1 \-r 1 \-y 10 \-Y 3 2001:db8::1 +.ft P +.fi +.UNINDENT +.UNINDENT +.SH DOCUMENTATION +.sp +Kea comes with an extensive Kea Administrator Reference Manual that covers +all aspects of running the Kea software \- compilation, installation, +configuration, configuration examples, and much more. Kea also features a +Kea Messages Manual, which lists all possible messages Kea can print +with a brief description for each of them. Both documents are +available in various formats (.txt, .html, .pdf) with the Kea +distribution. The Kea documentation is available at +\fI\%https://kea.readthedocs.io\fP\&. +.sp +Kea source code is documented in the Kea Developer\(aqs Guide, +available at \fI\%https://reports.kea.isc.org/dev_guide/\fP\&. +.sp +The Kea project website is available at \fI\%https://kea.isc.org\fP\&. +.SH MAILING LISTS AND SUPPORT +.sp +There are two public mailing lists available for the Kea project. \fBkea\-users\fP +(kea\-users at lists.isc.org) is intended for Kea users, while \fBkea\-dev\fP +(kea\-dev at lists.isc.org) is intended for Kea developers, prospective +contributors, and other advanced users. Both lists are available at +\fI\%https://lists.isc.org\fP\&. The community provides best\-effort support +on both of those lists. +.sp +ISC provides professional support for Kea services. See +\fI\%https://www.isc.org/kea/\fP for details. +.SH HISTORY +.sp +The \fBperfdhcp\fP tool was initially coded in October 2011 by John +DuBois, Francis Dupont, and Marcin Siodelski of ISC. Kea 1.0.0, which +included \fBperfdhcp\fP, was released in December 2015. +.SH SEE ALSO +.sp +\fBkea\-dhcp4(8)\fP, \fBkea\-dhcp6(8)\fP, \fBkea\-dhcp\-ddns(8)\fP, +\fBkea\-ctrl\-agent(8)\fP, \fBkea\-admin(8)\fP, \fBkea\-netconf(8)\fP, +\fBkeactrl(8)\fP, \fBkea\-lfc(8)\fP, Kea Administrator Reference Manual. +.SH AUTHOR +Internet Systems Consortium +.SH COPYRIGHT +2019-2024, Internet Systems Consortium +.\" Generated by docutils manpage writer. +. |