Kea  2.1.7-git
isc::perfdhcp Namespace Reference

Classes

class  AbstractScen
 Abstract Scenario class. More...
 
class  AvalancheScen
 Avalanche Scenario class. More...
 
class  BasePerfSocket
 Socket wrapper structure. More...
 
class  BasicScen
 Basic Scenario class. More...
 
class  CommandOptions
 Command Options. More...
 
class  CustomCounter
 Custom Counter. More...
 
struct  EnumClassHash
 
class  ExchangeStats
 Exchange Statistics. More...
 
class  InvalidLimits
 
class  InvalidProbValue
 
class  LocalizedOption
 DHCP option at specific offset. More...
 
class  PacketStorage
 Represents a list of packets with a sequential and random access to list elements. More...
 
class  PerfPkt4
 PerfPkt4 (DHCPv4 packet) More...
 
class  PerfPkt6
 PerfPkt6 (DHCPv6 packet) More...
 
class  PerfSocket
 Socket wrapper structure. More...
 
class  PktTransform
 Read and write raw data to DHCP packets. More...
 
class  RateControl
 A message sending rate control class for perfdhcp. More...
 
class  Receiver
 A receiving DHCP packets class. More...
 
class  StatsMgr
 Statistics Manager. More...
 
class  SumNotOne
 
class  TestControl
 Test Control class. More...
 
class  UniformRandomIntegerGenerator
 Uniform random integer generator. More...
 
class  WeightedRandomIntegerGenerator
 Weighted random integer generator. More...
 

Typedefs

typedef boost::shared_ptr< CustomCounterCustomCounterPtr
 
typedef std::map< std::string, CustomCounterPtrCustomCountersMap
 Map containing custom counters. More...
 
typedef CustomCountersMap::const_iterator CustomCountersMapIterator
 Iterator for CustomCountersMap. More...
 
typedef std::map< ExchangeType, ExchangeStatsPtrExchangesMap
 Map containing all specified exchange types. More...
 
typedef ExchangesMap::const_iterator ExchangesMapIterator
 Iterator pointing to ExchangesMap. More...
 
typedef boost::shared_ptr< ExchangeStatsExchangeStatsPtr
 Pointer to ExchangeStats. More...
 
typedef boost::shared_ptr< PerfPkt4PerfPkt4Ptr
 
typedef boost::shared_ptr< PerfPkt6PerfPkt6Ptr
 
typedef boost::shared_ptr< StatsMgrStatsMgrPtr
 Pointer to Statistics Manager;. More...
 

Enumerations

enum  ExchangeType {
  ExchangeType::DO, ExchangeType::RA, ExchangeType::RNA, ExchangeType::RLA,
  ExchangeType::SA, ExchangeType::RR, ExchangeType::RN, ExchangeType::RL
}
 DHCP packet exchange types. More...
 
enum  Scenario { Scenario::BASIC, Scenario::AVALANCHE }
 

Functions

int dhcpVersion (ExchangeType const exchange_type)
 Get the DHCP version that fits the exchange type. More...
 
std::ostream & operator<< (std::ostream &os, ExchangeType xchg_type)
 Return name of the exchange. More...
 

Variables

const int LONG_OPT_SCENARIO = 300
 
const char *const * perfdhcp_config_report = isc::detail::config_report
 

Typedef Documentation

◆ CustomCounterPtr

typedef boost::shared_ptr<CustomCounter> isc::perfdhcp::CustomCounterPtr

Definition at line 128 of file bin/perfdhcp/stats_mgr.h.

◆ CustomCountersMap

typedef std::map<std::string, CustomCounterPtr> isc::perfdhcp::CustomCountersMap

Map containing custom counters.

Definition at line 131 of file bin/perfdhcp/stats_mgr.h.

◆ CustomCountersMapIterator

typedef CustomCountersMap::const_iterator isc::perfdhcp::CustomCountersMapIterator

Iterator for CustomCountersMap.

Definition at line 134 of file bin/perfdhcp/stats_mgr.h.

◆ ExchangesMap

Map containing all specified exchange types.

Definition at line 689 of file bin/perfdhcp/stats_mgr.h.

◆ ExchangesMapIterator

typedef ExchangesMap::const_iterator isc::perfdhcp::ExchangesMapIterator

Iterator pointing to ExchangesMap.

Definition at line 692 of file bin/perfdhcp/stats_mgr.h.

◆ ExchangeStatsPtr

typedef boost::shared_ptr<ExchangeStats> isc::perfdhcp::ExchangeStatsPtr

Pointer to ExchangeStats.

Definition at line 686 of file bin/perfdhcp/stats_mgr.h.

◆ PerfPkt4Ptr

typedef boost::shared_ptr<PerfPkt4> isc::perfdhcp::PerfPkt4Ptr

Definition at line 128 of file perf_pkt4.h.

◆ PerfPkt6Ptr

typedef boost::shared_ptr<PerfPkt6> isc::perfdhcp::PerfPkt6Ptr

Definition at line 127 of file perf_pkt6.h.

◆ StatsMgrPtr

typedef boost::shared_ptr<StatsMgr> isc::perfdhcp::StatsMgrPtr

Pointer to Statistics Manager;.

Definition at line 1252 of file bin/perfdhcp/stats_mgr.h.

Enumeration Type Documentation

◆ ExchangeType

DHCP packet exchange types.

Enumerator
DO 

DHCPv4 DISCOVER-OFFER.

RA 

DHCPv4 REQUEST-ACK.

RNA 

DHCPv4 REQUEST-ACK (renewal)

RLA 

DHCPv4 RELEASE.

SA 

DHCPv6 SOLICIT-ADVERTISE.

RR 

DHCPv6 REQUEST-REPLY.

RN 

DHCPv6 RENEW-REPLY.

RL 

DHCPv6 RELEASE-REPLY.

Definition at line 32 of file bin/perfdhcp/stats_mgr.h.

◆ Scenario

Enumerator
BASIC 
AVALANCHE 

Definition at line 20 of file command_options.h.

Function Documentation

◆ dhcpVersion()

int isc::perfdhcp::dhcpVersion ( ExchangeType const  exchange_type)

Get the DHCP version that fits the exchange type.

Parameters
exchange_typeexchange type that will determine the version
Exceptions
isc::BadValueexchange type is unrecognized
Returns
DHCP version: 4 or 6

Definition at line 32 of file bin/perfdhcp/stats_mgr.cc.

References DO, isc_throw, RA, RL, RLA, RN, RNA, RR, and SA.

Referenced by isc::perfdhcp::ExchangeStats::receivedLeases().

◆ operator<<()

std::ostream & isc::perfdhcp::operator<< ( std::ostream &  os,
ExchangeType  xchg_type 
)

Return name of the exchange.

Function returns name of the specified exchange type. This function is mainly for logging purposes.

Parameters
osoutput stream to use.
xchg_typeexchange type.
Returns
string representing name of the exchange.

Definition at line 50 of file bin/perfdhcp/stats_mgr.cc.

References DO, RA, RL, RLA, RN, RNA, RR, and SA.

Variable Documentation

◆ LONG_OPT_SCENARIO

const int isc::perfdhcp::LONG_OPT_SCENARIO = 300

Definition at line 217 of file command_options.cc.

◆ perfdhcp_config_report

const char* const* isc::perfdhcp::perfdhcp_config_report = isc::detail::config_report

Definition at line 42 of file command_options.cc.