Kea 2.5.8
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  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  TestControl
 Test Control class. More...
 

Typedefs

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

Enumerations

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

Functions

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

Variables

const int LONG_OPT_RELAY_OPTION = 400
 
const int LONG_OPT_SCENARIO = 300
 

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 687 of file bin/perfdhcp/stats_mgr.h.

◆ ExchangesMapIterator

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

Iterator pointing to ExchangesMap.

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

◆ ExchangeStatsPtr

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

Pointer to ExchangeStats.

Definition at line 684 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 1245 of file bin/perfdhcp/stats_mgr.h.

Enumeration Type Documentation

◆ ExchangeType

enum class isc::perfdhcp::ExchangeType
strong

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

enum class isc::perfdhcp::Scenario
strong
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 33 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 51 of file bin/perfdhcp/stats_mgr.cc.

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

Variable Documentation

◆ LONG_OPT_RELAY_OPTION

const int isc::perfdhcp::LONG_OPT_RELAY_OPTION = 400

Definition at line 219 of file command_options.cc.

◆ LONG_OPT_SCENARIO

const int isc::perfdhcp::LONG_OPT_SCENARIO = 300

Definition at line 218 of file command_options.cc.