![]() |
Kea 3.3.3
|
Command Options. More...
#include <command_options.h>
Classes | |
| class | LeaseType |
| A class encapsulating the type of lease being requested from the server. More... | |
Public Types | |
| enum | ExchangeMode : uint16_t { DO_SA , DORA_SARR } |
| 2-way (cmd line param -i) or 4-way exchanges More... | |
| typedef std::vector< std::vector< uint8_t > > | MacAddrsVector |
| A vector holding MAC addresses. | |
Public Member Functions | |
| CommandOptions () | |
| Default Constructor. | |
| bool | checkMultiSubnet () |
| Check if multi subnet mode is enabled. | |
| void | extendedVersion () const |
| Print extended program version. | |
| bool | getAddrUnique () const |
| Returns address uniqueness value. | |
| std::vector< std::string > | getBase () const |
| Returns base values. | |
| int | getCleanReport () const |
| Returns clean report mode. | |
| std::string | getCleanReportSeparator () const |
| Returns clean report separator. | |
| uint32_t | getClientsNum () const |
| Returns number of simulated clients. | |
| std::string | getDiags () const |
| Returns diagnostic selectors. | |
| std::vector< double > | getDropTime () const |
| Returns drop time. | |
| std::vector< uint8_t > | getDuidTemplate () const |
| Returns DUID template. | |
| int | getElapsedTimeOffset () const |
| Returns template offset for elapsed time. | |
| ExchangeMode | getExchangeMode () const |
| Returns packet exchange mode. | |
| int | getExitWaitTime () const |
| Returns the time in microseconds to delay the program by. | |
| const isc::dhcp::OptionCollection & | getExtraOpts () const |
| Returns extra options to be inserted. | |
| int | getIncreaseElapsedTime () const |
| Returns increased elapsed time. | |
| uint8_t | getIpVersion () const |
| Returns IP version. | |
| LeaseType | getLeaseType () const |
| \ brief Returns the type of lease being requested. | |
| std::string | getLocalName () const |
| Returns local address or interface name. | |
| int | getLocalPort () const |
| Returns local port number. | |
| std::string | getMacListFile () const |
| Returns location of the file containing list of MAC addresses. | |
| const MacAddrsVector & | getMacsFromFile () const |
| Returns reference to a vector of MAC addresses read from a file. | |
| std::vector< uint8_t > | getMacTemplate () const |
| Returns MAC address template. | |
| std::vector< int > | getMaxDrop () const |
| Returns maximum drops number. | |
| std::vector< double > | getMaxDropPercentage () const |
| Returns maximal percentage of drops. | |
| std::vector< int > | getNumRequests () const |
| Returns maximum number of exchanges. | |
| int | getPeriod () const |
| Returns test period. | |
| int | getPreload () const |
| Returns number of preload exchanges. | |
| std::vector< int > | getRandomOffset () const |
| Returns template offsets for rnd. | |
| std::string | getRandRelayAddr () |
| Returns random relay address. | |
| int | getRate () const |
| Returns exchange rate. | |
| std::vector< std::string > | getRelayAddrList () const |
| Returns list of relay addresses. | |
| std::string | getRelayAddrListFile () const |
| Returns file location with set of relay addresses. | |
| const isc::dhcp::OptionCollection & | getRelayOpts (uint8_t encapsulation_level=1) const |
| Returns relay options to be inserted at given level of encapsulation. | |
| int | getReleaseRate () const |
| Returns a rate at which DHCPv6 Release messages are sent. | |
| int | getRemotePort () const |
| Returns remote port number. | |
| int | getRenewRate () const |
| Returns a rate at which DHCPv6 Renew messages are sent. | |
| int | getReportDelay () const |
| Returns delay between two performance reports. | |
| int | getRequestedIpOffset () const |
| Returns template offset for requested IP. | |
| Scenario | getScenario () const |
| Returns selected scenario. | |
| uint32_t | getSeed () const |
| Returns random seed. | |
| int | getServerIdOffset () const |
| Returns template offset for server-ID. | |
| std::string | getServerName () const |
| Returns server name. | |
| std::vector< std::string > | getTemplateFiles () const |
| Returns template file names. | |
| std::vector< int > | getTransactionIdOffset () const |
| brief Returns template offsets for xid. | |
| int | getWaitForElapsedTime () const |
| Returns time to wait for elapsed time increase. | |
| std::string | getWrapped () const |
| Returns wrapped command. | |
| bool | isBroadcast () const |
| Checks if broadcast address is to be used. | |
| bool | isInterface () const |
| Checks if interface name was used. | |
| bool | isRapidCommit () const |
| Check if rapid commit option used. | |
| bool | isSeeded () const |
| Checks if seed provided. | |
| bool | isSingleThreaded () const |
| Check if single-threaded mode is enabled. | |
| bool | isUseFirst () const |
| Check if server-ID to be taken from first package. | |
| bool | isUseRelayedV6 () const |
| Check if generated DHCPv6 messages should appear as relayed. | |
| bool | parse (int argc, char **const argv, bool print_cmd_line=false) |
| Parse command line. | |
| void | printCommandLine () const |
| Print command line arguments. | |
| void | reset () |
| Reset to defaults. | |
| bool | testDiags (const char diag) |
| Find if diagnostic flag has been set. | |
| void | version () const |
| Print program version. | |
Static Public Member Functions | |
| static void | usage () |
| Print usage. | |
Static Public Attributes | |
| static const uint8_t | RELAY_OPTIONS_MAX_ENCAPSULATION = 1 |
| Maximum allowed level of encapsulation of added relay options. | |
Command Options.
This class is responsible for parsing the command-line and storing the specified options.
Definition at line 31 of file command_options.h.
| typedef std::vector<std::vector<uint8_t> > isc::perfdhcp::CommandOptions::MacAddrsVector |
A vector holding MAC addresses.
Definition at line 43 of file command_options.h.
| enum isc::perfdhcp::CommandOptions::ExchangeMode : uint16_t |
2-way (cmd line param -i) or 4-way exchanges
| Enumerator | |
|---|---|
| DO_SA | |
| DORA_SARR | |
Definition at line 121 of file command_options.h.
|
inline |
Default Constructor.
Private constructor as this is a singleton class. Use CommandOptions::instance() to get instance of it.
Definition at line 38 of file command_options.h.
References reset().
|
inline |
Check if multi subnet mode is enabled.
Definition at line 427 of file command_options.h.
| void isc::perfdhcp::CommandOptions::extendedVersion | ( | ) | const |
Print extended program version.
Definition at line 1269 of file command_options.cc.
|
inline |
Returns address uniqueness value.
Definition at line 213 of file command_options.h.
|
inline |
Returns base values.
Definition at line 208 of file command_options.h.
|
inline |
Returns clean report mode.
Definition at line 183 of file command_options.h.
|
inline |
Returns clean report separator.
Definition at line 188 of file command_options.h.
|
inline |
Returns number of simulated clients.
Definition at line 193 of file command_options.h.
|
inline |
Returns diagnostic selectors.
Definition at line 372 of file command_options.h.
Referenced by main(), and testDiags().
|
inline |
Returns drop time.
The method returns maximum time elapsed from sending the packet before it is assumed dropped.
Definition at line 243 of file command_options.h.
|
inline |
Returns DUID template.
Definition at line 203 of file command_options.h.
|
inline |
Returns template offset for elapsed time.
Definition at line 357 of file command_options.h.
|
inline |
Returns packet exchange mode.
Definition at line 153 of file command_options.h.
|
inline |
Returns the time in microseconds to delay the program by.
Definition at line 292 of file command_options.h.
|
inline |
Returns extra options to be inserted.
Definition at line 382 of file command_options.h.
|
inline |
Returns increased elapsed time.
Definition at line 235 of file command_options.h.
|
inline |
Returns IP version.
Definition at line 148 of file command_options.h.
Referenced by isc::perfdhcp::StatsMgr::StatsMgr(), and isc::perfdhcp::PerfSocket::openSocket().
|
inline |
\ brief Returns the type of lease being requested.
Definition at line 158 of file command_options.h.
Referenced by printCommandLine().
|
inline |
Returns local address or interface name.
Definition at line 264 of file command_options.h.
Referenced by isc::perfdhcp::PerfSocket::openSocket().
|
inline |
Returns local port number.
Definition at line 282 of file command_options.h.
Referenced by isc::perfdhcp::PerfSocket::openSocket(), and printCommandLine().
|
inline |
Returns location of the file containing list of MAC addresses.
MAC addresses read from the file are used by the perfdhcp in message exchanges with the DHCP server.
Definition at line 335 of file command_options.h.
|
inline |
Returns reference to a vector of MAC addresses read from a file.
Every MAC address is represented as a vector.
Definition at line 342 of file command_options.h.
|
inline |
Returns MAC address template.
Definition at line 198 of file command_options.h.
|
inline |
Returns maximum drops number.
Returns maximum number of packet drops before aborting a test.
Definition at line 251 of file command_options.h.
|
inline |
Returns maximal percentage of drops.
Returns maximal percentage of packet drops before aborting a test.
Definition at line 259 of file command_options.h.
|
inline |
Returns maximum number of exchanges.
Definition at line 218 of file command_options.h.
|
inline |
Returns test period.
Definition at line 223 of file command_options.h.
|
inline |
Returns number of preload exchanges.
Definition at line 277 of file command_options.h.
|
inline |
Returns template offsets for rnd.
Definition at line 352 of file command_options.h.
|
inline |
Returns random relay address.
Definition at line 422 of file command_options.h.
|
inline |
Returns exchange rate.
Definition at line 163 of file command_options.h.
|
inline |
Returns list of relay addresses.
Definition at line 417 of file command_options.h.
|
inline |
Returns file location with set of relay addresses.
Definition at line 412 of file command_options.h.
| const isc::dhcp::OptionCollection & isc::perfdhcp::CommandOptions::getRelayOpts | ( | uint8_t | encapsulation_level = 1 | ) | const |
Returns relay options to be inserted at given level of encapsulation.
| encapsulation_level | level of encapsulation, by default 1 |
| isc::OutOfRange | When trying to access relay options at encapsulation level that doesn't exist. |
Definition at line 911 of file command_options.cc.
References isc_throw, and RELAY_OPTIONS_MAX_ENCAPSULATION.
|
inline |
Returns a rate at which DHCPv6 Release messages are sent.
Definition at line 173 of file command_options.h.
Referenced by isc::perfdhcp::StatsMgr::StatsMgr(), and printCommandLine().
|
inline |
Returns remote port number.
Definition at line 287 of file command_options.h.
Referenced by printCommandLine().
|
inline |
Returns a rate at which DHCPv6 Renew messages are sent.
Definition at line 168 of file command_options.h.
Referenced by isc::perfdhcp::StatsMgr::StatsMgr(), and printCommandLine().
|
inline |
Returns delay between two performance reports.
Definition at line 178 of file command_options.h.
|
inline |
Returns template offset for requested IP.
Definition at line 367 of file command_options.h.
|
inline |
Returns selected scenario.
Definition at line 402 of file command_options.h.
Referenced by main().
|
inline |
|
inline |
Returns template offset for server-ID.
Definition at line 362 of file command_options.h.
|
inline |
Returns server name.
Definition at line 407 of file command_options.h.
Referenced by isc::perfdhcp::PerfSocket::openSocket().
|
inline |
Returns template file names.
Definition at line 327 of file command_options.h.
|
inline |
brief Returns template offsets for xid.
Definition at line 347 of file command_options.h.
|
inline |
Returns time to wait for elapsed time increase.
Definition at line 229 of file command_options.h.
|
inline |
Returns wrapped command.
Definition at line 377 of file command_options.h.
|
inline |
Checks if broadcast address is to be used.
Definition at line 307 of file command_options.h.
Referenced by isc::perfdhcp::PerfSocket::openSocket().
|
inline |
Checks if interface name was used.
The method checks if interface name was used rather than address.
Definition at line 272 of file command_options.h.
Referenced by isc::perfdhcp::PerfSocket::openSocket().
|
inline |
Check if rapid commit option used.
Definition at line 312 of file command_options.h.
|
inline |
Checks if seed provided.
Definition at line 297 of file command_options.h.
|
inline |
Check if single-threaded mode is enabled.
Definition at line 397 of file command_options.h.
|
inline |
Check if server-ID to be taken from first package.
Definition at line 317 of file command_options.h.
|
inline |
Check if generated DHCPv6 messages should appear as relayed.
Definition at line 322 of file command_options.h.
Referenced by isc::perfdhcp::PerfSocket::openSocket().
| bool isc::perfdhcp::CommandOptions::parse | ( | int | argc, |
| char **const | argv, | ||
| bool | print_cmd_line = false ) |
Parse command line.
Parses the command line and stores the selected options in class data members.
| argc | Argument count passed to main(). |
| argv | Argument value array passed to main(). |
| print_cmd_line | Print the command line being run to the console. |
| isc::InvalidParameter | if parse fails. |
Definition at line 174 of file command_options.cc.
References reset().
Referenced by main().
| void isc::perfdhcp::CommandOptions::printCommandLine | ( | ) | const |
Print command line arguments.
Definition at line 1149 of file command_options.cc.
References DO_SA, getLeaseType(), getLocalPort(), getReleaseRate(), getRemotePort(), getRenewRate(), and isc::perfdhcp::CommandOptions::LeaseType::toText().
| void isc::perfdhcp::CommandOptions::reset | ( | ) |
Reset to defaults.
Reset data members to default values. This is specifically useful when unit tests are performed using different command line options.
Definition at line 100 of file command_options.cc.
References isc::perfdhcp::CommandOptions::LeaseType::ADDRESS, isc::perfdhcp::BASIC, DORA_SARR, and RELAY_OPTIONS_MAX_ENCAPSULATION.
Referenced by CommandOptions(), and parse().
|
inline |
Find if diagnostic flag has been set.
| diag | diagnostic flag (a,e,i,s,r,t,T). |
Definition at line 433 of file command_options.h.
References getDiags().
Referenced by isc::perfdhcp::StatsMgr::StatsMgr().
|
static |
Print usage.
Prints perfdhcp usage.
Definition at line 1258 of file command_options.cc.
Referenced by main().
| void isc::perfdhcp::CommandOptions::version | ( | ) | const |
Print program version.
Definition at line 1264 of file command_options.cc.
|
static |
Maximum allowed level of encapsulation of added relay options.
Definition at line 46 of file command_options.h.
Referenced by getRelayOpts(), and reset().