| Kea 3.0.2-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 | 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< CustomCounter > | CustomCounterPtr
typedef std::map< std::string, CustomCounterPtr > | CustomCountersMap
| Map containing custom counters.
typedef CustomCountersMap::const_iterator | CustomCountersMapIterator
| Iterator for CustomCountersMap.
typedef std::map< ExchangeType, ExchangeStatsPtr > | ExchangesMap
| Map containing all specified exchange types.
typedef ExchangesMap::const_iterator | ExchangesMapIterator
| Iterator pointing to ExchangesMap.
typedef boost::shared_ptr< ExchangeStats > | ExchangeStatsPtr
| Pointer to ExchangeStats.
typedef boost::shared_ptr< PerfPkt4 > | PerfPkt4Ptr
typedef boost::shared_ptr< PerfPkt6 > | PerfPkt6Ptr
typedef boost::shared_ptr< StatsMgr > | StatsMgrPtr
| 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

typedef std::map<ExchangeType, ExchangeStatsPtr> isc::perfdhcp::ExchangesMap

Map containing all specified exchange types.

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

## ◆ ExchangesMapIterator

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

Iterator pointing to ExchangesMap.

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

## ◆ ExchangeStatsPtr

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

Pointer to ExchangeStats.

Definition at line 688 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 1249 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_type | exchange type that will determine the version

Exceptions

  isc::BadValue | exchange 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

  os | output stream to use.
  xchg_type | exchange 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 220 of file command_options.cc.

## ◆ LONG_OPT_SCENARIO

const int isc::perfdhcp::LONG_OPT_SCENARIO = 300

Definition at line 219 of file command_options.cc.