Kea  1.5.0
isc::dhcp Namespace Reference

Namespaces

 bench
 
 test
 

Classes

struct  AddressIndexTag
 Tag for indexes by address. More...
 
class  AllocEngine
 DHCPv4 and DHCPv6 allocation engine. More...
 
class  AllocFailed
 An exception that is thrown when allocation module fails (e.g. More...
 
class  AssignableNetwork
 Represents a network that can be associated with a subnet. More...
 
class  AuthKey
 Authentication keys. More...
 
class  BadDataTypeCast
 Exception to be thrown when cast to the data type was unsuccessful. More...
 
class  BadHostAddress
 Exception thrown when invalid IP address has been specified for Host. More...
 
class  BaseHostDataSource
 Base interface for the classes implementing simple data source for host reservations. More...
 
class  CacheHostDataSource
 Abstract interface extending base simple data source for host reservations to host cache. More...
 
struct  Cfg4o6
 This structure contains information about DHCP4o6 (RFC7341) More...
 
class  CfgConsistency
 Parameters for various consistency checks. More...
 
class  CfgDbAccess
 Holds access parameters and the configuration of the lease and hosts database connection. More...
 
class  CfgDUID
 Holds manual configuration of the server identifier (DUID). More...
 
class  CfgExpiration
 Holds configuration parameters pertaining to lease expiration and lease affinity. More...
 
struct  CfgHostDbAccess
 
class  CfgHostOperations
 Represents global configuration for host reservations. More...
 
class  CfgHosts
 Represents the host reservations specified in the configuration file. More...
 
class  CfgHostsList
 Utility class to represent host reservation configurations internally as a map keyed by subnet IDs, externally as a list Element. More...
 
class  CfgIface
 
struct  CfgLeaseDbAccess
 utility class for unparsing More...
 
class  CfgMACSource
 Wrapper class that holds MAC/hardware address sources. More...
 
class  CfgMgr
 Configuration Manager. More...
 
class  CfgOption
 Represents option data configuration for the DHCP server. More...
 
class  CfgOptionDef
 Represents option definitions used by the DHCP server. More...
 
class  CfgRSOO
 Represents configuration of the RSOO options for the DHCP server. More...
 
class  CfgSharedNetworks
 This class holds configuration of shared networks. More...
 
class  CfgSharedNetworks4
 Represents configuration of IPv4 shared networks. More...
 
class  CfgSharedNetworks6
 Represents configuration of IPv6 shared networks. More...
 
class  CfgSubnets4
 Holds subnets configured for the DHCPv4 server. More...
 
class  CfgSubnets6
 Holds subnets configured for the DHCPv6 server. More...
 
class  ClientClassDef
 Embodies a single client class definition. More...
 
class  ClientClassDefListParser
 Parser for a list of client class definitions. More...
 
class  ClientClassDefParser
 Parser for a single client class definition. More...
 
class  ClientClassDictionary
 Maintains a list of ClientClassDef's. More...
 
class  ClientClasses
 Container for storing client class names. More...
 
class  ClientId
 Holds Client identifier or client IPv4 address. More...
 
struct  ClientIdHWAddressSubnetIdIndexTag
 Tag for indexes by client id, HW address and subnet id. More...
 
struct  ClientIdSubnetIdIndexTag
 Tag for indexes by client and subnet identifiers. More...
 
class  ConfigBackendDHCPv4
 Interface implemented by DHCPv4 configuration backends. More...
 
class  ConfigBackendDHCPv4Mgr
 Configuration Backend Manager for DHPCv4 servers. More...
 
class  ConfigBackendPoolDHCPv4
 Implementation of the Configuration Backend Pool for DHCPv4. More...
 
class  ControlledDhcpv4Srv
 Controlled version of the DHCPv4 server. More...
 
class  ControlledDhcpv6Srv
 Controlled version of the DHCPv6 server. More...
 
class  ControlSocketParser
 Parser for the control-socket structure. More...
 
class  CqlHostDataSource
 Cassandra host data source. More...
 
class  CqlHostDataSourceImpl
 Implementation of the CqlHostDataSource. More...
 
class  CqlHostExchange
 Provides mechanisms for sending and retrieving data from the host_reservations table. More...
 
class  CqlLease4Exchange
 Exchange Lease4 information between Kea and CQL. More...
 
class  CqlLease6Exchange
 Exchange Lease6 information between Kea and CQL. More...
 
class  CqlLeaseExchange
 Common CQL and Lease Data Methods. More...
 
class  CqlLeaseMgr
 Cassandra Lease Manager. More...
 
class  CqlLeaseStatsQuery
 Base CQL derivation of the statistical lease data query. More...
 
class  CSVLeaseFile4
 Provides methods to access CSV file with DHCPv4 leases. More...
 
class  CSVLeaseFile6
 Provides methods to access CSV file with DHCPv6 leases. More...
 
class  D2ClientConfig
 Acts as a storage vault for D2 client configuration. More...
 
class  D2ClientConfigParser
 Parser for D2ClientConfig. More...
 
class  D2ClientError
 An exception that is thrown if an error occurs while configuring the D2 DHCP DDNS client. More...
 
class  D2ClientMgr
 D2ClientMgr isolates Kea from the details of being a D2 client. More...
 
class  Dhcp4o6IpcBase
 This class implements the communication between the DHCPv4 and DHCPv6 servers to allow for transmission of the DHCPv4 query and DHCPv4 response messages. More...
 
class  Dhcp4o6IpcError
 Exception thrown when error occurs as a result of use of IPC. More...
 
class  Dhcp4ParseError
 Evaluation error exception raised when trying to parse. More...
 
class  Dhcp4Parser
 A Bison parser. More...
 
class  Dhcp4to6Ipc
 Handles DHCPv4-over-DHCPv6 IPC on the DHCPv4 server side. More...
 
class  Dhcp6ParseError
 Evaluation error exception raised when trying to parse. More...
 
class  Dhcp6Parser
 A Bison parser. More...
 
class  Dhcp6to4Ipc
 Handles DHCPv4-over-DHCPv6 IPC on the DHCPv6 server side. More...
 
class  DhcpConfigError
 To be removed. Please use ConfigError instead. More...
 
class  DHCPQueueControlParser
 Parser for the configuration of DHCP packet queue controls. More...
 
class  Dhcpv4Exchange
 DHCPv4 message exchange. More...
 
class  Dhcpv4Srv
 DHCPv4 server service. More...
 
class  DHCPv6DiscardMessageError
 This exception is thrown when DHCP server hits the error which should result in discarding the message being processed. More...
 
class  Dhcpv6Srv
 DHCPv6 server service. More...
 
class  DUID
 Holds DUID (DHCPv6 Unique Identifier) More...
 
class  DUIDConfigParser
 Parser for server DUID configuration. More...
 
class  DUIDFactory
 Factory for generating DUIDs (DHCP Unique Identifiers). More...
 
struct  DuidIaidTypeIndexTag
 Tag for indexes by DUID, IAID, lease type tuple. More...
 
struct  DuidIndexTag
 Tag for index using DUID. More...
 
class  DuplicateAddress
 Exception thrown when duplicated address specified. More...
 
class  DuplicateClientClassDef
 Error that occurs when an attempt is made to add a duplicate class to a class dictionary. More...
 
class  DuplicateHost
 Exception thrown when the duplicate Host object is detected. More...
 
class  DuplicateIfaceName
 Exception thrown when duplicated interface names specified. More...
 
class  DuplicateListeningIface
 Exception thrown when the same interface has been specified twice. More...
 
class  DuplicateOptionDefinition
 Exception to be thrown when the particular option definition duplicates existing option definition. More...
 
class  DuplicateSubnetID
 Exception thrown upon attempt to add subnet with an ID that belongs to the subnet that already exists. More...
 
class  EvalBadStack
 EvalBadStack is thrown when more or less parameters are on the stack than expected. More...
 
class  EvalTypeError
 EvalTypeError is thrown when a value on the stack has a content with an unexpected type. More...
 
class  ExpirationConfigParser
 Parser for the configuration parameters pertaining to the processing of expired leases. More...
 
struct  ExpirationIndexTag
 Tag for indexes by expiration time. More...
 
class  ExpressionParser
 Parser for a logical expression. More...
 
class  Host
 Represents a device with IPv4 and/or IPv6 reservations. More...
 
class  HostDataSourceFactory
 Host Data Source Factory. More...
 
class  HostMgr
 Host Manager. More...
 
class  HostReservationIdsParser
 Parser for a list of host identifiers. More...
 
class  HostReservationIdsParser4
 Parser for a list of host identifiers for DHCPv4. More...
 
class  HostReservationIdsParser6
 Parser for a list of host identifiers for DHCPv6. More...
 
class  HostReservationParser
 Parser for a single host reservation entry. More...
 
class  HostReservationParser4
 Parser for a single host reservation for DHCPv4. More...
 
class  HostReservationParser6
 Parser for a single host reservation for DHCPv6. More...
 
class  HostReservationsListParser
 Parser for a list of host reservations for a subnet. More...
 
struct  HostResrv6Tuple
 Defines one entry for the Host Container for v6 hosts. More...
 
struct  HWAddr
 Hardware type that represents information from DHCPv4 packet. More...
 
struct  HWAddressSubnetIdIndexTag
 Tag for indexes by HW address, subnet identifier tuple. More...
 
class  Iface
 Represents a single network interface. More...
 
class  IfaceDetectError
 IfaceMgr exception thrown thrown when interface detection fails. More...
 
class  IfaceMgr
 Handles network interfaces, transmission and reception. More...
 
class  IfaceNotFound
 IfaceMgr exception thrown when there is no suitable interface. More...
 
class  IfacesConfigParser
 Parser for the configuration of interfaces. More...
 
class  InvalidDataType
 Exception to be thrown when invalid type specified as template parameter. More...
 
class  InvalidIfaceName
 Exception thrown when specified interface name is invalid. More...
 
class  InvalidOption4FqdnDomainName
 Exception thrown when invalid domain name is specified. More...
 
class  InvalidOption4FqdnFlags
 Exception thrown when invalid flags have been specified for DHCPv4 Client FQDN Option. More...
 
class  InvalidOption6FqdnDomainName
 Exception thrown when invalid domain name is specified. More...
 
class  InvalidOption6FqdnFlags
 Exception thrown when invalid flags have been specified for DHCPv6 Client Fqdn Option. More...
 
class  InvalidOptionSpace
 Exception to be thrown when invalid option space is specified. More...
 
class  InvalidOptionValue
 Exception to be thrown when invalid option value has been specified for a particular option definition. More...
 
class  InvalidPacketFilter
 Exception thrown when invalid packet filter object specified. More...
 
class  InvalidPacketHeader
 Exception thrown when error occurred during parsing packet's headers. More...
 
class  InvalidQueueParameter
 Invalid queue parameter exception. More...
 
class  InvalidQueueType
 Invalid Queue type exception. More...
 
class  InvalidSocketType
 Exception thrown when invalid socket type has been specified for the given family. More...
 
class  IPv6Resrv
 IPv6 reservation for a host. More...
 
class  KeyFromKeyExtractor
 Utility class which cascades two key extractors. More...
 
struct  Lease
 a common structure for IPv4 and IPv6 leases More...
 
struct  Lease4
 Structure that holds a lease for IPv4 address. More...
 
struct  Lease6
 Structure that holds a lease for IPv6 address and/or prefix. More...
 
class  LeaseFileLoader
 Utility class to manage bulk of leases in the lease files. More...
 
class  LeaseFileStats
 Provides statistics for leases. More...
 
class  LeaseMgr
 Abstract Lease Manager. More...
 
class  LeaseMgrFactory
 Lease Manager Factory. More...
 
class  LeasePageSize
 Wraps value holding size of the page with leases. More...
 
class  LeaseStatsQuery
 Base class for fulfilling a statistical lease data query. More...
 
struct  LeaseStatsRow
 Contains a single row of lease statistical data. More...
 
class  LFCSetup
 Represents a configuration for Lease File Cleanup. More...
 
class  LibDHCP
 
class  MACSourcesListConfigParser
 parser for MAC/hardware acquisition sources More...
 
class  MalformedOptionDefinition
 Exception to be thrown when option definition is invalid. More...
 
class  Memfile_LeaseMgr
 Concrete implementation of a lease database backend using flat file. More...
 
class  MemfileLeaseStatsQuery
 Base Memfile derivation of the statistical lease data query. More...
 
class  MemfileLeaseStatsQuery4
 Memfile derivation of the IPv4 statistical lease data query. More...
 
class  MemfileLeaseStatsQuery6
 Memfile derivation of the IPv6 statistical lease data query. More...
 
class  MySqlHostDataSource
 MySQL Host Data Source. More...
 
class  MySqlHostDataSourceImpl
 Implementation of the MySqlHostDataSource. More...
 
class  MySqlLease4Exchange
 Exchange MySQL and Lease4 Data. More...
 
class  MySqlLease6Exchange
 Exchange MySQL and Lease6 Data. More...
 
class  MySqlLeaseExchange
 Common MySQL and Lease Data Methods. More...
 
class  MySqlLeaseMgr
 MySQL Lease Manager. More...
 
class  MySqlLeaseStatsQuery
 MySql derivation of the statistical lease data query. More...
 
class  Network
 Common interface representing a network to which the DHCP clients are connected. More...
 
class  Network4
 Specialization of the Network object for DHCPv4 case. More...
 
class  Network6
 Specialization of the Network object for DHCPv6 case. More...
 
class  NetworkState
 Holds information about DHCP service enabling status. More...
 
class  NetworkStateImpl
 Implementation of the NetworkState class. More...
 
class  NoHostDataSourceManager
 No host data source instance exception. More...
 
class  NoLeaseManager
 No lease manager exception. More...
 
class  NoSuchAddress
 Exception thrown when specified unicast address is not assigned to the interface specified. More...
 
class  NoSuchIface
 Exception thrown when specified interface doesn't exist in a system. More...
 
class  NoSuchLease
 Attempt to update lease that was not there. More...
 
class  OpaqueDataTuple
 Represents a single instance of the opaque data preceded by length. More...
 
class  OpaqueDataTupleError
 Exception to be thrown when the operation on OpaqueDataTuple object results in an error. More...
 
class  Option
 
class  Option4AddrLst
 DHCPv4 Option class for handling list of IPv4 addresses. More...
 
class  Option4ClientFqdn
 Represents DHCPv4 Client FQDN Option (code 81). More...
 
class  Option4ClientFqdnImpl
 Implements the logic for the Option6ClientFqdn class. More...
 
class  Option4SlpServiceScope
 This class represents SLP Service Scope option (79) from RFC2610. More...
 
class  Option6AddrLst
 DHCPv6 Option class for handling list of IPv6 addresses. More...
 
class  Option6Auth
 This class represents Authentication (11) DHCPv6 option. More...
 
class  Option6ClientFqdn
 Represents DHCPv6 Client FQDN Option (code 39). More...
 
class  Option6ClientFqdnImpl
 Implements the logic for the Option6ClientFqdn class. More...
 
class  Option6IA
 
class  Option6IAAddr
 
class  Option6IAPrefix
 Class that represents IAPREFIX option in DHCPv6. More...
 
class  Option6PDExclude
 DHCPv6 option class representing Prefix Exclude Option (RFC 6603). More...
 
class  Option6StatusCode
 This class represents Status Code option (13) from RFC 8415. More...
 
class  OptionCustom
 Option with defined data fields represented as buffers that can be accessed using data field index. More...
 
class  OptionDataListParser
 Parser for option data values within a subnet. More...
 
class  OptionDataParser
 Parser for option data value. More...
 
struct  OptionDataTypeTraits
 Trait class for data types supported in DHCP option definitions. More...
 
struct  OptionDataTypeTraits< asiolink::IOAddress >
 IPv4 and IPv6 address type is supported. More...
 
struct  OptionDataTypeTraits< bool >
 bool type is supported More...
 
struct  OptionDataTypeTraits< int16_t >
 int16_t type is supported. More...
 
struct  OptionDataTypeTraits< int32_t >
 int32_t type is supported. More...
 
struct  OptionDataTypeTraits< int8_t >
 int8_t type is supported. More...
 
struct  OptionDataTypeTraits< OptionBuffer >
 binary type is supported More...
 
struct  OptionDataTypeTraits< std::string >
 string type is supported More...
 
struct  OptionDataTypeTraits< uint16_t >
 uint16_t type is supported. More...
 
struct  OptionDataTypeTraits< uint32_t >
 uint32_t type is supported. More...
 
struct  OptionDataTypeTraits< uint8_t >
 uint8_t type is supported. More...
 
class  OptionDataTypeUtil
 Utility class for option data types. More...
 
class  OptionDefinition
 Base class representing a DHCP option definition. More...
 
class  OptionDefListParser
 Parser for a list of option definitions. More...
 
struct  OptionDefParams
 Parameters being used to make up an option definition. More...
 
struct  OptionDefParamsEncapsulation
 Encapsulation of option definition parameters and the structure size. More...
 
class  OptionDefParser
 Parser for a single option definition. More...
 
class  OptionDescriptor
 Option descriptor. More...
 
class  OptionInt
 Forward declaration to OptionInt. More...
 
class  OptionIntArray
 Forward declaration to OptionIntArray. More...
 
class  OptionOpaqueDataTuples
 This class encapsulates a collection of data tuples and could be used by multiple options. More...
 
class  OptionSpace
 DHCP option space. More...
 
class  OptionSpace6
 DHCPv6 option space with enterprise number assigned. More...
 
class  OptionSpaceContainer
 Simple container for option spaces holding various items. More...
 
class  OptionString
 Class which represents an option carrying a single string value. More...
 
class  OptionVendor
 This class represents vendor-specific information option. More...
 
class  OptionVendorClass
 This class encapsulates DHCPv6 Vendor Class and DHCPv4 V-I Vendor Class options. More...
 
class  PacketFilterChangeDenied
 Exception thrown when it is not allowed to set new Packet Filter. More...
 
class  PacketQueue
 Interface for managing a queue of inbound DHCP packets. More...
 
class  PacketQueueMgr
 Packet Queue Managers (PQM). More...
 
class  PacketQueueMgr4
 Packet Queue Manager for DHPCv4 servers. More...
 
class  PacketQueueMgr6
 Packet Queue Manager for DHPCv6 servers. More...
 
class  PacketQueueRing
 Provides a ring-buffer implementation of the PacketQueue interface. More...
 
class  PacketQueueRing4
 DHCPv4 packet queue buffer implementation. More...
 
class  PacketQueueRing6
 DHCPv6 packet queue buffer implementation. More...
 
class  Parser4Context
 Evaluation context, an interface to the expression evaluation. More...
 
class  Parser6Context
 Evaluation context, an interface to the expression evaluation. More...
 
class  PdPoolParser
 Parser for IPv6 prefix delegation definitions. More...
 
class  PdPoolsListParser
 Parser for a list of prefix delegation pools. More...
 
class  PgSqlHostDataSource
 PostgreSQL Host Data Source. More...
 
class  PgSqlHostDataSourceImpl
 Implementation of the PgSqlHostDataSource. More...
 
class  PgSqlLease4Exchange
 Supports exchanging IPv4 leases with PostgreSQL. More...
 
class  PgSqlLease6Exchange
 Supports exchanging IPv6 leases with PostgreSQL. More...
 
class  PgSqlLeaseExchange
 Base class for marshalling leases to and from PostgreSQL. More...
 
class  PgSqlLeaseMgr
 PostgreSQL Lease Manager. More...
 
class  PgSqlLeaseStatsQuery
 Base PgSql derivation of the statistical lease data query. More...
 
class  Pkt
 Base class for classes representing DHCP messages. More...
 
class  Pkt4
 Represents DHCPv4 packet. More...
 
class  Pkt4o6
 Represents DHCPv4-over-DHCPv6 packet. More...
 
class  Pkt6
 Represents a DHCPv6 packet. More...
 
class  PktFilter
 Abstract packet handling class. More...
 
class  PktFilter6
 Abstract packet handling class for DHCPv6. More...
 
class  PktFilterBPF
 Packet handling class using Berkeley Packet Filtering (BPF) More...
 
class  PktFilterInet
 Packet handling class using AF_INET socket family. More...
 
class  PktFilterInet6
 A DHCPv6 packet handling class using datagram sockets. More...
 
class  PktFilterLPF
 Packet handling class using Linux Packet Filtering. More...
 
class  Pool
 base class for Pool4 and Pool6 More...
 
class  Pool4
 Pool information for IPv4 addresses. More...
 
class  Pool4Parser
 Parser for IPv4 pool definitions. More...
 
class  Pool6
 Pool information for IPv6 addresses and prefixes. More...
 
class  Pool6Parser
 Parser for IPv6 pool definitions. More...
 
class  PoolParser
 parser for a single pool definition More...
 
class  Pools4ListParser
 Specialization of the pool list parser for DHCPv4. More...
 
class  Pools6ListParser
 Specialization of the pool list parser for DHCPv6. More...
 
class  PoolsListParser
 Parser for a list of pools. More...
 
class  PrefixLen
 Encapsulates prefix length. More...
 
class  PSID
 Encapsulates PSID value. More...
 
class  PSIDLen
 Encapsulates PSID length. More...
 
class  RelayInfoParser
 parser for additional relay information More...
 
class  ReservedAddress
 Exception thrown when an address is already reserved by a Host object (DuplicateHost is same identity, ReservedAddress same address). More...
 
class  RFCViolation
 An exception that is thrown if a DHCPv6 protocol violation occurs while processing a message (e.g. More...
 
class  SanityChecker
 Code used to conduct various sanity checks. More...
 
class  SanityChecksParser
 Simple parser for sanity-checks structure. More...
 
class  ScopedEnableOptionsCopy
 RAII object enabling copying options retrieved from the packet. More...
 
class  SharedNetwork4
 Shared network holding IPv4 subnets. More...
 
class  SharedNetwork4Parser
 Implements parser for IPv4 shared networks. More...
 
class  SharedNetwork6
 Shared network holding IPv6 subnets. More...
 
class  SharedNetwork6Parser
 Implements parser for IPv6 shared networks. More...
 
struct  SharedNetworkNameIndexTag
 A tag for accessing index by shared network name. More...
 
struct  SharedNetworkRandomAccessIndexTag
 A tag for accessing random access index. More...
 
struct  SharedNetworkServerIdIndexTag
 A tag for accessing index by server identifier. More...
 
class  SharedNetworksListParser
 Parser for a list of shared networks. More...
 
class  SignalInterruptOnSelect
 Exception thrown when a call to select is interrupted by a signal. More...
 
class  SimpleParser4
 
class  SimpleParser6
 
class  SkipRemainingOptionsError
 Exception thrown during option unpacking This exception is thrown when an error has occurred, unpacking an option from a packet and we wish to abandon any any further unpacking efforts and allow the server to attempt to process the packet as it stands. More...
 
class  slice
 Present a slice of the top of a stack. More...
 
class  SocketConfigError
 IfaceMgr exception thrown thrown when socket opening or configuration failed. More...
 
struct  SocketInfo
 Holds information about socket. More...
 
class  SocketNotFound
 IfaceMgr exception thrown when there is no suitable socket found. More...
 
class  SocketReadError
 IfaceMgr exception thrown thrown when error occurred during reading data from socket. More...
 
class  SocketWriteError
 IfaceMgr exception thrown thrown when error occurred during sending data through socket. More...
 
class  SrvConfig
 Specifies current DHCP configuration. More...
 
class  stack
 A stack with random access from its top. More...
 
class  Subnet
 
class  Subnet4
 A configuration holder for IPv4 subnet. More...
 
class  Subnet4ConfigParser
 This class parses a single IPv4 subnet. More...
 
class  Subnet6
 A configuration holder for IPv6 subnet. More...
 
class  Subnet6ConfigParser
 This class parses a single IPv6 subnet. More...
 
class  SubnetConfigParser
 this class parses a single subnet More...
 
struct  SubnetIdIndexTag
 Tag for indexs by subnet-id. More...
 
struct  SubnetPrefixIndexTag
 Tag for the index for searching by subnet prefix. More...
 
struct  SubnetRandomAccessIndexTag
 Tag for the random access index. More...
 
class  Subnets4ListConfigParser
 this class parses list of DHCP4 subnets More...
 
class  Subnets6ListConfigParser
 this class parses a list of DHCP6 subnets More...
 
struct  SubnetSelector
 Subnet selector used to specify parameters used to select a subnet. More...
 
struct  SubnetServerIdIndexTag
 Tag for the index for searching by server identifier. More...
 
struct  SubnetSubnetIdIndexTag
 Tag for the index for searching by subnet identifier. More...
 
class  TimerMgr
 Manages a pool of asynchronous interval timers. More...
 
class  TimerMgrImpl
 Implementation of the TimerMgr. More...
 
class  Token
 Base class for all tokens. More...
 
class  TokenAnd
 Token that represents logical and operator. More...
 
class  TokenConcat
 Token that represents concat operator (concatenates two other tokens) More...
 
class  TokenEqual
 Token that represents equality operator (compares two other tokens) More...
 
class  TokenHexString
 Token representing a constant string in hexadecimal format. More...
 
class  TokenIfElse
 Token that represents an alternative. More...
 
class  TokenInteger
 Token representing an unsigned 32 bit integer. More...
 
class  TokenIpAddress
 Token representing an IP address as a constant string. More...
 
class  TokenMember
 Token that represents client class membership. More...
 
class  TokenNot
 Token that represents logical negation operator. More...
 
class  TokenOption
 Token that represents a value of an option. More...
 
class  TokenOr
 Token that represents logical or operator. More...
 
class  TokenPkt
 Token that represents meta data of a DHCP packet. More...
 
class  TokenPkt4
 Token that represents fields of a DHCPv4 packet. More...
 
class  TokenPkt6
 Token that represents fields of DHCPv6 packet. More...
 
class  TokenRelay4Option
 Represents a sub-option inserted by the DHCPv4 relay. More...
 
class  TokenRelay6Field
 Token that represents a value of a field within a DHCPv6 relay encapsulation. More...
 
class  TokenRelay6Option
 Token that represents a value of an option within a DHCPv6 relay encapsulation. More...
 
class  TokenString
 The order where Token subtypes are declared should be: More...
 
class  TokenSubstring
 Token that represents the substring operator (returns a portion of the supplied string) More...
 
class  TokenToHexString
 Token that converts to hexadecimal string. More...
 
class  TokenVendor
 Token that represents vendor options in DHCPv4 and DHCPv6. More...
 
class  TokenVendorClass
 Token that represents vendor class options in DHCPv4 and DHCPv6. More...
 
class  Triplet
 This template specifies a parameter value. More...
 
class  ValueStorage
 A template class that stores named elements of a given data type. More...
 
struct  variant
 A char[S] buffer to store and retrieve objects. More...
 
class  WritableHostDataSource
 Interface for retrieving writable host reservations. More...
 

Typedefs

typedef boost::shared_ptr< AllocEngineAllocEnginePtr
 A pointer to the AllocEngine object. More...
 
typedef ValueStorage< bool > BooleanStorage
 Storage for parsed boolean values. More...
 
typedef boost::shared_ptr< BooleanStorageBooleanStoragePtr
 
typedef boost::shared_ptr< CacheHostDataSourceCacheHostDataSourcePtr
 CacheHostDataSource pointer. More...
 
typedef boost::shared_ptr< CfgConsistencyCfgConsistencyPtr
 Type used to for pointing to CfgConsistency structure. More...
 
typedef boost::shared_ptr< CfgDbAccessCfgDbAccessPtr
 A pointer to the CfgDbAccess. More...
 
typedef boost::shared_ptr< CfgIfaceCfgIfacePtr
 A pointer to the CfgIface . More...
 
typedef std::vector< uint32_t > CfgMACSources
 Container for defined MAC/hardware address sources. More...
 
typedef boost::shared_ptr< CfgSharedNetworks4CfgSharedNetworks4Ptr
 Pointer to the configuration of IPv4 shared networks. More...
 
typedef boost::shared_ptr< CfgSharedNetworks6CfgSharedNetworks6Ptr
 Pointer to the configuration of IPv6 shared networks. More...
 
typedef std::string ClientClass
 Defines a single class name. More...
 
typedef std::vector< ClientClassDefPtrClientClassDefList
 Defines a list of ClientClassDefPtr's, using insert order. More...
 
typedef boost::shared_ptr< ClientClassDefListClientClassDefListPtr
 Defines a pointer to a ClientClassDefList. More...
 
typedef std::unordered_map< std::string, ClientClassDefPtrClientClassDefMap
 Defines a map of ClientClassDef's, keyed by the class name. More...
 
typedef boost::shared_ptr< ClientClassDefMapClientClassDefMapPtr
 Defines a pointer to a ClientClassDefMap. More...
 
typedef boost::shared_ptr< ClientClassDefParserClientClassDefParserPtr
 Defines a pointer to a ClientClassDefParser. More...
 
typedef boost::shared_ptr< ClientClassDefClientClassDefPtr
 a pointer to an ClientClassDef More...
 
typedef boost::shared_ptr< ClientClassDictionaryClientClassDictionaryPtr
 Defines a pointer to a ClientClassDictionary. More...
 
typedef boost::shared_ptr< ClientIdClientIdPtr
 Shared pointer to a Client ID. More...
 
typedef boost::shared_ptr< ConfigBackendDHCPv4ConfigBackendDHCPv4Ptr
 Shared pointer to the ConfigBackendDHCPv4 instance. More...
 
typedef std::pair< std::string, isc::data::ConstElementPtrConfigPair
 Combination of parameter name and configuration contents. More...
 
typedef boost::shared_ptr< const CfgDbAccessConstCfgDbAccessPtr
 A pointer to the const CfgDbAccess. More...
 
typedef boost::shared_ptr< const CfgIfaceConstCfgIfacePtr
 A pointer to the const CfgIface. More...
 
typedef std::vector< ConstHostPtrConstHostCollection
 Collection of the const Host objects. More...
 
typedef boost::shared_ptr< const HostConstHostPtr
 Const pointer to the Host object. More...
 
typedef boost::shared_ptr< const Lease6ConstLease6Ptr
 Pointer to a const Lease6 structure. More...
 
typedef boost::shared_ptr< const Subnet4ConstSubnet4Ptr
 A const pointer to a Subnet4 object. More...
 
typedef boost::shared_ptr< const Subnet6ConstSubnet6Ptr
 A const pointer to a Subnet6 object. More...
 
typedef boost::shared_ptr< D2ClientConfigD2ClientConfigPtr
 Defines a pointer for D2ClientConfig instances. More...
 
typedef boost::function< void(const dhcp_ddns::NameChangeSender::Result result, dhcp_ddns::NameChangeRequestPtr &ncr)> D2ClientErrorHandler
 Defines the type for D2 IO error handler. More...
 
typedef boost::shared_ptr< D2ClientMgrD2ClientMgrPtr
 Defines a pointer for D2ClientMgr instances. More...
 
typedef boost::shared_ptr< Dhcpv4ExchangeDhcpv4ExchangePtr
 Type representing the pointer to the Dhcpv4Exchange. More...
 
typedef boost::shared_ptr< DUIDDuidPtr
 
typedef std::vector< TokenPtrExpression
 This is a structure that holds an expression converted to RPN. More...
 
typedef boost::shared_ptr< ExpressionExpressionPtr
 
typedef std::vector< HostPtrHostCollection
 Collection of the Host objects. More...
 
typedef boost::multi_index_container< HostPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< Host, boost::multi_index::const_mem_fun< Host, const std::vector< uint8_t > &, &Host::getIdentifier >, boost::multi_index::const_mem_fun< Host, Host::IdentifierType, &Host::getIdentifierType > > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< Host, const asiolink::IOAddress &, &Host::getIPv4Reservation > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< Host, SubnetID, &Host::getIPv4SubnetID > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< Host, SubnetID, &Host::getIPv6SubnetID > > >> HostContainer
 Multi-index container holding host reservations. More...
 
typedef boost::multi_index_container< HostResrv6Tuple, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< HostResrv6Tuple, const asiolink::IOAddress &, &HostResrv6Tuple::getKey > >, boost::multi_index::ordered_unique< boost::multi_index::composite_key< HostResrv6Tuple, boost::multi_index::member< HostResrv6Tuple, const SubnetID, &HostResrv6Tuple::subnet_id_ >, boost::multi_index::const_mem_fun< HostResrv6Tuple, const asiolink::IOAddress &, &HostResrv6Tuple::getKey > > >, boost::multi_index::ordered_non_unique< boost::multi_index::member< HostResrv6Tuple, const SubnetID, &HostResrv6Tuple::subnet_id_ > > >> HostContainer6
 Multi-index container holding IPv6 reservations. More...
 
typedef HostContainer6::nth_index< 0 >::type HostContainer6Index0
 First index type in the HostContainer6. More...
 
typedef std::pair< HostContainer6Index0::iterator, HostContainer6Index0::iterator > HostContainer6Index0Range
 Results range returned using the HostContainer6Index0. More...
 
typedef HostContainer6::nth_index< 1 >::type HostContainer6Index1
 Second index type in the HostContainer6. More...
 
typedef std::pair< HostContainer6Index1::iterator, HostContainer6Index1::iterator > HostContainer6Index1Range
 Results range returned using the HostContainer6Index1. More...
 
typedef HostContainer6::nth_index< 2 >::type HostContainer6Index2
 Third index type in the HostContainer6. More...
 
typedef std::pair< HostContainer6Index2::iterator, HostContainer6Index2::iterator > HostContainer6Index2Range
 Results range returned using the HostContainer6Index2. More...
 
typedef HostContainer::nth_index< 0 >::type HostContainerIndex0
 First index type in the HostContainer. More...
 
typedef std::pair< HostContainerIndex0::iterator, HostContainerIndex0::iterator > HostContainerIndex0Range
 Results range returned using the HostContainerIndex0. More...
 
typedef HostContainer::nth_index< 1 >::type HostContainerIndex1
 Second index type in the HostContainer. More...
 
typedef std::pair< HostContainerIndex1::iterator, HostContainerIndex1::iterator > HostContainerIndex1Range
 Results range returned using the HostContainerIndex1. More...
 
typedef HostContainer::nth_index< 2 >::type HostContainerIndex2
 Third index type in the HostContainer. More...
 
typedef std::pair< HostContainerIndex2::iterator, HostContainerIndex2::iterator > HostContainerIndex2Range
 Results range returned using the HostContainerIndex2. More...
 
typedef HostContainer::nth_index< 3 >::type HostContainerIndex3
 Forth index type in the HostContainer. More...
 
typedef std::pair< HostContainerIndex3::iterator, HostContainerIndex3::iterator > HostContainerIndex3Range
 Results range returned using the HostContainerIndex3. More...
 
typedef std::vector< HostDataSourcePtrHostDataSourceList
 HostDataSource list. More...
 
typedef boost::shared_ptr< BaseHostDataSourceHostDataSourcePtr
 HostDataSource pointer. More...
 
typedef uint64_t HostID
 HostID (used only when storing in MySQL, PostgreSQL or Cassandra) More...
 
typedef boost::shared_ptr< HostHostPtr
 Pointer to the Host object. More...
 
typedef boost::shared_ptr< HWAddrHWAddrPtr
 Shared pointer to a hardware address structure. More...
 
typedef boost::function< void(const std::string &errmsg)> IfaceMgrErrorMsgCallback
 This type describes the callback function invoked when error occurs in the IfaceMgr. More...
 
typedef boost::shared_ptr< IfaceMgrIfaceMgrPtr
 Type definition for the pointer to the IfaceMgr. More...
 
typedef boost::shared_ptr< IfaceIfacePtr
 
typedef std::vector< isc::asiolink::IOAddressIOAddressList
 List of IOAddresses. More...
 
typedef std::multimap< IPv6Resrv::Type, IPv6ResrvIPv6ResrvCollection
 Collection of IPv6 reservations for the host. More...
 
typedef IPv6ResrvCollection::const_iterator IPv6ResrvIterator
 
typedef std::pair< IPv6ResrvIterator, IPv6ResrvIteratorIPv6ResrvRange
 
typedef std::pair< IPv6Resrv::Type, IPv6ResrvIPv6ResrvTuple
 
typedef std::vector< Lease4PtrLease4Collection
 A collection of IPv4 leases. More...
 
typedef boost::shared_ptr< Lease4CollectionLease4CollectionPtr
 A shared pointer to the collection of IPv4 leases. More...
 
typedef boost::shared_ptr< Lease4Lease4Ptr
 Pointer to a Lease4 structure. More...
 
typedef std::vector< Lease6PtrLease6Collection
 A collection of IPv6 leases. More...
 
typedef boost::shared_ptr< Lease6CollectionLease6CollectionPtr
 A shared pointer to the collection of IPv6 leases. More...
 
typedef boost::shared_ptr< Lease6Lease6Ptr
 Pointer to a Lease6 structure. More...
 
typedef boost::shared_ptr< LeaseLeasePtr
 Pointer to the lease object. More...
 
typedef boost::shared_ptr< LeaseStatsQueryLeaseStatsQueryPtr
 Defines a pointer to a LeaseStatsQuery. More...
 
typedef boost::shared_ptr< LeaseStatsRowLeaseStatsRowPtr
 Defines a pointer to a LeaseStatsRow. More...
 
typedef boost::shared_ptr< NetworkNetworkPtr
 Pointer to the Network object. More...
 
typedef boost::shared_ptr< NetworkStateNetworkStatePtr
 Pointer to the NetworkState object. More...
 
typedef boost::shared_ptr< OpaqueDataTupleOpaqueDataTuplePtr
 Pointer to the OpaqueDataTuple object. More...
 
typedef boost::shared_ptr< Option4AddrLstOption4AddrLstPtr
 A pointer to the Option4AddrLst object. More...
 
typedef boost::shared_ptr< Option4ClientFqdnOption4ClientFqdnPtr
 A pointer to the Option4ClientFqdn object. More...
 
typedef boost::shared_ptr< Option4SlpServiceScopeOption4SlpServiceScopePtr
 Pointer to the isc::dhcp::Option4SlpServiceScope. More...
 
typedef boost::shared_ptr< Option6AddrLstOption6AddrLstPtr
 Pointer to the Option6AddrLst object. More...
 
typedef boost::shared_ptr< Option6AuthOption6AuthPtr
 A pointer to the isc::dhcp::Option6Auth object. More...
 
typedef boost::shared_ptr< Option6ClientFqdnOption6ClientFqdnPtr
 A pointer to the Option6ClientFqdn object. More...
 
typedef boost::shared_ptr< Option6IAAddrOption6IAAddrPtr
 A pointer to the isc::dhcp::Option6IAAddr object. More...
 
typedef boost::shared_ptr< Option6IAPrefixOption6IAPrefixPtr
 Pointer to the Option6IAPrefix object. More...
 
typedef boost::shared_ptr< Option6IAOption6IAPtr
 A pointer to the Option6IA object. More...
 
typedef boost::shared_ptr< Option6PDExcludeOption6PDExcludePtr
 Pointer to the Option6PDExclude object. More...
 
typedef boost::shared_ptr< Option6StatusCodeOption6StatusCodePtr
 Pointer to the isc::dhcp::Option6StatusCode. More...
 
typedef std::vector< uint8_t > OptionBuffer
 buffer types used in DHCP code. More...
 
typedef OptionBuffer::const_iterator OptionBufferConstIter
 const_iterator for walking over OptionBuffer More...
 
typedef OptionBuffer::iterator OptionBufferIter
 iterator for walking over OptionBuffer More...
 
typedef boost::shared_ptr< OptionBufferOptionBufferPtr
 pointer to a DHCP buffer More...
 
typedef std::multimap< unsigned int, OptionPtrOptionCollection
 A collection of DHCP (v4 or v6) options. More...
 
typedef boost::shared_ptr< OptionCollectionOptionCollectionPtr
 A pointer to an OptionCollection. More...
 
typedef boost::multi_index_container< OptionDescriptor, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::persistent_ > > >> OptionContainer
 Multi index container for DHCP option descriptors. More...
 
typedef OptionContainer::nth_index< 2 >::type OptionContainerPersistIndex
 Type of the index #2 - option persistency flag. More...
 
typedef std::pair< OptionContainerPersistIndex::const_iterator, OptionContainerPersistIndex::const_iterator > OptionContainerPersistRange
 Pair of iterators to represent the range of options having the same persistency flag. More...
 
typedef boost::shared_ptr< OptionContainerOptionContainerPtr
 Pointer to the OptionContainer object. More...
 
typedef OptionContainer::nth_index< 1 >::type OptionContainerTypeIndex
 Type of the index #1 - option type. More...
 
typedef std::pair< OptionContainerTypeIndex::const_iterator, OptionContainerTypeIndex::const_iterator > OptionContainerTypeRange
 Pair of iterators to represent the range of options having the same option type value. More...
 
typedef boost::shared_ptr< OptionCustomOptionCustomPtr
 A pointer to the OptionCustom object. More...
 
typedef boost::multi_index_container< OptionDefinitionPtr, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, uint16_t, &OptionDefinition::getCode > >, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, std::string, &OptionDefinition::getName > > >> OptionDefContainer
 Multi index container for DHCP option definitions. More...
 
typedef OptionDefContainer::nth_index< 2 >::type OptionDefContainerNameIndex
 Type of the index #2 - option name. More...
 
typedef std::pair< OptionDefContainerNameIndex::const_iterator, OptionDefContainerNameIndex::const_iterator > OptionDefContainerNameRange
 Pair of iterators to represent the range of options definitions having the same option name. More...
 
typedef boost::shared_ptr< OptionDefContainerOptionDefContainerPtr
 Pointer to an option definition container. More...
 
typedef std::map< std::string, OptionDefContainerPtrOptionDefContainers
 Container that holds option definitions for various option spaces. More...
 
typedef OptionDefContainer::nth_index< 1 >::type OptionDefContainerTypeIndex
 Type of the index #1 - option type. More...
 
typedef std::pair< OptionDefContainerTypeIndex::const_iterator, OptionDefContainerTypeIndex::const_iterator > OptionDefContainerTypeRange
 Pair of iterators to represent the range of options definitions having the same option type value. More...
 
typedef boost::shared_ptr< OptionDefinitionOptionDefinitionPtr
 Pointer to option definition object. More...
 
typedef std::pair< isc::dhcp::OptionDefinitionPtr, std::string > OptionDefinitionTuple
 
typedef OptionSpaceContainer< OptionDefContainer, OptionDefinitionPtr, std::string > OptionDefSpaceContainer
 
typedef boost::shared_ptr< OptionDescriptorOptionDescriptorPtr
 A pointer to option descriptor. More...
 
typedef boost::shared_ptr< OptionOpaqueDataTuplesOptionOpaqueDataTuplesPtr
 Defines a pointer to the OptionOpaqueDataTuples. More...
 
typedef boost::shared_ptr< OptionOptionPtr
 
typedef std::map< std::string, OptionSpacePtrOptionSpaceCollection
 A collection of option spaces. More...
 
typedef boost::shared_ptr< OptionSpaceOptionSpacePtr
 A pointer to OptionSpace object. More...
 
typedef OptionSpaceContainer< OptionContainer, OptionDescriptor, std::string > OptionStorage
 Collection of containers holding option spaces. More...
 
typedef boost::shared_ptr< OptionStorageOptionStoragePtr
 Shared pointer to option storage. More...
 
typedef boost::shared_ptr< OptionStringOptionStringPtr
 Pointer to the OptionString object. More...
 
typedef OptionInt< uint16_t > OptionUint16
 
typedef OptionIntArray< uint16_t > OptionUint16Array
 
typedef boost::shared_ptr< OptionUint16ArrayOptionUint16ArrayPtr
 
typedef boost::shared_ptr< OptionUint16OptionUint16Ptr
 
typedef OptionInt< uint32_t > OptionUint32
 
typedef OptionIntArray< uint32_t > OptionUint32Array
 
typedef boost::shared_ptr< OptionUint32ArrayOptionUint32ArrayPtr
 
typedef boost::shared_ptr< OptionUint32OptionUint32Ptr
 
typedef OptionInt< uint8_t > OptionUint8
 
typedef OptionIntArray< uint8_t > OptionUint8Array
 
typedef boost::shared_ptr< OptionUint8ArrayOptionUint8ArrayPtr
 
typedef boost::shared_ptr< OptionUint8OptionUint8Ptr
 
typedef boost::shared_ptr< OptionVendorClassOptionVendorClassPtr
 Defines a pointer to the OptionVendorClass. More...
 
typedef boost::shared_ptr< OptionVendorOptionVendorPtr
 Pointer to a vendor option. More...
 
typedef boost::shared_ptr< PacketQueue< Pkt4Ptr > > PacketQueue4Ptr
 Defines pointer to the DHCPv4 queue interface used at the application level. More...
 
typedef boost::shared_ptr< PacketQueue< Pkt6Ptr > > PacketQueue6Ptr
 Defines pointer to the DHCPv6 queue interface used at the application level. More...
 
typedef boost::shared_ptr< PacketQueueMgr4PacketQueueMgr4Ptr
 Defines a shared pointer to PacketQueueMgr4. More...
 
typedef boost::shared_ptr< PacketQueueMgr6PacketQueueMgr6Ptr
 Defines a shared pointer to PacketQueueMgr6. More...
 
typedef boost::shared_ptr< Pkt4o6Pkt4o6Ptr
 A pointer to Pkt4o6 object. More...
 
typedef boost::shared_ptr< Pkt4Pkt4Ptr
 A pointer to Pkt4 object. More...
 
typedef boost::shared_ptr< Pkt6Pkt6Ptr
 A pointer to Pkt6 packet. More...
 
typedef boost::shared_ptr< PktFilter6PktFilter6Ptr
 Pointer to a PktFilter object. More...
 
typedef boost::shared_ptr< PktFilterPktFilterPtr
 Pointer to a PktFilter object. More...
 
typedef boost::shared_ptr< Pool4Pool4Ptr
 a pointer an IPv4 Pool More...
 
typedef boost::shared_ptr< Pool6Pool6Ptr
 a pointer an IPv6 Pool More...
 
typedef std::vector< PoolPtrPoolCollection
 a container for either IPv4 or IPv6 Pools More...
 
typedef boost::shared_ptr< PoolPoolPtr
 a pointer to either IPv4 or IPv6 Pool More...
 
typedef std::vector< PoolPtrPoolStorage
 a collection of pools More...
 
typedef boost::shared_ptr< PoolStoragePoolStoragePtr
 
typedef std::pair< PrefixLen, asiolink::IOAddressPrefixTuple
 Defines a pair of prefix length / value. More...
 
typedef std::pair< PSIDLen, PSIDPSIDTuple
 Defines a pair of PSID length / value. More...
 
typedef boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork4, std::string, &SharedNetwork4::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > > >> SharedNetwork4Collection
 Multi index container holding shared networks. More...
 
typedef boost::shared_ptr< SharedNetwork4SharedNetwork4Ptr
 Pointer to SharedNetwork4 object. More...
 
typedef boost::multi_index_container< SharedNetwork6Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork6, std::string, &SharedNetwork6::getName > > >> SharedNetwork6Collection
 Multi index container holding shared networks. More...
 
typedef boost::shared_ptr< SharedNetwork6SharedNetwork6Ptr
 Pointer to SharedNetwork6 object. More...
 
typedef SharedNetworksListParser< SharedNetwork4ParserSharedNetworks4ListParser
 Type of the shared networks list parser for IPv4. More...
 
typedef SharedNetworksListParser< SharedNetwork6ParserSharedNetworks6ListParser
 Type of the shared networks list parser for IPv6. More...
 
typedef ValueStorage< std::string > StringStorage
 a collection of elements that store string values More...
 
typedef boost::shared_ptr< StringStorageStringStoragePtr
 
typedef boost::shared_ptr< Subnet4Subnet4Ptr
 A pointer to a Subnet4 object. More...
 
typedef boost::shared_ptr< Subnet6Subnet6Ptr
 A pointer to a Subnet6 object. More...
 
typedef uint32_t SubnetID
 Unique identifier for a subnet (both v4 and v6) More...
 
typedef boost::shared_ptr< SubnetSubnetPtr
 A generic pointer to either Subnet4 or Subnet6 object. More...
 
typedef boost::array< TaggedStatement, MySqlHostDataSourceImpl::NUM_STATEMENTSTaggedStatementArray
 Array of tagged statements. More...
 
typedef std::map< std::string, TimerInfoPtrTimerInfoMap
 A type definition for the map holding timers configuration. More...
 
typedef boost::shared_ptr< TimerInfo > TimerInfoPtr
 A type definition for the pointer to TimerInfo structure. More...
 
typedef boost::shared_ptr< TimerMgrTimerMgrPtr
 Type definition of the shared pointer to TimerMgr. More...
 
typedef boost::shared_ptr< TokenTokenPtr
 Pointer to a single Token. More...
 
typedef ValueStorage< uint32_t > Uint32Storage
 a collection of elements that store uint32 values More...
 
typedef boost::shared_ptr< Uint32StorageUint32StoragePtr
 
typedef std::stack< std::string > ValueStack
 Evaluated values are stored as a stack of strings. More...
 
typedef std::map< uint32_t, OptionDefContainerPtrVendorOptionDefContainers
 Container that holds various vendor option containers. More...
 
typedef std::pair< uint32_t, uint32_t > VersionPair
 Pair containing major and minor versions. More...
 
typedef boost::weak_ptr< NetworkWeakNetworkPtr
 Weak pointer to the Network object. More...
 
Pointers to the @c CfgDUID objects.
typedef boost::shared_ptr< CfgDUIDCfgDUIDPtr
 Pointer to the Non-const object. More...
 
typedef boost::shared_ptr< const CfgDUIDConstCfgDUIDPtr
 Pointer to the const object. More...
 
Pointers to the @c CfgExpiration objects.
typedef boost::shared_ptr< CfgExpirationCfgExpirationPtr
 Pointer to the Non-const object. More...
 
typedef boost::shared_ptr< const CfgExpirationConstCfgExpirationPtr
 Pointer to the const object. More...
 
Pointers to the @ref CfgHostOperations objects.
typedef boost::shared_ptr< CfgHostOperationsCfgHostOperationsPtr
 Pointer to the Non-const object. More...
 
typedef boost::shared_ptr< const CfgHostOperationsConstCfgHostOperationsPtr
 Pointer to the const object. More...
 
Pointers to the @c CfgHosts objects.
typedef boost::shared_ptr< CfgHostsCfgHostsPtr
 Non-const pointer. More...
 
typedef boost::shared_ptr< const CfgHostsConstCfgHostsPtr
 Const pointer. More...
 
Pointers to the @c CfgOption objects.
typedef boost::shared_ptr< CfgOptionCfgOptionPtr
 Non-const pointer. More...
 
typedef boost::shared_ptr< const CfgOptionConstCfgOptionPtr
 Const pointer. More...
 
typedef std::list< ConstCfgOptionPtrCfgOptionList
 Const pointer list. More...
 
Pointers to the @c CfgOptionDef objects.
typedef boost::shared_ptr< CfgOptionDefCfgOptionDefPtr
 Non-const pointer. More...
 
typedef boost::shared_ptr< const CfgOptionDefConstCfgOptionDefPtr
 Const pointer. More...
 
Pointers to the @c CfgRSOO objects.
typedef boost::shared_ptr< CfgRSOOCfgRSOOPtr
 Pointer to the Non-const object. More...
 
typedef boost::shared_ptr< const CfgRSOOConstCfgRSOOPtr
 Pointer to the const object. More...
 
Pointer to the @c CfgSubnets4 objects.
typedef boost::shared_ptr< CfgSubnets4CfgSubnets4Ptr
 Non-const pointer. More...
 
typedef boost::shared_ptr< const CfgSubnets4ConstCfgSubnets4Ptr
 Const pointer. More...
 
Pointer to the @c CfgSubnets6 objects.
typedef boost::shared_ptr< CfgSubnets6CfgSubnets6Ptr
 Non-const pointer. More...
 
typedef boost::shared_ptr< const CfgSubnets6ConstCfgSubnets6Ptr
 Const pointer. More...
 
Multi index containers holding DHCPv4 and DHCPv6 leases.
typedef boost::multi_index_container< Lease6Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AddressIndexTag >, boost::multi_index::member< Lease, isc::asiolink::IOAddress, &Lease::addr_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< DuidIaidTypeIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun< Lease6, const std::vector< uint8_t > &, &Lease6::getDuidVector >, boost::multi_index::member< Lease6, uint32_t, &Lease6::iaid_ >, boost::multi_index::member< Lease6, Lease::Type, &Lease6::type_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ExpirationIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun< Lease, bool, &Lease::stateExpiredReclaimed >, boost::multi_index::const_mem_fun< Lease, int64_t, &Lease::getExpirationTime > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdIndexTag >, boost::multi_index::member< Lease, isc::dhcp::SubnetID, &Lease::subnet_id_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< DuidIndexTag >, boost::multi_index::const_mem_fun< Lease6, const std::vector< uint8_t > &, &Lease6::getDuidVector > > >> Lease6Storage
 A multi index container holding DHCPv6 leases. More...
 
typedef boost::multi_index_container< Lease4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AddressIndexTag >, boost::multi_index::member< Lease, isc::asiolink::IOAddress, &Lease::addr_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HWAddressSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease, const std::vector< uint8_t > &, &Lease::getHWAddrVector >, boost::multi_index::member< Lease, SubnetID, &Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ClientIdSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease4, const std::vector< uint8_t > &, &Lease4::getClientIdVector >, boost::multi_index::member< Lease, uint32_t, &Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ClientIdHWAddressSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease4, const std::vector< uint8_t > &, &Lease4::getClientIdVector >, boost::multi_index::const_mem_fun< Lease, const std::vector< uint8_t > &, &Lease::getHWAddrVector >, boost::multi_index::member< Lease, SubnetID, &Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ExpirationIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease, bool, &Lease::stateExpiredReclaimed >, boost::multi_index::const_mem_fun< Lease, int64_t, &Lease::getExpirationTime > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdIndexTag >, boost::multi_index::member< Lease, isc::dhcp::SubnetID, &Lease::subnet_id_ > > >> Lease4Storage
 A multi index container holding DHCPv4 leases. More...
 
Indexes used by the multi index containers
typedef Lease6Storage::index< AddressIndexTag >::type Lease6StorageAddressIndex
 DHCPv6 lease storage index by address. More...
 
typedef Lease6Storage::index< DuidIaidTypeIndexTag >::type Lease6StorageDuidIaidTypeIndex
 DHCPv6 lease storage index by DUID, IAID, lease type. More...
 
typedef Lease6Storage::index< ExpirationIndexTag >::type Lease6StorageExpirationIndex
 DHCPv6 lease storage index by expiration time. More...
 
typedef Lease6Storage::index< SubnetIdIndexTag >::type Lease6StorageSubnetIdIndex
 DHCPv6 lease storage index by Subnet-id. More...
 
typedef Lease6Storage::index< DuidIndexTag >::type Lease6StorageDuidIndex
 DHCPv6 lease storage index by Subnet-id. More...
 
typedef Lease4Storage::index< AddressIndexTag >::type Lease4StorageAddressIndex
 DHCPv4 lease storage index by address. More...
 
typedef Lease4Storage::index< ExpirationIndexTag >::type Lease4StorageExpirationIndex
 DHCPv4 lease storage index by expiration time. More...
 
typedef Lease4Storage::index< HWAddressSubnetIdIndexTag >::type Lease4StorageHWAddressSubnetIdIndex
 DHCPv4 lease storage index by HW address and subnet identifier. More...
 
typedef Lease4Storage::index< ClientIdSubnetIdIndexTag >::type Lease4StorageClientIdSubnetIdIndex
 DHCPv4 lease storage index by client and subnet identifier. More...
 
typedef Lease4Storage::index< ClientIdHWAddressSubnetIdIndexTag >::type Lease4StorageClientIdHWAddressSubnetIdIndex
 DHCPv4 lease storage index by client id, HW address and subnet id. More...
 
typedef Lease4Storage::index< SubnetIdIndexTag >::type Lease4StorageSubnetIdIndex
 DHCPv4 lease storage index by client id, HW address and subnet id. More...
 
Pointers to the @c SrvConfig object.
typedef boost::shared_ptr< SrvConfigSrvConfigPtr
 Non-const pointer to the SrvConfig. More...
 
typedef boost::shared_ptr< const SrvConfigConstSrvConfigPtr
 Const pointer to the SrvConfig. More...
 
Definition of the multi index container holding subnet information
typedef boost::multi_index_container< Subnet4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SubnetRandomAccessIndexTag > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetSubnetIdIndexTag >, boost::multi_index::const_mem_fun< Subnet, SubnetID, &Subnet::getID > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetPrefixIndexTag >, boost::multi_index::const_mem_fun< Subnet, std::string, &Subnet::toText > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > > >> Subnet4Collection
 A collection of Subnet4 objects. More...
 
typedef boost::multi_index_container< Subnet6Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SubnetRandomAccessIndexTag > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetSubnetIdIndexTag >, boost::multi_index::const_mem_fun< Subnet, SubnetID, &Subnet::getID > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetPrefixIndexTag >, boost::multi_index::const_mem_fun< Subnet, std::string, &Subnet::toText > > >> Subnet6Collection
 A collection of Subnet6 objects. More...
 

Enumerations

enum  BOOTPTypes { BOOTREQUEST = 1, BOOTREPLY = 2 }
 
enum  DBType { DBType::LEASE_DB = 1, DBType::HOSTS_DB = 2 }
 Specifies the database type. More...
 
enum  DHCPMessageType {
  DHCP_NOTYPE = 0, DHCPDISCOVER = 1, DHCPOFFER = 2, DHCPREQUEST = 3,
  DHCPDECLINE = 4, DHCPACK = 5, DHCPNAK = 6, DHCPRELEASE = 7,
  DHCPINFORM = 8, DHCPLEASEQUERY = 10, DHCPLEASEUNASSIGNED = 11, DHCPLEASEUNKNOWN = 12,
  DHCPLEASEACTIVE = 13, DHCPBULKLEASEQUERY = 14, DHCPLEASEQUERYDONE = 15, DHCPLEASEQUERYSTATUS = 17,
  DHCPTLS = 18, DHCP_TYPES_EOF
}
 
enum  DHCPOptionType {
  DHO_PAD = 0, DHO_SUBNET_MASK = 1, DHO_TIME_OFFSET = 2, DHO_ROUTERS = 3,
  DHO_TIME_SERVERS = 4, DHO_NAME_SERVERS = 5, DHO_DOMAIN_NAME_SERVERS = 6, DHO_LOG_SERVERS = 7,
  DHO_COOKIE_SERVERS = 8, DHO_LPR_SERVERS = 9, DHO_IMPRESS_SERVERS = 10, DHO_RESOURCE_LOCATION_SERVERS = 11,
  DHO_HOST_NAME = 12, DHO_BOOT_SIZE = 13, DHO_MERIT_DUMP = 14, DHO_DOMAIN_NAME = 15,
  DHO_SWAP_SERVER = 16, DHO_ROOT_PATH = 17, DHO_EXTENSIONS_PATH = 18, DHO_IP_FORWARDING = 19,
  DHO_NON_LOCAL_SOURCE_ROUTING = 20, DHO_POLICY_FILTER = 21, DHO_MAX_DGRAM_REASSEMBLY = 22, DHO_DEFAULT_IP_TTL = 23,
  DHO_PATH_MTU_AGING_TIMEOUT = 24, DHO_PATH_MTU_PLATEAU_TABLE = 25, DHO_INTERFACE_MTU = 26, DHO_ALL_SUBNETS_LOCAL = 27,
  DHO_BROADCAST_ADDRESS = 28, DHO_PERFORM_MASK_DISCOVERY = 29, DHO_MASK_SUPPLIER = 30, DHO_ROUTER_DISCOVERY = 31,
  DHO_ROUTER_SOLICITATION_ADDRESS = 32, DHO_STATIC_ROUTES = 33, DHO_TRAILER_ENCAPSULATION = 34, DHO_ARP_CACHE_TIMEOUT = 35,
  DHO_IEEE802_3_ENCAPSULATION = 36, DHO_DEFAULT_TCP_TTL = 37, DHO_TCP_KEEPALIVE_INTERVAL = 38, DHO_TCP_KEEPALIVE_GARBAGE = 39,
  DHO_NIS_DOMAIN = 40, DHO_NIS_SERVERS = 41, DHO_NTP_SERVERS = 42, DHO_VENDOR_ENCAPSULATED_OPTIONS = 43,
  DHO_NETBIOS_NAME_SERVERS = 44, DHO_NETBIOS_DD_SERVER = 45, DHO_NETBIOS_NODE_TYPE = 46, DHO_NETBIOS_SCOPE = 47,
  DHO_FONT_SERVERS = 48, DHO_X_DISPLAY_MANAGER = 49, DHO_DHCP_REQUESTED_ADDRESS = 50, DHO_DHCP_LEASE_TIME = 51,
  DHO_DHCP_OPTION_OVERLOAD = 52, DHO_DHCP_MESSAGE_TYPE = 53, DHO_DHCP_SERVER_IDENTIFIER = 54, DHO_DHCP_PARAMETER_REQUEST_LIST = 55,
  DHO_DHCP_MESSAGE = 56, DHO_DHCP_MAX_MESSAGE_SIZE = 57, DHO_DHCP_RENEWAL_TIME = 58, DHO_DHCP_REBINDING_TIME = 59,
  DHO_VENDOR_CLASS_IDENTIFIER = 60, DHO_DHCP_CLIENT_IDENTIFIER = 61, DHO_NWIP_DOMAIN_NAME = 62, DHO_NWIP_SUBOPTIONS = 63,
  DHO_NISP_DOMAIN_NAME = 64, DHO_NISP_SERVER_ADDR = 65, DHO_TFTP_SERVER_NAME = 66, DHO_BOOT_FILE_NAME = 67,
  DHO_HOME_AGENT_ADDRS = 68, DHO_SMTP_SERVER = 69, DHO_POP3_SERVER = 70, DHO_NNTP_SERVER = 71,
  DHO_WWW_SERVER = 72, DHO_FINGER_SERVER = 73, DHO_IRC_SERVER = 74, DHO_STREETTALK_SERVER = 75,
  DHO_STDASERVER = 76, DHO_USER_CLASS = 77, DHO_DIRECTORY_AGENT = 78, DHO_SERVICE_SCOPE = 79,
  DHO_FQDN = 81, DHO_DHCP_AGENT_OPTIONS = 82, DHO_NDS_SERVERS = 85, DHO_NDS_TREE_NAME = 86,
  DHO_NDS_CONTEXT = 87, DHO_BCMCS_DOMAIN_NAME_LIST = 88, DHO_BCMCS_IPV4_ADDR = 89, DHO_AUTHENTICATE = 90,
  DHO_CLIENT_LAST_TRANSACTION_TIME = 91, DHO_ASSOCIATED_IP = 92, DHO_SYSTEM = 93, DHO_NDI = 94,
  DHO_UUID_GUID = 97, DHO_USER_AUTH = 98, DHO_GEOCONF_CIVIC = 99, DHO_PCODE = 100,
  DHO_TCODE = 101, DHO_NETINFO_ADDR = 112, DHO_NETINFO_TAG = 113, DHO_URL = 114,
  DHO_AUTO_CONFIG = 116, DHO_NAME_SERVICE_SEARCH = 117, DHO_SUBNET_SELECTION = 118, DHO_DOMAIN_SEARCH = 119,
  DHO_VIVCO_SUBOPTIONS = 124, DHO_VIVSO_SUBOPTIONS = 125, DHO_PANA_AGENT = 136, DHO_V4_LOST = 137,
  DHO_CAPWAP_AC_V4 = 138, DHO_SIP_UA_CONF_SERVICE_DOMAINS = 141, DHO_RDNSS_SELECT = 146, DHO_V4_PORTPARAMS = 159,
  DHO_V4_CAPTIVE_PORTAL = 160, DHO_6RD = 212, DHO_V4_ACCESS_DOMAIN = 213, DHO_END = 255
}
 
enum  HType {
  HTYPE_UNDEFINED = 0, HTYPE_ETHER = 1, HTYPE_DOCSIS = 1, HTYPE_IEEE802 = 6,
  HTYPE_FDDI = 8
}
 Possible values for hardware type (htype) field. More...
 
enum  OptionDataType {
  OPT_EMPTY_TYPE, OPT_BINARY_TYPE, OPT_BOOLEAN_TYPE, OPT_INT8_TYPE,
  OPT_INT16_TYPE, OPT_INT32_TYPE, OPT_UINT8_TYPE, OPT_UINT16_TYPE,
  OPT_UINT32_TYPE, OPT_ANY_ADDRESS_TYPE, OPT_IPV4_ADDRESS_TYPE, OPT_IPV6_ADDRESS_TYPE,
  OPT_IPV6_PREFIX_TYPE, OPT_PSID_TYPE, OPT_STRING_TYPE, OPT_TUPLE_TYPE,
  OPT_FQDN_TYPE, OPT_RECORD_TYPE, OPT_UNKNOWN_TYPE
}
 Data types of DHCP option fields. More...
 
enum  QueueEnd { QueueEnd::FRONT, QueueEnd::BACK }
 Enumerates choices between the two ends of the queue. More...
 

Functions

uint64_t addrsInRange (const isc::asiolink::IOAddress &min, const isc::asiolink::IOAddress &max)
 Returns number of available addresses in the specified range (min - max). More...
 
uint16_t calcChecksum (const uint8_t *buf, const uint32_t buf_size, uint32_t sum=0)
 Calculates checksum for provided buffer. More...
 
void configureCommandChannel ()
 Initialize the command channel based on the staging configuration. More...
 
isc::data::ConstElementPtr configureDhcp4Server (Dhcpv4Srv &, isc::data::ConstElementPtr config_set, bool check_only=false)
 Configure DHCPv4 server (Dhcpv4Srv) with a set of configuration values. More...
 
isc::data::ConstElementPtr configureDhcp6Server (Dhcpv6Srv &server, isc::data::ConstElementPtr config_set, bool check_only=false)
 Configures DHCPv6 server. More...
 
bool databaseConfigConnect (const SrvConfigPtr &srv_cfg)
 Attempts to connect to configured CB databases. More...
 
void databaseConfigFetch (const SrvConfigPtr &srv_cfg, isc::data::ElementPtr mutable_cfg)
 Fetch configuration from CB databases and merge it into the given configuration. More...
 
void decodeEthernetHeader (util::InputBuffer &buf, Pkt4Ptr &pkt)
 Decode the Ethernet header. More...
 
void decodeIpUdpHeader (util::InputBuffer &buf, Pkt4Ptr &pkt)
 Decode IP and UDP header. More...
 
bool dependOnClass (const TokenPtr &token, const std::string &name)
 Checks dependency on a token. More...
 
bool dependOnClass (const ExpressionPtr &expr, const std::string &name)
 Checks dependency on an expression. More...
 
bool evaluateBool (const Expression &expr, Pkt &pkt)
 Evaluate a RPN expression for a v4 or v6 packet and return a true or false decision. More...
 
std::string evaluateString (const Expression &expr, Pkt &pkt)
 
isc::asiolink::IOAddress firstAddrInPrefix (const isc::asiolink::IOAddress &prefix, uint8_t len)
 This code is based on similar code from the Dibbler project. More...
 
template<typename T >
isc::hooks::CalloutHandlePtr getCalloutHandle (const T &pktptr)
 CalloutHandle Store. More...
 
isc::asiolink::IOAddress getNetmask4 (uint8_t len)
 Generates an IPv4 netmask of specified length. More...
 
std::size_t hash_value (const HostKey &key)
 hash function for HostMap More...
 
bool isClientClassBuiltIn (const ClientClass &client_class)
 Check if a client class name is builtin. More...
 
bool isClientClassDefined (ClientClassDictionaryPtr &class_dictionary, bool &depend_on_known, const ClientClass &client_class)
 Check if a client class name is already defined, i.e. More...
 
isc::asiolink::IOAddress lastAddrInPrefix (const isc::asiolink::IOAddress &prefix, uint8_t len)
 returns a last address in a given prefix More...
 
std::ostream & operator<< (std::ostream &os, const OpaqueDataTuple &tuple)
 Inserts the OpaqueDataTuple as a string into stream. More...
 
std::ostream & operator<< (std::ostream &os, const ClientClassDef &x)
 
std::ostream & operator<< (std::ostream &os, const D2ClientConfig &config)
 
std::ostream & operator<< (std::ostream &os, const Lease &lease)
 Stream output operator. More...
 
bool operator== (const HostKey &key1, const HostKey &key2)
 equals operator for HostKey More...
 
std::istream & operator>> (std::istream &is, OpaqueDataTuple &tuple)
 Inserts data carried in the stream into the tuple. More...
 
uint64_t prefixesInRange (const uint8_t pool_len, const uint8_t delegated_len)
 Returns number of available IPv6 prefixes in the specified prefix. More...
 
int prefixLengthFromRange (const isc::asiolink::IOAddress &min, const isc::asiolink::IOAddress &max)
 Returns prefix length from the specified range (min - max). More...
 
void queueNCR (const dhcp_ddns::NameChangeType &chg_type, const Lease4Ptr &lease)
 Creates name change request from the DHCPv4 lease. More...
 
void queueNCR (const dhcp_ddns::NameChangeType &chg_type, const Lease6Ptr &lease)
 Creates name change request from the DHCPv6 lease. More...
 
void writeEthernetHeader (const Pkt4Ptr &pkt, util::OutputBuffer &out_buf)
 Writes ethernet frame header into a buffer. More...
 
void writeIpUdpHeader (const Pkt4Ptr &pkt, util::OutputBuffer &out_buf)
 Writes both IP and UDP header into output buffer. More...
 

Variables

 __pad0__
 Represents selection of interfaces for DHCP server. More...
 
isc::log::Logger alloc_engine_logger ("alloc-engine")
 Logger for the AllocEngine. More...
 
std::list< std::string > builtinNames
 List of built-in client class names. More...
 
std::list< std::string > builtinPrefixes
 List of built-in client class prefixes i.e. More...
 
const char *const * dhcp4_config_report = isc::detail::config_report
 
const char *const * dhcp6_config_report = isc::detail::config_report
 
isc::log::Logger dhcpsrv_logger ("dhcpsrv")
 DHCP server library Logger. More...
 
const char * DOCSIS3_CLASS_EROUTER = "eRouter1.0"
 The class as specified in vendor-class option by the devices. More...
 
const char * DOCSIS3_CLASS_MODEM = "docsis3.0"
 DOCSIS3.0 compatible cable modem. More...
 
const OptionDefParams DOCSIS3_V4_DEFS []
 Definitions of standard DHCPv4 options. More...
 
const int DOCSIS3_V4_DEFS_SIZE = sizeof(DOCSIS3_V4_DEFS) / sizeof(OptionDefParams)
 Number of option definitions defined. More...
 
const OptionDefParams DOCSIS3_V6_DEFS []
 Definitions of standard DHCPv6 options. More...
 
const int DOCSIS3_V6_DEFS_SIZE
 Number of option definitions defined. More...
 
e g * eth0
 
const int EVAL_DBG_STACK = isc::log::DBGLVL_TRACE_DETAIL_DATA
 
const int EVAL_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC
 Eval debug Logging levels. More...
 
isc::log::Logger eval_logger ("eval")
 Eval Logger. More...
 
isc::log::Logger hosts_logger ("hosts")
 Logger for the HostMgr and the code it calls. More...
 
TaggedStatementArray tagged_statements
 Prepared MySQL statements used by the backend to insert and retrieve hosts from the database. More...
 
const int VENDOR_CLASS_DATA_LEN_INDEX = 1
 
const int VENDOR_CLASS_ENTERPRISE_ID_INDEX = 0
 Indexes for fields in vendor-class (17) DHCPv6 option. More...
 
const int VENDOR_CLASS_STRING_INDEX = 2
 
Constants defining debug levels for logging in DHCPv4 server.
const int DBG_DHCP4_START = isc::log::DBGLVL_START_SHUT
 Debug level used to log information during server startup. More...
 
const int DBG_DHCP4_SHUT = isc::log::DBGLVL_START_SHUT
 Debug level used to log information during server shutdown. More...
 
const int DBG_DHCP4_COMMAND = isc::log::DBGLVL_COMMAND
 Debug level used to log receiving commands. More...
 
const int DBG_DHCP4_BASIC = isc::log::DBGLVL_TRACE_BASIC
 Debug level used to trace basic operations within the code. More...
 
const int DBG_DHCP4_HOOKS = isc::log::DBGLVL_TRACE_BASIC
 Debug level used to trace hook related operations. More...
 
const int DBG_DHCP4_BASIC_DATA = isc::log::DBGLVL_TRACE_BASIC_DATA
 Debug level used to log the traces with some basic data. More...
 
const int DBG_DHCP4_DETAIL = isc::log::DBGLVL_TRACE_DETAIL
 Debug level used to trace detailed errors. More...
 
const int DBG_DHCP4_DETAIL_DATA = isc::log::DBGLVL_TRACE_DETAIL_DATA
 This level is used to log the contents of packets received and sent. More...
 
Constants holding names of loggers for the DHCPv4 server.
const char * DHCP4_ROOT_LOGGER_NAME = "kea-dhcp4"
 Defines the name of the root level (default) logger. More...
 
const char * DHCP4_APP_LOGGER_NAME = "dhcp4"
 Name of the base logger for DHCPv4 server. More...
 
const char * DHCP4_BAD_PACKET_LOGGER_NAME = "bad-packets"
 Name of the logger for rejected packets. More...
 
const char * DHCP4_PACKET_LOGGER_NAME = "packets"
 Name of the logger for processed packets. More...
 
const char * DHCP4_OPTIONS_LOGGER_NAME = "options"
 Name of the logger for options parser. More...
 
const char * DHCP4_DDNS_LOGGER_NAME = "ddns"
 Name of the logger for hostname or FQDN processing. More...
 
const char * DHCP4_LEASE_LOGGER_NAME = "leases"
 Name of the logger for lease allocation logic. More...
 
Loggers used by the DHCPv4 server
isc::log::Logger dhcp4_logger (DHCP4_APP_LOGGER_NAME)
 Base logger for DHCPv4 server. More...
 
isc::log::Logger bad_packet4_logger (DHCP4_BAD_PACKET_LOGGER_NAME)
 Logger for rejected packets. More...
 
isc::log::Logger packet4_logger (DHCP4_PACKET_LOGGER_NAME)
 Logger for processed packets. More...
 
isc::log::Logger options4_logger (DHCP4_OPTIONS_LOGGER_NAME)
 Logger for options parser. More...
 
isc::log::Logger ddns4_logger (DHCP4_DDNS_LOGGER_NAME)
 Logger for Hostname or FQDN processing. More...
 
isc::log::Logger lease4_logger (DHCP4_LEASE_LOGGER_NAME)
 Logger for lease allocation logic. More...
 
Constants defining debug levels for logging in DHCPv6 server.
const int DBG_DHCP6_START = isc::log::DBGLVL_START_SHUT
 Debug level used to log information during server startup. More...
 
const int DBG_DHCP6_SHUT = isc::log::DBGLVL_START_SHUT
 Debug level used to log information during server shutdown. More...
 
const int DBG_DHCP6_COMMAND = isc::log::DBGLVL_COMMAND
 Debug level used to log receiving commands. More...
 
const int DBG_DHCP6_BASIC = isc::log::DBGLVL_TRACE_BASIC
 Debug level used to trace basic operations within the code. More...
 
const int DBG_DHCP6_HOOKS = isc::log::DBGLVL_TRACE_BASIC
 Debug level used to trace hook related operations. More...
 
const int DBG_DHCP6_BASIC_DATA = isc::log::DBGLVL_TRACE_BASIC_DATA
 Debug level used to log the traces with some basic data. More...
 
const int DBG_DHCP6_DETAIL = isc::log::DBGLVL_TRACE_DETAIL
 Debug level used to trace detailed errors. More...
 
const int DBG_DHCP6_DETAIL_DATA = isc::log::DBGLVL_TRACE_DETAIL_DATA
 This level is used to log the contents of packets received and sent. More...
 
Constants holding names of loggers for the DHCPv6 server.
const char * DHCP6_ROOT_LOGGER_NAME = "kea-dhcp6"
 Defines the name of the root level (default) logger. More...
 
const char * DHCP6_APP_LOGGER_NAME = "dhcp6"
 Name of the base logger for DHCPv6 server. More...
 
const char * DHCP6_BAD_PACKET_LOGGER_NAME = "bad-packets"
 Name of the logger for rejected packets. More...
 
const char * DHCP6_PACKET_LOGGER_NAME = "packets"
 Name of the logger for processed packets. More...
 
const char * DHCP6_OPTIONS_LOGGER_NAME = "options"
 Name of the logger for options parser. More...
 
const char * DHCP6_DDNS_LOGGER_NAME = "ddns"
 Name of the logger for hostname or FQDN processing. More...
 
const char * DHCP6_LEASE_LOGGER_NAME = "leases"
 Name of the logger for lease allocation logic. More...
 
Loggers used by the DHCPv6 server
isc::log::Logger dhcp6_logger (DHCP6_APP_LOGGER_NAME)
 Base logger for DHCPv6 server. More...
 
isc::log::Logger bad_packet6_logger (DHCP6_BAD_PACKET_LOGGER_NAME)
 Logger for rejected packets. More...
 
isc::log::Logger packet6_logger (DHCP6_PACKET_LOGGER_NAME)
 Logger for processed packets. More...
 
isc::log::Logger options6_logger (DHCP6_OPTIONS_LOGGER_NAME)
 Logger for options parser. More...
 
isc::log::Logger ddns6_logger (DHCP6_DDNS_LOGGER_NAME)
 Logger for Hostname or FQDN processing. More...
 
isc::log::Logger lease6_logger (DHCP6_LEASE_LOGGER_NAME)
 Logger for lease allocation logic. More...
 
const int ALLOC_ENGINE_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC
 Logging levels for the AllocEngine. More...
 
const int ALLOC_ENGINE_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA
 Records the results of various operations. More...
 
const int ALLOC_ENGINE_DBG_TRACE_DETAIL = isc::log::DBGLVL_TRACE_DETAIL
 Record detailed traces. More...
 
const int ALLOC_ENGINE_DBG_TRACE_DETAIL_DATA
 Records detailed results of various operations. More...
 
const int DHCPSRV_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC
 DHCP server library logging levels. More...
 
const int DHCPSRV_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA
 Records the results of the lookups. More...
 
const int DHCPSRV_DBG_TRACE_DETAIL = isc::log::DBGLVL_TRACE_DETAIL
 Additional information. More...
 
const int DHCPSRV_DBG_TRACE_DETAIL_DATA
 Additional information. More...
 
const int DHCPSRV_DBG_HOOKS = isc::log::DBGLVL_TRACE_BASIC
 
const int HOSTS_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC
 Logging levels for the host reservations management. More...
 
const int HOSTS_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA
 Records the results of the lookups. More...
 
const int HOSTS_DBG_TRACE_DETAIL = isc::log::DBGLVL_TRACE_DETAIL
 Record detailed traces. More...
 
const int HOSTS_DBG_TRACE_DETAIL_DATA
 Records detailed results of lookups. More...
 

Typedef Documentation

◆ AllocEnginePtr

typedef boost::shared_ptr<AllocEngine> isc::dhcp::AllocEnginePtr

A pointer to the AllocEngine object.

Definition at line 1611 of file alloc_engine.h.

◆ BooleanStorage

Storage for parsed boolean values.

Definition at line 184 of file dhcp_parsers.h.

◆ BooleanStoragePtr

typedef boost::shared_ptr<BooleanStorage> isc::dhcp::BooleanStoragePtr

Definition at line 185 of file dhcp_parsers.h.

◆ CacheHostDataSourcePtr

CacheHostDataSource pointer.

Definition at line 62 of file cache_host_data_source.h.

◆ CfgConsistencyPtr

typedef boost::shared_ptr<CfgConsistency> isc::dhcp::CfgConsistencyPtr

Type used to for pointing to CfgConsistency structure.

Definition at line 72 of file cfg_consistency.h.

◆ CfgDbAccessPtr

typedef boost::shared_ptr<CfgDbAccess> isc::dhcp::CfgDbAccessPtr

A pointer to the CfgDbAccess.

Definition at line 101 of file cfg_db_access.h.

◆ CfgDUIDPtr

typedef boost::shared_ptr<CfgDUID> isc::dhcp::CfgDUIDPtr

Pointer to the Non-const object.

Definition at line 149 of file cfg_duid.h.

◆ CfgExpirationPtr

typedef boost::shared_ptr<CfgExpiration> isc::dhcp::CfgExpirationPtr

Pointer to the Non-const object.

Definition at line 275 of file cfg_expiration.h.

◆ CfgHostOperationsPtr

Pointer to the Non-const object.

Definition at line 25 of file cfg_host_operations.h.

◆ CfgHostsPtr

typedef boost::shared_ptr<CfgHosts> isc::dhcp::CfgHostsPtr

Non-const pointer.

Definition at line 482 of file cfg_hosts.h.

◆ CfgIfacePtr

typedef boost::shared_ptr<CfgIface> isc::dhcp::CfgIfacePtr

A pointer to the CfgIface .

Definition at line 387 of file cfg_iface.h.

◆ CfgMACSources

typedef std::vector<uint32_t> isc::dhcp::CfgMACSources

Container for defined MAC/hardware address sources.

Definition at line 19 of file cfg_mac_source.h.

◆ CfgOptionDefPtr

typedef boost::shared_ptr<CfgOptionDef> isc::dhcp::CfgOptionDefPtr

Non-const pointer.

Definition at line 139 of file cfg_option_def.h.

◆ CfgOptionList

Const pointer list.

Definition at line 503 of file cfg_option.h.

◆ CfgOptionPtr

typedef boost::shared_ptr<CfgOption> isc::dhcp::CfgOptionPtr

Non-const pointer.

Definition at line 497 of file cfg_option.h.

◆ CfgRSOOPtr

typedef boost::shared_ptr<CfgRSOO> isc::dhcp::CfgRSOOPtr

Pointer to the Non-const object.

Definition at line 71 of file cfg_rsoo.h.

◆ CfgSharedNetworks4Ptr

Pointer to the configuration of IPv4 shared networks.

Definition at line 131 of file cfg_shared_networks.h.

◆ CfgSharedNetworks6Ptr

Pointer to the configuration of IPv6 shared networks.

Definition at line 145 of file cfg_shared_networks.h.

◆ CfgSubnets4Ptr

typedef boost::shared_ptr<CfgSubnets4> isc::dhcp::CfgSubnets4Ptr

Non-const pointer.

Definition at line 270 of file cfg_subnets4.h.

◆ CfgSubnets6Ptr

typedef boost::shared_ptr<CfgSubnets6> isc::dhcp::CfgSubnets6Ptr

Non-const pointer.

Definition at line 268 of file cfg_subnets6.h.

◆ ClientClass

typedef std::string isc::dhcp::ClientClass

Defines a single class name.

Definition at line 37 of file classify.h.

◆ ClientClassDefList

Defines a list of ClientClassDefPtr's, using insert order.

Definition at line 261 of file client_class_def.h.

◆ ClientClassDefListPtr

Defines a pointer to a ClientClassDefList.

Definition at line 264 of file client_class_def.h.

◆ ClientClassDefMap

typedef std::unordered_map<std::string, ClientClassDefPtr> isc::dhcp::ClientClassDefMap

Defines a map of ClientClassDef's, keyed by the class name.

Definition at line 255 of file client_class_def.h.

◆ ClientClassDefMapPtr

Defines a pointer to a ClientClassDefMap.

Definition at line 258 of file client_class_def.h.

◆ ClientClassDefParserPtr

Defines a pointer to a ClientClassDefParser.

Definition at line 118 of file client_class_def_parser.h.

◆ ClientClassDefPtr

typedef boost::shared_ptr<ClientClassDef> isc::dhcp::ClientClassDefPtr

a pointer to an ClientClassDef

Definition at line 252 of file client_class_def.h.

◆ ClientClassDictionaryPtr

Defines a pointer to a ClientClassDictionary.

Definition at line 382 of file client_class_def.h.

◆ ClientIdPtr

typedef boost::shared_ptr<ClientId> isc::dhcp::ClientIdPtr

Shared pointer to a Client ID.

Definition at line 103 of file duid.h.

◆ ConfigBackendDHCPv4Ptr

Shared pointer to the ConfigBackendDHCPv4 instance.

Definition at line 375 of file config_backend_dhcp4.h.

◆ ConfigPair

typedef std::pair<std::string, isc::data::ConstElementPtr> isc::dhcp::ConfigPair

Combination of parameter name and configuration contents.

Definition at line 173 of file dhcp_parsers.h.

◆ ConstCfgDbAccessPtr

typedef boost::shared_ptr<const CfgDbAccess> isc::dhcp::ConstCfgDbAccessPtr

A pointer to the const CfgDbAccess.

Definition at line 104 of file cfg_db_access.h.

◆ ConstCfgDUIDPtr

typedef boost::shared_ptr<const CfgDUID> isc::dhcp::ConstCfgDUIDPtr

Pointer to the const object.

Definition at line 152 of file cfg_duid.h.

◆ ConstCfgExpirationPtr

typedef boost::shared_ptr<const CfgExpiration> isc::dhcp::ConstCfgExpirationPtr

Pointer to the const object.

Definition at line 278 of file cfg_expiration.h.

◆ ConstCfgHostOperationsPtr

typedef boost::shared_ptr<const CfgHostOperations> isc::dhcp::ConstCfgHostOperationsPtr

Pointer to the const object.

Definition at line 29 of file cfg_host_operations.h.

◆ ConstCfgHostsPtr

typedef boost::shared_ptr<const CfgHosts> isc::dhcp::ConstCfgHostsPtr

Const pointer.

Definition at line 485 of file cfg_hosts.h.

◆ ConstCfgIfacePtr

typedef boost::shared_ptr<const CfgIface> isc::dhcp::ConstCfgIfacePtr

A pointer to the const CfgIface.

Definition at line 390 of file cfg_iface.h.

◆ ConstCfgOptionDefPtr

typedef boost::shared_ptr<const CfgOptionDef> isc::dhcp::ConstCfgOptionDefPtr

Const pointer.

Definition at line 142 of file cfg_option_def.h.

◆ ConstCfgOptionPtr

typedef boost::shared_ptr<const CfgOption> isc::dhcp::ConstCfgOptionPtr

Const pointer.

Definition at line 500 of file cfg_option.h.

◆ ConstCfgRSOOPtr

typedef boost::shared_ptr<const CfgRSOO> isc::dhcp::ConstCfgRSOOPtr

Pointer to the const object.

Definition at line 74 of file cfg_rsoo.h.

◆ ConstCfgSubnets4Ptr

typedef boost::shared_ptr<const CfgSubnets4> isc::dhcp::ConstCfgSubnets4Ptr

Const pointer.

Definition at line 273 of file cfg_subnets4.h.

◆ ConstCfgSubnets6Ptr

typedef boost::shared_ptr<const CfgSubnets6> isc::dhcp::ConstCfgSubnets6Ptr

Const pointer.

Definition at line 271 of file cfg_subnets6.h.

◆ ConstHostCollection

Collection of the const Host objects.

Definition at line 731 of file host.h.

◆ ConstHostPtr

typedef boost::shared_ptr<const Host> isc::dhcp::ConstHostPtr

Const pointer to the Host object.

Definition at line 728 of file host.h.

◆ ConstLease6Ptr

typedef boost::shared_ptr<const Lease6> isc::dhcp::ConstLease6Ptr

Pointer to a const Lease6 structure.

Definition at line 601 of file lease.h.

◆ ConstSrvConfigPtr

typedef boost::shared_ptr<const SrvConfig> isc::dhcp::ConstSrvConfigPtr

Const pointer to the SrvConfig.

Definition at line 710 of file srv_config.h.

◆ ConstSubnet4Ptr

typedef boost::shared_ptr<const Subnet4> isc::dhcp::ConstSubnet4Ptr

A const pointer to a Subnet4 object.

Definition at line 458 of file subnet.h.

◆ ConstSubnet6Ptr

typedef boost::shared_ptr<const Subnet6> isc::dhcp::ConstSubnet6Ptr

A const pointer to a Subnet6 object.

Definition at line 623 of file subnet.h.

◆ D2ClientConfigPtr

typedef boost::shared_ptr<D2ClientConfig> isc::dhcp::D2ClientConfigPtr

Defines a pointer for D2ClientConfig instances.

Definition at line 323 of file d2_client_cfg.h.

◆ D2ClientErrorHandler

Defines the type for D2 IO error handler.

This callback is invoked when a send to kea-dhcp-ddns completes with a failed status. This provides the application layer (Kea) with a means to handle the error appropriately.

Parameters
resultResult code of the send operation.
ncrNameChangeRequest which failed to send.
Note
Handlers are expected not to throw. In the event a handler does throw invoking code logs the exception and then swallows it.

Definition at line 43 of file d2_client_mgr.h.

◆ D2ClientMgrPtr

typedef boost::shared_ptr<D2ClientMgr> isc::dhcp::D2ClientMgrPtr

Defines a pointer for D2ClientMgr instances.

Definition at line 510 of file d2_client_mgr.h.

◆ Dhcpv4ExchangePtr

typedef boost::shared_ptr<Dhcpv4Exchange> isc::dhcp::Dhcpv4ExchangePtr

Type representing the pointer to the Dhcpv4Exchange.

Definition at line 179 of file dhcp4_srv.h.

◆ DuidPtr

typedef boost::shared_ptr<DUID> isc::dhcp::DuidPtr

Definition at line 20 of file duid.h.

◆ Expression

typedef std::vector<TokenPtr> isc::dhcp::Expression

This is a structure that holds an expression converted to RPN.

For example expression: option[123].text == 'foo' will be converted to: [0] = option[123].text (TokenOption object) [1] = 'foo' (TokenString object) [2] = == operator (TokenEqual object)

Definition at line 28 of file token.h.

◆ ExpressionPtr

typedef boost::shared_ptr<Expression> isc::dhcp::ExpressionPtr

Definition at line 30 of file token.h.

◆ HostCollection

typedef std::vector<HostPtr> isc::dhcp::HostCollection

Collection of the Host objects.

Definition at line 734 of file host.h.

◆ HostContainer

typedef boost::multi_index_container< HostPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< Host, boost::multi_index::const_mem_fun< Host, const std::vector<uint8_t>&, &Host::getIdentifier >, boost::multi_index::const_mem_fun< Host, Host::IdentifierType, &Host::getIdentifierType > > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun<Host, const asiolink::IOAddress&, &Host::getIPv4Reservation> >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun<Host, SubnetID, &Host::getIPv4SubnetID> >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun<Host, SubnetID, &Host::getIPv6SubnetID> > >> isc::dhcp::HostContainer

Multi-index container holding host reservations.

This container holds a collection of Host objects which can be retrieved using various parameters. The typical use of this container is to search for all Host objects which are identified by a specified identifier, i.e. HW address or DUID.

Todo:
This container will be extended to search for Host objects associated with a specific IPv4 address or IPv6 prefix/length.
See also
http://www.boost.org/doc/libs/1_56_0/libs/multi_index/doc/index.html

Definition at line 86 of file host_container.h.

◆ HostContainer6

typedef boost::multi_index_container< HostResrv6Tuple, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< HostResrv6Tuple, const asiolink::IOAddress&, &HostResrv6Tuple::getKey> >, boost::multi_index::ordered_unique< boost::multi_index::composite_key< HostResrv6Tuple, boost::multi_index::member<HostResrv6Tuple, const SubnetID, &HostResrv6Tuple::subnet_id_>, boost::multi_index::const_mem_fun< HostResrv6Tuple, const asiolink::IOAddress&, &HostResrv6Tuple::getKey > > >, boost::multi_index::ordered_non_unique< boost::multi_index::member<HostResrv6Tuple, const SubnetID, &HostResrv6Tuple::subnet_id_> > >> isc::dhcp::HostContainer6

Multi-index container holding IPv6 reservations.

This container holds HostResrv6Tuples, i.e. pairs of (IPv6Resrv, HostPtr) pieces of information. This is needed for efficiently finding a host for a given IPv6 address or prefix.

Definition at line 213 of file host_container.h.

◆ HostContainer6Index0

typedef HostContainer6::nth_index<0>::type isc::dhcp::HostContainer6Index0

First index type in the HostContainer6.

This index allows for searching for Host objects using an address.

Definition at line 219 of file host_container.h.

◆ HostContainer6Index0Range

typedef std::pair<HostContainer6Index0::iterator, HostContainer6Index0::iterator> isc::dhcp::HostContainer6Index0Range

Results range returned using the HostContainer6Index0.

Definition at line 223 of file host_container.h.

◆ HostContainer6Index1

typedef HostContainer6::nth_index<1>::type isc::dhcp::HostContainer6Index1

Second index type in the HostContainer6.

This index allows for searching for Host objects using a reserved (SubnetID, IPv6 address) tuple.

Definition at line 229 of file host_container.h.

◆ HostContainer6Index1Range

typedef std::pair<HostContainer6Index1::iterator, HostContainer6Index1::iterator> isc::dhcp::HostContainer6Index1Range

Results range returned using the HostContainer6Index1.

Definition at line 233 of file host_container.h.

◆ HostContainer6Index2

typedef HostContainer6::nth_index<2>::type isc::dhcp::HostContainer6Index2

Third index type in the HostContainer6.

This index allows for searching for Host objects using a IPv6 subnet id.

Definition at line 239 of file host_container.h.

◆ HostContainer6Index2Range

typedef std::pair<HostContainer6Index2::iterator, HostContainer6Index2::iterator> isc::dhcp::HostContainer6Index2Range

Results range returned using the HostContainer6Index2.

Definition at line 243 of file host_container.h.

◆ HostContainerIndex0

typedef HostContainer::nth_index<0>::type isc::dhcp::HostContainerIndex0

First index type in the HostContainer.

This index allows for searching for Host objects using an identifier + identifier type tuple.

Definition at line 92 of file host_container.h.

◆ HostContainerIndex0Range

typedef std::pair<HostContainerIndex0::iterator, HostContainerIndex0::iterator> isc::dhcp::HostContainerIndex0Range

Results range returned using the HostContainerIndex0.

Definition at line 96 of file host_container.h.

◆ HostContainerIndex1

typedef HostContainer::nth_index<1>::type isc::dhcp::HostContainerIndex1

Second index type in the HostContainer.

This index allows for searching for Host objects using a reserved IPv4 address.

Definition at line 102 of file host_container.h.

◆ HostContainerIndex1Range

typedef std::pair<HostContainerIndex1::iterator, HostContainerIndex1::iterator> isc::dhcp::HostContainerIndex1Range

Results range returned using the HostContainerIndex1.

Definition at line 106 of file host_container.h.

◆ HostContainerIndex2

typedef HostContainer::nth_index<2>::type isc::dhcp::HostContainerIndex2

Third index type in the HostContainer.

This index allows for searching for Host objects using a IPv4 subnet id.

Definition at line 112 of file host_container.h.

◆ HostContainerIndex2Range

typedef std::pair<HostContainerIndex2::iterator, HostContainerIndex2::iterator> isc::dhcp::HostContainerIndex2Range

Results range returned using the HostContainerIndex2.

Definition at line 116 of file host_container.h.

◆ HostContainerIndex3

typedef HostContainer::nth_index<3>::type isc::dhcp::HostContainerIndex3

Forth index type in the HostContainer.

This index allows for searching for Host objects using a IPv6 subnet id.

Definition at line 122 of file host_container.h.

◆ HostContainerIndex3Range

typedef std::pair<HostContainerIndex3::iterator, HostContainerIndex3::iterator> isc::dhcp::HostContainerIndex3Range

Results range returned using the HostContainerIndex3.

Definition at line 126 of file host_container.h.

◆ HostDataSourceList

HostDataSource list.

Definition at line 254 of file base_host_data_source.h.

◆ HostDataSourcePtr

HostDataSource pointer.

Definition at line 251 of file base_host_data_source.h.

◆ HostID

typedef uint64_t isc::dhcp::HostID

HostID (used only when storing in MySQL, PostgreSQL or Cassandra)

Definition at line 28 of file host.h.

◆ HostPtr

typedef boost::shared_ptr<Host> isc::dhcp::HostPtr

Pointer to the Host object.

Definition at line 725 of file host.h.

◆ HWAddrPtr

typedef boost::shared_ptr<HWAddr> isc::dhcp::HWAddrPtr

Shared pointer to a hardware address structure.

Definition at line 154 of file hwaddr.h.

◆ IfaceMgrErrorMsgCallback

typedef boost::function<void(const std::string& errmsg)> isc::dhcp::IfaceMgrErrorMsgCallback

This type describes the callback function invoked when error occurs in the IfaceMgr.

Parameters
errmsgAn error message.

Definition at line 470 of file iface_mgr.h.

◆ IfaceMgrPtr

typedef boost::shared_ptr<IfaceMgr> isc::dhcp::IfaceMgrPtr

Type definition for the pointer to the IfaceMgr.

Definition at line 460 of file iface_mgr.h.

◆ IfacePtr

typedef boost::shared_ptr<Iface> isc::dhcp::IfacePtr

Definition at line 457 of file iface_mgr.h.

◆ IOAddressList

List of IOAddresses.

Definition at line 29 of file network.h.

◆ IPv6ResrvCollection

Collection of IPv6 reservations for the host.

Definition at line 185 of file host.h.

◆ IPv6ResrvIterator

typedef IPv6ResrvCollection::const_iterator isc::dhcp::IPv6ResrvIterator

Definition at line 186 of file host.h.

◆ IPv6ResrvRange

Definition at line 188 of file host.h.

◆ IPv6ResrvTuple

Definition at line 187 of file host.h.

◆ Lease4Collection

typedef std::vector<Lease4Ptr> isc::dhcp::Lease4Collection

A collection of IPv4 leases.

Definition at line 455 of file lease.h.

◆ Lease4CollectionPtr

A shared pointer to the collection of IPv4 leases.

Definition at line 458 of file lease.h.

◆ Lease4Ptr

typedef boost::shared_ptr<Lease4> isc::dhcp::Lease4Ptr

Pointer to a Lease4 structure.

Definition at line 245 of file lease.h.

◆ Lease4Storage

typedef boost::multi_index_container< Lease4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag<AddressIndexTag>, boost::multi_index::member<Lease, isc::asiolink::IOAddress, &Lease::addr_> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<HWAddressSubnetIdIndexTag>, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun<Lease, const std::vector<uint8_t>&, &Lease::getHWAddrVector>, boost::multi_index::member<Lease, SubnetID, &Lease::subnet_id_> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<ClientIdSubnetIdIndexTag>, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun<Lease4, const std::vector<uint8_t>&, &Lease4::getClientIdVector>, boost::multi_index::member<Lease, uint32_t, &Lease::subnet_id_> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<ClientIdHWAddressSubnetIdIndexTag>, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun<Lease4, const std::vector<uint8_t>&, &Lease4::getClientIdVector>, boost::multi_index::const_mem_fun<Lease, const std::vector<uint8_t>&, &Lease::getHWAddrVector>, boost::multi_index::member<Lease, SubnetID, &Lease::subnet_id_> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<ExpirationIndexTag>, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun<Lease, bool, &Lease::stateExpiredReclaimed>, boost::multi_index::const_mem_fun<Lease, int64_t, &Lease::getExpirationTime> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<SubnetIdIndexTag>, boost::multi_index::member<Lease, isc::dhcp::SubnetID, &Lease::subnet_id_> > >> isc::dhcp::Lease4Storage

A multi index container holding DHCPv4 leases.

The leases in the container may be accessed using different indexes:

  • IPv6 address,
  • composite index: HW address and subnet id,
  • composite index: client id and subnet id,
  • composite index: HW address, client id and subnet id
  • using a composite index: boolean flag indicating if the state is "expired-reclaimed" and expiration time.

Indexes can be accessed using the index number (from 0 to 4) or a name tag. It is recommended to use the tags to access indexes as they do not depend on the order of indexes in the container.

Definition at line 245 of file memfile_lease_storage.h.

◆ Lease4StorageAddressIndex

typedef Lease4Storage::index<AddressIndexTag>::type isc::dhcp::Lease4StorageAddressIndex

DHCPv4 lease storage index by address.

Definition at line 269 of file memfile_lease_storage.h.

◆ Lease4StorageClientIdHWAddressSubnetIdIndex

DHCPv4 lease storage index by client id, HW address and subnet id.

Definition at line 284 of file memfile_lease_storage.h.

◆ Lease4StorageClientIdSubnetIdIndex

DHCPv4 lease storage index by client and subnet identifier.

Definition at line 280 of file memfile_lease_storage.h.

◆ Lease4StorageExpirationIndex

typedef Lease4Storage::index<ExpirationIndexTag>::type isc::dhcp::Lease4StorageExpirationIndex

DHCPv4 lease storage index by expiration time.

Definition at line 272 of file memfile_lease_storage.h.

◆ Lease4StorageHWAddressSubnetIdIndex

DHCPv4 lease storage index by HW address and subnet identifier.

Definition at line 276 of file memfile_lease_storage.h.

◆ Lease4StorageSubnetIdIndex

typedef Lease4Storage::index<SubnetIdIndexTag>::type isc::dhcp::Lease4StorageSubnetIdIndex

DHCPv4 lease storage index by client id, HW address and subnet id.

Definition at line 287 of file memfile_lease_storage.h.

◆ Lease6Collection

typedef std::vector<Lease6Ptr> isc::dhcp::Lease6Collection

A collection of IPv6 leases.

Definition at line 604 of file lease.h.

◆ Lease6CollectionPtr

A shared pointer to the collection of IPv6 leases.

Definition at line 608 of file lease.h.

◆ Lease6Ptr

typedef boost::shared_ptr<Lease6> isc::dhcp::Lease6Ptr

Pointer to a Lease6 structure.

Definition at line 460 of file lease.h.

◆ Lease6Storage

typedef boost::multi_index_container< Lease6Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag<AddressIndexTag>, boost::multi_index::member<Lease, isc::asiolink::IOAddress, &Lease::addr_> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<DuidIaidTypeIndexTag>, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun<Lease6, const std::vector<uint8_t>&, &Lease6::getDuidVector>, boost::multi_index::member<Lease6, uint32_t, &Lease6::iaid_>, boost::multi_index::member<Lease6, Lease::Type, &Lease6::type_> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<ExpirationIndexTag>, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun<Lease, bool, &Lease::stateExpiredReclaimed>, boost::multi_index::const_mem_fun<Lease, int64_t, &Lease::getExpirationTime> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<SubnetIdIndexTag>, boost::multi_index::member<Lease, isc::dhcp::SubnetID, &Lease::subnet_id_> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<DuidIndexTag>, boost::multi_index::const_mem_fun<Lease6, const std::vector<uint8_t>&, &Lease6::getDuidVector> > >> isc::dhcp::Lease6Storage

A multi index container holding DHCPv6 leases.

The leases in the container may be accessed using different indexes:

  • using an IPv6 address,
  • using a composite index: DUID, IAID and lease type.
  • using a composite index: boolean flag indicating if the state is "expired-reclaimed" and expiration time.

Indexes can be accessed using the index number (from 0 to 2) or a name tag. It is recommended to use the tags to access indexes as they do not depend on the order of indexes in the container.

Definition at line 130 of file memfile_lease_storage.h.

◆ Lease6StorageAddressIndex

typedef Lease6Storage::index<AddressIndexTag>::type isc::dhcp::Lease6StorageAddressIndex

DHCPv6 lease storage index by address.

Definition at line 254 of file memfile_lease_storage.h.

◆ Lease6StorageDuidIaidTypeIndex

DHCPv6 lease storage index by DUID, IAID, lease type.

Definition at line 257 of file memfile_lease_storage.h.

◆ Lease6StorageDuidIndex

typedef Lease6Storage::index<DuidIndexTag>::type isc::dhcp::Lease6StorageDuidIndex

DHCPv6 lease storage index by Subnet-id.

Definition at line 266 of file memfile_lease_storage.h.

◆ Lease6StorageExpirationIndex

typedef Lease6Storage::index<ExpirationIndexTag>::type isc::dhcp::Lease6StorageExpirationIndex

DHCPv6 lease storage index by expiration time.

Definition at line 260 of file memfile_lease_storage.h.

◆ Lease6StorageSubnetIdIndex

typedef Lease6Storage::index<SubnetIdIndexTag>::type isc::dhcp::Lease6StorageSubnetIdIndex

DHCPv6 lease storage index by Subnet-id.

Definition at line 263 of file memfile_lease_storage.h.

◆ LeasePtr

typedef boost::shared_ptr<Lease> isc::dhcp::LeasePtr

Pointer to the lease object.

Definition at line 26 of file lease.h.

◆ LeaseStatsQueryPtr

typedef boost::shared_ptr<LeaseStatsQuery> isc::dhcp::LeaseStatsQueryPtr

Defines a pointer to a LeaseStatsQuery.

Definition at line 207 of file lease_mgr.h.

◆ LeaseStatsRowPtr

typedef boost::shared_ptr<LeaseStatsRow> isc::dhcp::LeaseStatsRowPtr

Defines a pointer to a LeaseStatsRow.

Definition at line 210 of file lease_mgr.h.

◆ NetworkPtr

typedef boost::shared_ptr<Network> isc::dhcp::NetworkPtr

Pointer to the Network object.

Definition at line 360 of file network.h.

◆ NetworkStatePtr

typedef boost::shared_ptr<NetworkState> isc::dhcp::NetworkStatePtr

Pointer to the NetworkState object.

Definition at line 156 of file network_state.h.

◆ OpaqueDataTuplePtr

typedef boost::shared_ptr<OpaqueDataTuple> isc::dhcp::OpaqueDataTuplePtr

Pointer to the OpaqueDataTuple object.

Definition at line 285 of file opaque_data_tuple.h.

◆ Option4AddrLstPtr

typedef boost::shared_ptr<Option4AddrLst> isc::dhcp::Option4AddrLstPtr

A pointer to the Option4AddrLst object.

Definition at line 25 of file option4_addrlst.h.

◆ Option4ClientFqdnPtr

A pointer to the Option4ClientFqdn object.

Definition at line 371 of file option4_client_fqdn.h.

◆ Option4SlpServiceScopePtr

Pointer to the isc::dhcp::Option4SlpServiceScope.

Definition at line 114 of file option6_status_code.h.

◆ Option6AddrLstPtr

typedef boost::shared_ptr<Option6AddrLst> isc::dhcp::Option6AddrLstPtr

Pointer to the Option6AddrLst object.

Definition at line 92 of file option6_addrlst.h.

◆ Option6AuthPtr

typedef boost::shared_ptr<Option6Auth> isc::dhcp::Option6AuthPtr

A pointer to the isc::dhcp::Option6Auth object.

Definition at line 19 of file option6_auth.h.

◆ Option6ClientFqdnPtr

A pointer to the Option6ClientFqdn object.

Definition at line 265 of file option6_client_fqdn.h.

◆ Option6IAAddrPtr

typedef boost::shared_ptr<Option6IAAddr> isc::dhcp::Option6IAAddrPtr

A pointer to the isc::dhcp::Option6IAAddr object.

Definition at line 17 of file option6_iaaddr.h.

◆ Option6IAPrefixPtr

typedef boost::shared_ptr<Option6IAPrefix> isc::dhcp::Option6IAPrefixPtr

Pointer to the Option6IAPrefix object.

Definition at line 142 of file option6_iaprefix.h.

◆ Option6IAPtr

typedef boost::shared_ptr<Option6IA> isc::dhcp::Option6IAPtr

A pointer to the Option6IA object.

Definition at line 17 of file option6_ia.h.

◆ Option6PDExcludePtr

Pointer to the Option6PDExclude object.

Definition at line 124 of file option6_pdexclude.h.

◆ Option6StatusCodePtr

Pointer to the isc::dhcp::Option6StatusCode.

Definition at line 18 of file option6_status_code.h.

◆ OptionBuffer

typedef std::vector<uint8_t> isc::dhcp::OptionBuffer

buffer types used in DHCP code.

Dereferencing OptionBuffer iterator will point out to contiguous memory.

Definition at line 25 of file option.h.

◆ OptionBufferConstIter

typedef OptionBuffer::const_iterator isc::dhcp::OptionBufferConstIter

const_iterator for walking over OptionBuffer

Definition at line 31 of file option.h.

◆ OptionBufferIter

typedef OptionBuffer::iterator isc::dhcp::OptionBufferIter

iterator for walking over OptionBuffer

Definition at line 28 of file option.h.

◆ OptionBufferPtr

typedef boost::shared_ptr<OptionBuffer> isc::dhcp::OptionBufferPtr

pointer to a DHCP buffer

Definition at line 34 of file option.h.

◆ OptionCollection

typedef std::multimap<unsigned int, OptionPtr> isc::dhcp::OptionCollection

A collection of DHCP (v4 or v6) options.

Definition at line 41 of file option.h.

◆ OptionCollectionPtr

A pointer to an OptionCollection.

Definition at line 43 of file option.h.

◆ OptionContainer

typedef boost::multi_index_container< OptionDescriptor, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::persistent_ > > >> isc::dhcp::OptionContainer

Multi index container for DHCP option descriptors.

This container comprises three indexes to access option descriptors:

  • sequenced index: used to access elements in the order they have been added to the container,
  • option type index: used to search option descriptors containing options with specific option code (aka option type).
  • persistency flag index: used to search option descriptors with 'persistent' flag set to true.

This container is the equivalent of three separate STL containers:

  • std::list of all options,
  • std::multimap of options with option code used as a multimap key,
  • std::multimap of option descriptors with option persistency flag used as a multimap key. The major advantage of this container over 3 separate STL containers is automatic synchronization of all indexes when elements are added, removed or modified in the container. With separate containers, the synchronization would have to be guaranteed by the Subnet class code. This would increase code complexity and presumably it would be much harder to add new search criteria (indexes).

    Todo:
    we may want to search for options using option spaces when they are implemented.
See also
http://www.boost.org/doc/libs/1_51_0/libs/multi_index/doc/index.html

Definition at line 203 of file cfg_option.h.

◆ OptionContainerPersistIndex

typedef OptionContainer::nth_index<2>::type isc::dhcp::OptionContainerPersistIndex

Type of the index #2 - option persistency flag.

Definition at line 215 of file cfg_option.h.

◆ OptionContainerPersistRange

typedef std::pair<OptionContainerPersistIndex::const_iterator, OptionContainerPersistIndex::const_iterator> isc::dhcp::OptionContainerPersistRange

Pair of iterators to represent the range of options having the same persistency flag.

The first element in this pair represents the beginning of the range, the second element represents the end.

Definition at line 220 of file cfg_option.h.

◆ OptionContainerPtr

typedef boost::shared_ptr<OptionContainer> isc::dhcp::OptionContainerPtr

Pointer to the OptionContainer object.

Definition at line 206 of file cfg_option.h.

◆ OptionContainerTypeIndex

typedef OptionContainer::nth_index<1>::type isc::dhcp::OptionContainerTypeIndex

Type of the index #1 - option type.

Definition at line 208 of file cfg_option.h.

◆ OptionContainerTypeRange

typedef std::pair<OptionContainerTypeIndex::const_iterator, OptionContainerTypeIndex::const_iterator> isc::dhcp::OptionContainerTypeRange

Pair of iterators to represent the range of options having the same option type value.

The first element in this pair represents the beginning of the range, the second element represents the end.

Definition at line 213 of file cfg_option.h.

◆ OptionCustomPtr

typedef boost::shared_ptr<OptionCustom> isc::dhcp::OptionCustomPtr

A pointer to the OptionCustom object.

Definition at line 464 of file option_custom.h.

◆ OptionDefContainer

typedef boost::multi_index_container< OptionDefinitionPtr, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, uint16_t, &OptionDefinition::getCode > >, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, std::string, &OptionDefinition::getName > > >> isc::dhcp::OptionDefContainer

Multi index container for DHCP option definitions.

This container allows to search for DHCP option definition using two indexes:

  • sequenced: used to access elements in the order they have been added to the container
  • option code: used to search definitions of options with a specified option code (aka option type). Note that this container can hold multiple options with the same code. For this reason, the latter index can be used to obtain a range of options for a particular option code.

    Todo:
    : need an index to search options using option space name once option spaces are implemented.

Definition at line 816 of file option_definition.h.

◆ OptionDefContainerNameIndex

typedef OptionDefContainer::nth_index<2>::type isc::dhcp::OptionDefContainerNameIndex

Type of the index #2 - option name.

Definition at line 837 of file option_definition.h.

◆ OptionDefContainerNameRange

typedef std::pair<OptionDefContainerNameIndex::const_iterator, OptionDefContainerNameIndex::const_iterator> isc::dhcp::OptionDefContainerNameRange

Pair of iterators to represent the range of options definitions having the same option name.

The first element in this pair represents the beginning of the range, the second element represents the end.

Definition at line 843 of file option_definition.h.

◆ OptionDefContainerPtr

Pointer to an option definition container.

Definition at line 819 of file option_definition.h.

◆ OptionDefContainers

typedef std::map<std::string, OptionDefContainerPtr> isc::dhcp::OptionDefContainers

Container that holds option definitions for various option spaces.

Definition at line 822 of file option_definition.h.

◆ OptionDefContainerTypeIndex

typedef OptionDefContainer::nth_index<1>::type isc::dhcp::OptionDefContainerTypeIndex

Type of the index #1 - option type.

Definition at line 828 of file option_definition.h.

◆ OptionDefContainerTypeRange

typedef std::pair<OptionDefContainerTypeIndex::const_iterator, OptionDefContainerTypeIndex::const_iterator> isc::dhcp::OptionDefContainerTypeRange

Pair of iterators to represent the range of options definitions having the same option type value.

The first element in this pair represents the beginning of the range, the second element represents the end.

Definition at line 834 of file option_definition.h.

◆ OptionDefinitionPtr

Pointer to option definition object.

Definition at line 51 of file option_definition.h.

◆ OptionDefinitionTuple

Definition at line 223 of file dhcp_parsers.h.

◆ OptionDefSpaceContainer

◆ OptionDescriptorPtr

A pointer to option descriptor.

Definition at line 132 of file cfg_option.h.

◆ OptionOpaqueDataTuplesPtr

Defines a pointer to the OptionOpaqueDataTuples.

Definition at line 163 of file option_opaque_data_tuples.h.

◆ OptionPtr

typedef boost::shared_ptr<Option> isc::dhcp::OptionPtr

Definition at line 37 of file option.h.

◆ OptionSpaceCollection

typedef std::map<std::string, OptionSpacePtr> isc::dhcp::OptionSpaceCollection

A collection of option spaces.

Definition at line 40 of file option_space.h.

◆ OptionSpacePtr

typedef boost::shared_ptr<OptionSpace> isc::dhcp::OptionSpacePtr

A pointer to OptionSpace object.

Definition at line 36 of file option_space.h.

◆ OptionStorage

Collection of containers holding option spaces.

Each container within a particular option space holds so-called option descriptors.

Definition at line 38 of file dhcp_parsers.h.

◆ OptionStoragePtr

typedef boost::shared_ptr<OptionStorage> isc::dhcp::OptionStoragePtr

Shared pointer to option storage.

Definition at line 40 of file dhcp_parsers.h.

◆ OptionStringPtr

typedef boost::shared_ptr<OptionString> isc::dhcp::OptionStringPtr

Pointer to the OptionString object.

Definition at line 117 of file option_string.h.

◆ OptionVendorClassPtr

Defines a pointer to the OptionVendorClass.

Definition at line 205 of file option_vendor_class.h.

◆ OptionVendorPtr

typedef boost::shared_ptr<OptionVendor> isc::dhcp::OptionVendorPtr

Pointer to a vendor option.

Definition at line 116 of file option_vendor.h.

◆ PacketQueue4Ptr

typedef boost::shared_ptr<PacketQueue<Pkt4Ptr> > isc::dhcp::PacketQueue4Ptr

Defines pointer to the DHCPv4 queue interface used at the application level.

This is the type understood by IfaceMgr and the type that should be returned by DHCPv4 packet queue factories.

Definition at line 134 of file packet_queue.h.

◆ PacketQueue6Ptr

typedef boost::shared_ptr<PacketQueue<Pkt6Ptr> > isc::dhcp::PacketQueue6Ptr

Defines pointer to the DHCPv6 queue interface used at the application level.

This is the type understood by IfaceMgr and the type that should be returned by DHCPv6 packet queue factories.

Definition at line 139 of file packet_queue.h.

◆ PacketQueueMgr4Ptr

typedef boost::shared_ptr<PacketQueueMgr4> isc::dhcp::PacketQueueMgr4Ptr

Defines a shared pointer to PacketQueueMgr4.

Definition at line 36 of file packet_queue_mgr4.h.

◆ PacketQueueMgr6Ptr

typedef boost::shared_ptr<PacketQueueMgr6> isc::dhcp::PacketQueueMgr6Ptr

Defines a shared pointer to PacketQueueMgr6.

Definition at line 38 of file packet_queue_mgr6.h.

◆ Pkt4o6Ptr

typedef boost::shared_ptr<Pkt4o6> isc::dhcp::Pkt4o6Ptr

A pointer to Pkt4o6 object.

Definition at line 82 of file pkt4o6.h.

◆ Pkt4Ptr

typedef boost::shared_ptr<Pkt4> isc::dhcp::Pkt4Ptr

A pointer to Pkt4 object.

Definition at line 546 of file pkt4.h.

◆ Pkt6Ptr

typedef boost::shared_ptr<Pkt6> isc::dhcp::Pkt6Ptr

A pointer to Pkt6 packet.

Definition at line 28 of file pkt6.h.

◆ PktFilter6Ptr

typedef boost::shared_ptr<PktFilter6> isc::dhcp::PktFilter6Ptr

Pointer to a PktFilter object.

Definition at line 136 of file pkt_filter6.h.

◆ PktFilterPtr

typedef boost::shared_ptr<PktFilter> isc::dhcp::PktFilterPtr

Pointer to a PktFilter object.

Definition at line 134 of file pkt_filter.h.

◆ Pool4Ptr

typedef boost::shared_ptr<Pool4> isc::dhcp::Pool4Ptr

a pointer an IPv4 Pool

Definition at line 266 of file pool.h.

◆ Pool6Ptr

typedef boost::shared_ptr<Pool6> isc::dhcp::Pool6Ptr

a pointer an IPv6 Pool

Definition at line 402 of file pool.h.

◆ PoolCollection

typedef std::vector<PoolPtr> isc::dhcp::PoolCollection

a container for either IPv4 or IPv6 Pools

Definition at line 408 of file pool.h.

◆ PoolPtr

typedef boost::shared_ptr<Pool> isc::dhcp::PoolPtr

a pointer to either IPv4 or IPv6 Pool

Definition at line 405 of file pool.h.

◆ PoolStorage

typedef std::vector<PoolPtr> isc::dhcp::PoolStorage

a collection of pools

That type is used as intermediate storage, when pools are parsed, but there is no subnet object created yet to store them.

Definition at line 263 of file dhcp_parsers.h.

◆ PoolStoragePtr

typedef boost::shared_ptr<PoolStorage> isc::dhcp::PoolStoragePtr

Definition at line 264 of file dhcp_parsers.h.

◆ PrefixTuple

Defines a pair of prefix length / value.

Definition at line 315 of file option_data_types.h.

◆ PSIDTuple

typedef std::pair<PSIDLen, PSID> isc::dhcp::PSIDTuple

Defines a pair of PSID length / value.

Definition at line 274 of file option_data_types.h.

◆ SharedNetwork4Collection

typedef boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag<SharedNetworkRandomAccessIndexTag> >, boost::multi_index::ordered_unique< boost::multi_index::tag<SharedNetworkNameIndexTag>, boost::multi_index::const_mem_fun<SharedNetwork4, std::string, &SharedNetwork4::getName> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<SharedNetworkServerIdIndexTag>, boost::multi_index::const_mem_fun<Network4, asiolink::IOAddress, &Network4::getServerId> > >> isc::dhcp::SharedNetwork4Collection

Multi index container holding shared networks.

This is multi index container can hold pointers to SharedNetwork4 objects. It provides indexes for shared network lookups using properties such as shared network's name.

Definition at line 194 of file shared_network.h.

◆ SharedNetwork4Ptr

typedef boost::shared_ptr<SharedNetwork4> isc::dhcp::SharedNetwork4Ptr

Pointer to SharedNetwork4 object.

Definition at line 163 of file shared_network.h.

◆ SharedNetwork6Collection

typedef boost::multi_index_container< SharedNetwork6Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag<SharedNetworkRandomAccessIndexTag> >, boost::multi_index::ordered_unique< boost::multi_index::tag<SharedNetworkNameIndexTag>, boost::multi_index::const_mem_fun<SharedNetwork6, std::string, &SharedNetwork6::getName> > >> isc::dhcp::SharedNetwork6Collection

Multi index container holding shared networks.

This is multi index container can hold pointers to SharedNetwork6 objects. It provides indexes for shared network lookups using properties such as shared network's name.

Definition at line 345 of file shared_network.h.

◆ SharedNetwork6Ptr

typedef boost::shared_ptr<SharedNetwork6> isc::dhcp::SharedNetwork6Ptr

Pointer to SharedNetwork6 object.

Definition at line 322 of file shared_network.h.

◆ SharedNetworks4ListParser

Type of the shared networks list parser for IPv4.

Definition at line 73 of file shared_networks_list_parser.h.

◆ SharedNetworks6ListParser

Type of the shared networks list parser for IPv6.

Definition at line 76 of file shared_networks_list_parser.h.

◆ SrvConfigPtr

typedef boost::shared_ptr<SrvConfig> isc::dhcp::SrvConfigPtr

Non-const pointer to the SrvConfig.

Definition at line 707 of file srv_config.h.

◆ StringStorage

typedef ValueStorage<std::string> isc::dhcp::StringStorage

a collection of elements that store string values

Definition at line 180 of file dhcp_parsers.h.

◆ StringStoragePtr

typedef boost::shared_ptr<StringStorage> isc::dhcp::StringStoragePtr

Definition at line 181 of file dhcp_parsers.h.

◆ Subnet4Collection

typedef boost::multi_index_container< Subnet4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag<SubnetRandomAccessIndexTag> >, boost::multi_index::ordered_unique< boost::multi_index::tag<SubnetSubnetIdIndexTag>, boost::multi_index::const_mem_fun<Subnet, SubnetID, &Subnet::getID> >, boost::multi_index::ordered_unique< boost::multi_index::tag<SubnetPrefixIndexTag>, boost::multi_index::const_mem_fun<Subnet, std::string, &Subnet::toText> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<SubnetServerIdIndexTag>, boost::multi_index::const_mem_fun<Network4, asiolink::IOAddress, &Network4::getServerId> > >> isc::dhcp::Subnet4Collection

A collection of Subnet4 objects.

This container provides a set of indexes which can be used to retrieve subnets by various properties.

This multi index container can hold pointers to Subnet4 objects representing subnets. It provides indexes for subnet lookups using subnet properties such as: subnet identifier, subnet prefix or server identifier specified for a subnet. It also provides a random access index which allows for using the container like a vector.

The random access index is used by the DHCP servers which perform a full scan on subnets to find the one that matches some specific criteria for subnet selection.

The remaining indexes are used for searching for a specific subnet as a result of receiving a command over the control API, e.g. when 'subnet-get' command is received.

Todo:
We should consider optimizing subnet selection by leveraging the indexing capabilities of this container, e.g. searching for a subnet by interface name, relay address etc.

Definition at line 798 of file subnet.h.

◆ Subnet4Ptr

typedef boost::shared_ptr<Subnet4> isc::dhcp::Subnet4Ptr

A pointer to a Subnet4 object.

Definition at line 464 of file subnet.h.

◆ Subnet6Collection

typedef boost::multi_index_container< Subnet6Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag<SubnetRandomAccessIndexTag> >, boost::multi_index::ordered_unique< boost::multi_index::tag<SubnetSubnetIdIndexTag>, boost::multi_index::const_mem_fun<Subnet, SubnetID, &Subnet::getID> >, boost::multi_index::ordered_unique< boost::multi_index::tag<SubnetPrefixIndexTag>, boost::multi_index::const_mem_fun<Subnet, std::string, &Subnet::toText> > >> isc::dhcp::Subnet6Collection

A collection of Subnet6 objects.

This container provides a set of indexes which can be used to retrieve subnets by various properties.

This multi index container can hold pointers to Subnet6 objects representing subnets. It provides indexes for subnet lookups using subnet properties such as: subnet identifier or subnet prefix. It also provides a random access index which allows for using the container like a vector.

The random access index is used by the DHCP servers which perform a full scan on subnets to find the one that matches some specific criteria for subnet selection.

The remaining indexes are used for searching for a specific subnet as a result of receiving a command over the control API, e.g. when 'subnet-get' command is received.

Todo:
We should consider optimizing subnet selection by leveraging the indexing capabilities of this container, e.g. searching for a subnet by interface name, relay address etc.

Definition at line 843 of file subnet.h.

◆ Subnet6Ptr

typedef boost::shared_ptr<Subnet6> isc::dhcp::Subnet6Ptr

A pointer to a Subnet6 object.

Definition at line 629 of file subnet.h.

◆ SubnetID

typedef uint32_t isc::dhcp::SubnetID

Unique identifier for a subnet (both v4 and v6)

Defines unique IPv4 or IPv6 subnet identifier.

Let's copy SubnetID definition from subnet.h. We can't include it directly, because subnet.h needs Lease::Type, so it includes lease.h

Each subnet for which the DHCP service has been configured is identified by the unique value called subnet id. Right now it is represented as a simple unsigned integer. In the future it may be extended to more complex type.

Definition at line 24 of file lease.h.

◆ SubnetPtr

typedef boost::shared_ptr<Subnet> isc::dhcp::SubnetPtr

A generic pointer to either Subnet4 or Subnet6 object.

Definition at line 455 of file subnet.h.

◆ TaggedStatementArray

Array of tagged statements.

Definition at line 2133 of file mysql_host_data_source.cc.

◆ TimerInfoMap

typedef std::map<std::string, TimerInfoPtr> isc::dhcp::TimerInfoMap

A type definition for the map holding timers configuration.

Definition at line 69 of file timer_mgr.cc.

◆ TimerInfoPtr

typedef boost::shared_ptr<TimerInfo> isc::dhcp::TimerInfoPtr

A type definition for the pointer to TimerInfo structure.

Definition at line 66 of file timer_mgr.cc.

◆ TimerMgrPtr

typedef boost::shared_ptr<TimerMgr> isc::dhcp::TimerMgrPtr

Type definition of the shared pointer to TimerMgr.

Definition at line 22 of file timer_mgr.h.

◆ TokenPtr

typedef boost::shared_ptr<Token> isc::dhcp::TokenPtr

Pointer to a single Token.

Definition at line 17 of file token.h.

◆ Uint32Storage

a collection of elements that store uint32 values

Definition at line 176 of file dhcp_parsers.h.

◆ Uint32StoragePtr

typedef boost::shared_ptr<Uint32Storage> isc::dhcp::Uint32StoragePtr

Definition at line 177 of file dhcp_parsers.h.

◆ ValueStack

typedef std::stack<std::string> isc::dhcp::ValueStack

Evaluated values are stored as a stack of strings.

Definition at line 33 of file token.h.

◆ VendorOptionDefContainers

Container that holds various vendor option containers.

Definition at line 825 of file option_definition.h.

◆ VersionPair

typedef std::pair<uint32_t, uint32_t> isc::dhcp::VersionPair

Pair containing major and minor versions.

Definition at line 40 of file lease_mgr.h.

◆ WeakNetworkPtr

typedef boost::weak_ptr<Network> isc::dhcp::WeakNetworkPtr

Weak pointer to the Network object.

Definition at line 363 of file network.h.

Enumeration Type Documentation

◆ BOOTPTypes

Enumerator
BOOTREQUEST 
BOOTREPLY 

Definition at line 45 of file dhcp4.h.

◆ DBType

enum isc::dhcp::DBType
strong

Specifies the database type.

Enumerator
LEASE_DB 
HOSTS_DB 

Definition at line 14 of file db_type.h.

◆ DHCPMessageType

Enumerator
DHCP_NOTYPE 

Message Type option missing.

DHCPDISCOVER 
DHCPOFFER 
DHCPREQUEST 
DHCPDECLINE 
DHCPACK 
DHCPNAK 
DHCPRELEASE 
DHCPINFORM 
DHCPLEASEQUERY 
DHCPLEASEUNASSIGNED 
DHCPLEASEUNKNOWN 
DHCPLEASEACTIVE 
DHCPBULKLEASEQUERY 
DHCPLEASEQUERYDONE 
DHCPLEASEQUERYSTATUS 
DHCPTLS 
DHCP_TYPES_EOF 

Definition at line 226 of file dhcp4.h.

◆ DHCPOptionType

Enumerator
DHO_PAD 
DHO_SUBNET_MASK 
DHO_TIME_OFFSET 
DHO_ROUTERS 
DHO_TIME_SERVERS 
DHO_NAME_SERVERS 
DHO_DOMAIN_NAME_SERVERS 
DHO_LOG_SERVERS 
DHO_COOKIE_SERVERS 
DHO_LPR_SERVERS 
DHO_IMPRESS_SERVERS 
DHO_RESOURCE_LOCATION_SERVERS 
DHO_HOST_NAME 
DHO_BOOT_SIZE 
DHO_MERIT_DUMP 
DHO_DOMAIN_NAME 
DHO_SWAP_SERVER 
DHO_ROOT_PATH 
DHO_EXTENSIONS_PATH 
DHO_IP_FORWARDING 
DHO_NON_LOCAL_SOURCE_ROUTING 
DHO_POLICY_FILTER 
DHO_MAX_DGRAM_REASSEMBLY 
DHO_DEFAULT_IP_TTL 
DHO_PATH_MTU_AGING_TIMEOUT 
DHO_PATH_MTU_PLATEAU_TABLE 
DHO_INTERFACE_MTU 
DHO_ALL_SUBNETS_LOCAL 
DHO_BROADCAST_ADDRESS 
DHO_PERFORM_MASK_DISCOVERY 
DHO_MASK_SUPPLIER 
DHO_ROUTER_DISCOVERY 
DHO_ROUTER_SOLICITATION_ADDRESS 
DHO_STATIC_ROUTES 
DHO_TRAILER_ENCAPSULATION 
DHO_ARP_CACHE_TIMEOUT 
DHO_IEEE802_3_ENCAPSULATION 
DHO_DEFAULT_TCP_TTL 
DHO_TCP_KEEPALIVE_INTERVAL 
DHO_TCP_KEEPALIVE_GARBAGE 
DHO_NIS_DOMAIN 
DHO_NIS_SERVERS 
DHO_NTP_SERVERS 
DHO_VENDOR_ENCAPSULATED_OPTIONS 
DHO_NETBIOS_NAME_SERVERS 
DHO_NETBIOS_DD_SERVER 
DHO_NETBIOS_NODE_TYPE 
DHO_NETBIOS_SCOPE 
DHO_FONT_SERVERS 
DHO_X_DISPLAY_MANAGER 
DHO_DHCP_REQUESTED_ADDRESS 
DHO_DHCP_LEASE_TIME 
DHO_DHCP_OPTION_OVERLOAD 
DHO_DHCP_MESSAGE_TYPE 
DHO_DHCP_SERVER_IDENTIFIER 
DHO_DHCP_PARAMETER_REQUEST_LIST 
DHO_DHCP_MESSAGE 
DHO_DHCP_MAX_MESSAGE_SIZE 
DHO_DHCP_RENEWAL_TIME 
DHO_DHCP_REBINDING_TIME 
DHO_VENDOR_CLASS_IDENTIFIER 
DHO_DHCP_CLIENT_IDENTIFIER 
DHO_NWIP_DOMAIN_NAME 
DHO_NWIP_SUBOPTIONS 
DHO_NISP_DOMAIN_NAME 
DHO_NISP_SERVER_ADDR 
DHO_TFTP_SERVER_NAME 
DHO_BOOT_FILE_NAME 
DHO_HOME_AGENT_ADDRS 
DHO_SMTP_SERVER 
DHO_POP3_SERVER 
DHO_NNTP_SERVER 
DHO_WWW_SERVER 
DHO_FINGER_SERVER 
DHO_IRC_SERVER 
DHO_STREETTALK_SERVER 
DHO_STDASERVER 
DHO_USER_CLASS 
DHO_DIRECTORY_AGENT 
DHO_SERVICE_SCOPE 
DHO_FQDN 
DHO_DHCP_AGENT_OPTIONS 
DHO_NDS_SERVERS 
DHO_NDS_TREE_NAME 
DHO_NDS_CONTEXT 
DHO_BCMCS_DOMAIN_NAME_LIST 
DHO_BCMCS_IPV4_ADDR 
DHO_AUTHENTICATE 
DHO_CLIENT_LAST_TRANSACTION_TIME 
DHO_ASSOCIATED_IP 
DHO_SYSTEM 
DHO_NDI 
DHO_UUID_GUID 
DHO_USER_AUTH 
DHO_GEOCONF_CIVIC 
DHO_PCODE 
DHO_TCODE 
DHO_NETINFO_ADDR 
DHO_NETINFO_TAG 
DHO_URL 
DHO_AUTO_CONFIG 
DHO_NAME_SERVICE_SEARCH 
DHO_SUBNET_SELECTION 
DHO_DOMAIN_SEARCH 
DHO_VIVCO_SUBOPTIONS 
DHO_VIVSO_SUBOPTIONS 
DHO_PANA_AGENT 
DHO_V4_LOST 
DHO_CAPWAP_AC_V4 
DHO_SIP_UA_CONF_SERVICE_DOMAINS 
DHO_RDNSS_SELECT 
DHO_V4_PORTPARAMS 
DHO_V4_CAPTIVE_PORTAL 
DHO_6RD 
DHO_V4_ACCESS_DOMAIN 
DHO_END 

Definition at line 68 of file dhcp4.h.

◆ HType

Possible values for hardware type (htype) field.

Enumerator
HTYPE_UNDEFINED 

not specified or undefined

HTYPE_ETHER 

Ethernet 10Mbps.

HTYPE_DOCSIS 

The traffic captures we have from cable modems as well as this list by IANA: http://www.iana.org/assignments/ arp-parameters/arp-parameters.xhtml suggest that Ethernet (1) should be used in DOCSIS environment.

HTYPE_IEEE802 

IEEE 802.2 Token Ring.

HTYPE_FDDI 

FDDI.

Definition at line 54 of file dhcp4.h.

◆ OptionDataType

Data types of DHCP option fields.

Warning
The order of data types matters: OPT_UNKNOWN_TYPE must always be the last position. Also, OPT_RECORD_TYPE must be at last but one position. This is because some functions perform sanity checks on data type values using '>' operators, assuming that all values beyond the OPT_RECORD_TYPE are invalid.
Enumerator
OPT_EMPTY_TYPE 
OPT_BINARY_TYPE 
OPT_BOOLEAN_TYPE 
OPT_INT8_TYPE 
OPT_INT16_TYPE 
OPT_INT32_TYPE 
OPT_UINT8_TYPE 
OPT_UINT16_TYPE 
OPT_UINT32_TYPE 
OPT_ANY_ADDRESS_TYPE 
OPT_IPV4_ADDRESS_TYPE 
OPT_IPV6_ADDRESS_TYPE 
OPT_IPV6_PREFIX_TYPE 
OPT_PSID_TYPE 
OPT_STRING_TYPE 
OPT_TUPLE_TYPE 
OPT_FQDN_TYPE 
OPT_RECORD_TYPE 
OPT_UNKNOWN_TYPE 

Definition at line 45 of file option_data_types.h.

◆ QueueEnd

enum isc::dhcp::QueueEnd
strong

Enumerates choices between the two ends of the queue.

Enumerator
FRONT 
BACK 

Definition at line 34 of file packet_queue.h.

Function Documentation

◆ addrsInRange()

uint64_t isc::dhcp::addrsInRange ( const isc::asiolink::IOAddress min,
const isc::asiolink::IOAddress max 
)

Returns number of available addresses in the specified range (min - max).

Note that for min equal max case, the number of addresses is one.

Exceptions
BadValueif min and max are not of the same family (both must be either IPv4 or IPv6) or if max < min.
Parameters
minthe first address in range
maxthe last address in range
Returns
number of addresses in range

Definition at line 209 of file addr_utilities.cc.

References isc::asiolink::IOAddress::getFamily(), isc::asiolink::IOAddress::increase(), isc_throw, isc::asiolink::IOAddress::isV4(), isc::asiolink::IOAddress::subtract(), isc::asiolink::IOAddress::toBytes(), isc::asiolink::IOAddress::toText(), and isc::asiolink::IOAddress::toUint32().

Referenced by isc::dhcp::Pool4::Pool4(), and isc::dhcp::Pool6::Pool6().

+ Here is the call graph for this function:

◆ calcChecksum()

uint16_t isc::dhcp::calcChecksum ( const uint8_t *  buf,
const uint32_t  buf_size,
uint32_t  sum = 0 
)

Calculates checksum for provided buffer.

This function returns the sum of 16-bit values from the provided buffer. If the third parameter is specified, it indicates the initial checksum value. This parameter can be a result of calcChecksum function's invocation on different data buffer. The IP or UDP checksum value is a complement of the result returned by this function. However, this function does not compute complement of the summed values. It must be calculated outside of this function before writing the value to the packet buffer.

The IP header checksum calculation algorithm has been defined in RFC 791

Parameters
bufbuffer for which the checksum is calculated.
buf_sizesize of the buffer for which checksum is calculated.
suminitial checksum value, other values will be added to it.
Returns
calculated checksum.

Definition at line 214 of file protocol_util.cc.

Referenced by writeIpUdpHeader().

◆ configureCommandChannel()

void isc::dhcp::configureCommandChannel ( )

Initialize the command channel based on the staging configuration.

Only close the current channel, if the new channel configuration is different. This avoids disconnecting a client and hence not sending them a command result, unless they specifically alter the channel configuration. In that case the user simply has to accept they'll be disconnected.

Definition at line 260 of file dhcp4/json_config_parser.cc.

References isc::config::CommandMgr::closeCommandSocket(), isc::config::CommandMgr::instance(), and isc::config::CommandMgr::openCommandSocket().

+ Here is the call graph for this function:

◆ configureDhcp4Server()

isc::data::ConstElementPtr isc::dhcp::configureDhcp4Server ( Dhcpv4Srv ,
isc::data::ConstElementPtr  config_set,
bool  check_only = false 
)

Configure DHCPv4 server (Dhcpv4Srv) with a set of configuration values.

This function parses configuration information stored in config_set and configures the server by applying the configuration to it. It provides the strong exception guarantee as long as the underlying derived class implementations of DhcpConfigParser meet the assumption, that is, it ensures that either configuration is fully applied or the state of the server is intact.

If a syntax or semantics level error happens during the configuration (such as malformed configuration or invalid configuration parameter), this function returns appropriate error code.

This function is called every time a new configuration is received. The extra parameter is a reference to DHCPv4 server component. It is currently not used and CfgMgr::instance() is accessed instead.

Test-only mode added. If check_only flag is set to true, the configuration is parsed, but the actual change is not applied. The goal is to have the ability to test configuration.

This method does not throw. It catches all exceptions and returns them as reconfiguration statuses. It may return the following response codes: 0 - configuration successful 1 - malformed configuration (parsing failed) 2 - commit failed (parsing was successful, but failed to store the values in to server's configuration)

Parameters
config_seta new configuration (JSON) for DHCPv4 server
check_onlywhether this configuration is for testing only
Returns
answer that contains result of reconfiguration

We need to create instance of SharedNetworks4ListParser and parse the list of the shared networks into the CfgSharedNetworks4 object. One additional step is then to add subnets from the CfgSharedNetworks4 into CfgSubnets4 as well.

Definition at line 295 of file dhcp4/json_config_parser.cc.

References isc::config::CONTROL_RESULT_ERROR, isc::config::createAnswer(), DBG_DHCP4_COMMAND, dhcp4_logger, isc::dhcp::Dhcpv4Srv::discardPackets(), LOG_DEBUG, isc::dhcp::SanityChecksParser::parse(), isc::dhcp::HostReservationsListParser< HostReservationParserType >::parse(), isc::dhcp::IfacesConfigParser::parse(), isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >::parse(), isc::dhcp::DHCPQueueControlParser::parse(), isc::dhcp::ExpirationConfigParser::parse(), isc::db::DbAccessParser::parse(), isc::hooks::HooksLibrariesParser::parse(), isc::dhcp::ClientClassDefListParser::parse(), isc::dhcp::HostReservationIdsParser::parse(), isc::dhcp::OptionDataListParser::parse(), isc::dhcp::ControlSocketParser::parse(), isc::dhcp::OptionDefListParser::parse(), isc::dhcp::Subnets4ListConfigParser::parse(), isc::dhcp::D2ClientConfigParser::parse(), and isc::hooks::HooksConfig::verifyLibraries().

Referenced by isc::dhcp::ControlledDhcpv4Srv::checkConfig(), and isc::dhcp::ControlledDhcpv4Srv::processConfig().

+ Here is the call graph for this function:

◆ configureDhcp6Server()

isc::data::ConstElementPtr isc::dhcp::configureDhcp6Server ( Dhcpv6Srv server,
isc::data::ConstElementPtr  config_set,
bool  check_only = false 
)

Configures DHCPv6 server.

This function is called every time a new configuration is received. The extra parameter is a reference to DHCPv6 server component. It is currently not used and CfgMgr::instance() is accessed instead.

Test-only mode is supported. If check_only flag is set to true, the configuration is parsed, but the actual change is not applied. The goal is to have the ability to test configuration.

This method does not throw. It catches all exceptions and returns them as reconfiguration statuses. It may return the following response codes: 0 - configuration successful 1 - malformed configuration (parsing failed) 2 - commit failed (parsing was successful, but the values could not be stored in the configuration).

Parameters
serverDHCPv6 server object.
config_seta new configuration for DHCPv6 server.
check_onlywhether this configuration is for testing only
Returns
answer that contains result of the reconfiguration.
Exceptions
Dhcp6ConfigErrorif trying to create a parser for NULL config.

We need to create instance of SharedNetworks4ListParser and parse the list of the shared networks into the CfgSharedNetworks4 object. One additional step is then to add subnets from the CfgSharedNetworks6 into CfgSubnets6 as well.

Definition at line 380 of file dhcp6/json_config_parser.cc.

References isc::config::createAnswer(), DBG_DHCP6_COMMAND, dhcp6_logger, isc::dhcp::Dhcpv6Srv::discardPackets(), LOG_DEBUG, isc::dhcp::SanityChecksParser::parse(), isc::dhcp::DUIDConfigParser::parse(), isc::dhcp::HostReservationsListParser< HostReservationParserType >::parse(), isc::dhcp::IfacesConfigParser::parse(), isc::dhcp::SharedNetworksListParser< SharedNetworkParserType >::parse(), isc::dhcp::DHCPQueueControlParser::parse(), isc::dhcp::ExpirationConfigParser::parse(), isc::db::DbAccessParser::parse(), isc::hooks::HooksLibrariesParser::parse(), isc::dhcp::ClientClassDefListParser::parse(), isc::dhcp::HostReservationIdsParser::parse(), isc::dhcp::OptionDataListParser::parse(), isc::dhcp::MACSourcesListConfigParser::parse(), isc::dhcp::ControlSocketParser::parse(), isc::dhcp::OptionDefListParser::parse(), isc::dhcp::Subnets6ListConfigParser::parse(), isc::dhcp::D2ClientConfigParser::parse(), and isc::hooks::HooksConfig::verifyLibraries().

Referenced by isc::dhcp::ControlledDhcpv6Srv::checkConfig(), and isc::dhcp::ControlledDhcpv6Srv::processConfig().

+ Here is the call graph for this function:

◆ databaseConfigConnect()

bool isc::dhcp::databaseConfigConnect ( const SrvConfigPtr srv_cfg)

Attempts to connect to configured CB databases.

First, this function will close all existing CB backends. It will then attempt to connect to all of the CB backends defined in the given SrvConfig (if any).

It will return true if there are configured CB databases, and false otherwise. Any errors encountered along the way should generate throws.

Parameters
srv_cfgServer configuration from which to get the config-control information to use.
Returns
True if there are configured CB databases, false if not.

Definition at line 654 of file dhcp4/json_config_parser.cc.

References isc::cb::BaseConfigBackendMgr< ConfigBackendPoolType >::addBackend(), isc::cb::BaseConfigBackendMgr< ConfigBackendPoolType >::delAllBackends(), dhcp4_logger, and LOG_INFO.

Referenced by databaseConfigFetch().

+ Here is the call graph for this function:

◆ databaseConfigFetch()

void isc::dhcp::databaseConfigFetch ( const SrvConfigPtr srv_cfg,
isc::data::ElementPtr  mutable_cfg 
)

Fetch configuration from CB databases and merge it into the given configuration.

It will call databaseConfigConnect, passing in the given server configuration. If that call results in open CB databases, the function will then proceed to fetch configuration components from said databases and merge them into the given server configuration.

Parameters
srv_cfgServer configuration into which database configuration should be merged
mutable_cfgparsed configuration from the configuration file plus default values (ignored)

Definition at line 678 of file dhcp4/json_config_parser.cc.

References databaseConfigConnect().

+ Here is the call graph for this function:

◆ decodeEthernetHeader()

void isc::dhcp::decodeEthernetHeader ( util::InputBuffer buf,
Pkt4Ptr pkt 
)

Decode the Ethernet header.

This function reads Ethernet frame header from the provided buffer at the current read position. The source HW address is read from the header and assigned as client address in the pkt object. The buffer read pointer is set to the end of the Ethernet frame header if read was successful.

Warning
This function does not check that the provided 'pkt' pointer is valid. Caller must make sure that pointer is allocated.
Parameters
bufinput buffer holding header to be parsed.
[out]pktpacket object receiving HW source address read from header.
Exceptions
InvalidPacketHeaderif packet header is truncated
BadValueif pkt object is NULL.

Definition at line 25 of file protocol_util.cc.

References isc::util::InputBuffer::getLength(), and isc::util::InputBuffer::getPosition().

Referenced by isc::dhcp::PktFilterLPF::receive(), and isc::dhcp::PktFilterBPF::receive().

+ Here is the call graph for this function:

◆ decodeIpUdpHeader()

void isc::dhcp::decodeIpUdpHeader ( util::InputBuffer buf,
Pkt4Ptr pkt 
)

Decode IP and UDP header.

This function reads IP and UDP headers from the provided buffer at the current read position. The source and destination IP addresses and ports and read from these headers and stored in the appropriate members of the pkt object.

Warning
This function does not check that the provided 'pkt' pointer is valid. Caller must make sure that pointer is allocated.
Parameters
bufinput buffer holding headers to be parsed.
[out]pktpacket object where IP addresses and ports are stored.
Exceptions
InvalidPacketHeaderif packet header is truncated
BadValueif pkt object is NULL.

Definition at line 62 of file protocol_util.cc.

References isc::util::InputBuffer::getLength(), and isc::util::InputBuffer::getPosition().

Referenced by isc::dhcp::PktFilterLPF::receive(), and isc::dhcp::PktFilterBPF::receive().

+ Here is the call graph for this function:

◆ dependOnClass() [1/2]

bool isc::dhcp::dependOnClass ( const TokenPtr token,
const std::string &  name 
)

Checks dependency on a token.

It checks if the token is a TokenMember for the given class.

Parameters
tokenA pointer to the token.
nameThe client class name.
Returns
true if token points to a TokenMember of name, false if not.

Definition at line 15 of file dependency.cc.

Referenced by dependOnClass(), and isc::dhcp::ClientClassDef::dependOnClass().

◆ dependOnClass() [2/2]

bool isc::dhcp::dependOnClass ( const ExpressionPtr expr,
const std::string &  name 
)

Checks dependency on an expression.

It checks if a member of the expression depends on the given class.

Parameters
exprAn expression.
nameThe client class name.
Returns
true if a member of expr depends on name, false if not.

Definition at line 24 of file dependency.cc.

References dependOnClass().

+ Here is the call graph for this function:

◆ evaluateBool()

bool isc::dhcp::evaluateBool ( const Expression expr,
Pkt pkt 
)

Evaluate a RPN expression for a v4 or v6 packet and return a true or false decision.

Parameters
exprthe RPN expression, i.e., a vector of parsed tokens
pktThe v4 or v6 packet
Returns
the boolean decision
Exceptions
EvalStackErrorif there is not exactly one element on the value stack at the end of the evaluation
EvalTypeErrorif the value at the top of the stack at the end of the evaluation is not "false" or "true"

Definition at line 14 of file evaluate.cc.

References isc_throw, and isc::dhcp::Token::toBool().

Referenced by isc::dhcp::Dhcpv6Srv::evaluateClasses(), isc::dhcp::Dhcpv4Srv::evaluateClasses(), isc::dhcp::Dhcpv6Srv::requiredClassify(), and isc::dhcp::Dhcpv4Srv::requiredClassify().

+ Here is the call graph for this function:

◆ evaluateString()

std::string isc::dhcp::evaluateString ( const Expression expr,
Pkt pkt 
)

Definition at line 28 of file evaluate.cc.

References isc_throw.

◆ firstAddrInPrefix()

isc::asiolink::IOAddress isc::dhcp::firstAddrInPrefix ( const isc::asiolink::IOAddress prefix,
uint8_t  len 
)

This code is based on similar code from the Dibbler project.

I, Tomasz Mrugalski, as a sole creator of that code hereby release it under BSD license for the benefit of the Kea project. returns a first address in a given prefix

Example: For 2001:db8:1::deaf:beef and length /120 the function will return 2001:db8:1::dead:be00. See also lastAddrInPrefix.

Parameters
prefixand address that belongs to a prefix
lenprefix length
Returns
first address from a prefix

Definition at line 176 of file addr_utilities.cc.

References isc::asiolink::IOAddress::isV4().

Referenced by isc::yang::TranslatorPool::getAddresses(), isc::dhcp::Subnet::inRange(), isc::dhcp::CfgSubnets4::selectSubnet4o6(), and isc::yang::TranslatorPool::setPoolIetf6().

+ Here is the call graph for this function:

◆ getCalloutHandle()

template<typename T >
isc::hooks::CalloutHandlePtr isc::dhcp::getCalloutHandle ( const T &  pktptr)

CalloutHandle Store.

When using the Hooks Framework, there is a need to associate an isc::hooks::CalloutHandle object with each request passing through the server. For the DHCP servers, the association was provided by this function.

After introduction of "packets parking" feature this function was extended to keep association of packets with the callout handles in a map. However, it was later found that "garbage collection" of the unused handles is very hard. Trying to garbage collect handles at each invocation was highly inefficient and caused server's performance degradation.

The new approach is using on isc::hooks::CalloutHandleAssociate to associate objects with callout handles. This has a major benefit that callout handle instances are removed together with the packets associated with them.

This function uses this new approach and is kept for the compatibility with existing code.

Template Parameters
TPkt4Ptr or Pkt6Ptr object.
Parameters
pktptrPointer to the packet being processed. This is typically a Pkt4Ptr or Pkt6Ptr object.
Returns
Shared pointer to a CalloutHandle. This is the previously-stored CalloutHandle if pktptr points to a packet that has been seen before or a new CalloutHandle if it points to a new one. An empty pointer is returned if pktptr is itself an empty pointer.

Definition at line 47 of file callout_handle_store.h.

Referenced by isc::dhcp::Dhcpv4Srv::assignLease(), isc::dhcp::Dhcpv4Srv::declineLease(), isc::dhcp::Dhcpv6Srv::declineLease(), isc::dhcp::Dhcpv6Srv::discardPackets(), isc::dhcp::Dhcpv4Srv::discardPackets(), isc::dhcp::Dhcp4to6Ipc::handler(), isc::dhcp::Dhcpv6Srv::initContext(), isc::dhcp::Dhcpv6Srv::processPacket(), isc::dhcp::Dhcpv4Srv::processPacket(), isc::dhcp::Dhcpv4Srv::processRelease(), isc::dhcp::Dhcpv6Srv::releaseIA_NA(), isc::dhcp::Dhcpv6Srv::releaseIA_PD(), isc::dhcp::Dhcpv6Srv::run_one(), isc::dhcp::Dhcpv4Srv::run_one(), isc::dhcp::Dhcpv6Srv::selectSubnet(), isc::dhcp::Dhcpv4Srv::selectSubnet(), and isc::dhcp::Dhcpv4Srv::selectSubnet4o6().

◆ getNetmask4()

isc::asiolink::IOAddress isc::dhcp::getNetmask4 ( uint8_t  len)

Generates an IPv4 netmask of specified length.

Exceptions
BadValueif len is greater than 32
Returns
netmask

Definition at line 198 of file addr_utilities.cc.

References isc_throw.

◆ hash_value()

std::size_t isc::dhcp::hash_value ( const HostKey &  key)

hash function for HostMap

Returns a 64-bits key value. The key is generated with FNV-1a 64 bit algorithm.

Parameters
keybeing hashed
Returns
hash value

Definition at line 1562 of file cql_host_data_source.cc.

References isc::dhcp::DUID::toText().

+ Here is the call graph for this function:

◆ isClientClassBuiltIn()

bool isc::dhcp::isClientClassBuiltIn ( const ClientClass client_class)

Check if a client class name is builtin.

Parameters
client_classA client class name to look for.
Returns
true if built-in, false if not.

Definition at line 353 of file client_class_def.cc.

References builtinNames, and builtinPrefixes.

Referenced by isc::dhcp::Dhcpv4Srv::buildCfgOptionList(), isc::dhcp::Dhcpv6Srv::buildCfgOptionList(), and isClientClassDefined().

◆ isClientClassDefined()

bool isc::dhcp::isClientClassDefined ( ClientClassDictionaryPtr class_dictionary,
bool &  depend_on_known,
const ClientClass client_class 
)

Check if a client class name is already defined, i.e.

is built-in or in the dictionary,

The reference to depend on known flag is set to true if the class is KNOWN or UNKNOWN (direct dependency) or has this flag set (indirect dependency).

Parameters
class_dictionaryA class dictionary where to look for.
depend_on_knownA reference to depend on known flag.
client_classA client class name to look for.
Returns
true if defined or built-in, false if not.

Definition at line 376 of file client_class_def.cc.

References isClientClassBuiltIn().

Referenced by isc::dhcp::ClientClassDefParser::parse().

+ Here is the call graph for this function:

◆ lastAddrInPrefix()

isc::asiolink::IOAddress isc::dhcp::lastAddrInPrefix ( const isc::asiolink::IOAddress prefix,
uint8_t  len 
)

returns a last address in a given prefix

Example: For 2001:db8:1::deaf:beef and length /112 the function will return 2001:db8:1::dead:ffff. See also firstAddrInPrefix.

Parameters
prefixand address that belongs to a prefix
lenprefix length
Returns
first address from a prefix

Definition at line 187 of file addr_utilities.cc.

References isc::asiolink::IOAddress::isV4().

Referenced by isc::yang::TranslatorPool::getAddresses(), isc::dhcp::Subnet::inRange(), isc::dhcp::Pool4::Pool4(), isc::dhcp::CfgSubnets4::selectSubnet4o6(), and isc::yang::TranslatorPool::setPoolIetf6().

+ Here is the call graph for this function:

◆ operator<<() [1/4]

std::ostream & isc::dhcp::operator<< ( std::ostream &  os,
const OpaqueDataTuple tuple 
)

Inserts the OpaqueDataTuple as a string into stream.

This operator gets the tuple data in the textual format and inserts it into the output stream.

Parameters
osStream object on which insertion is performed.
tupleObject encapsulating a tuple which data in the textual format is inserted into the stream.
Returns
Reference to the same stream but after insertion operation.

Definition at line 95 of file opaque_data_tuple.cc.

References isc::dhcp::OpaqueDataTuple::getText().

+ Here is the call graph for this function:

◆ operator<<() [2/4]

std::ostream& isc::dhcp::operator<< ( std::ostream &  os,
const ClientClassDef x 
)

Definition at line 199 of file client_class_def.cc.

References isc::dhcp::ClientClassDef::getName().

+ Here is the call graph for this function:

◆ operator<<() [3/4]

std::ostream & isc::dhcp::operator<< ( std::ostream &  os,
const D2ClientConfig config 
)

Definition at line 279 of file d2_client_cfg.cc.

References isc::dhcp::D2ClientConfig::toText().

+ Here is the call graph for this function:

◆ operator<<() [4/4]

std::ostream & isc::dhcp::operator<< ( std::ostream &  os,
const Lease lease 
)

Stream output operator.

Dumps the output of Lease::toText to the given stream.

Parameters
osoutput stream to which the output is
leasereference to Lease object to dump
Returns
a reference to the output stream parameter

Definition at line 730 of file lease.cc.

References isc::dhcp::Lease::toText().

+ Here is the call graph for this function:

◆ operator==()

bool isc::dhcp::operator== ( const HostKey &  key1,
const HostKey &  key2 
)

equals operator for HostKey

Parameters
key1left hand side operand
key2right hand side operand
Returns
true if keys are equal. Deep comparison is made.

Definition at line 1585 of file cql_host_data_source.cc.

◆ operator>>()

std::istream & isc::dhcp::operator>> ( std::istream &  is,
OpaqueDataTuple tuple 
)

Inserts data carried in the stream into the tuple.

this operator inserts data carried in the input stream and inserts it to the OpaqueDataTuple object. The existing data is replaced with new data.

Parameters
isInput stream from which the data will be inserted.
tupleOpaqueDataTuple object to which the data will be inserted.
Returns
Input stream after insertion to the tuple is performed.

Definition at line 100 of file opaque_data_tuple.cc.

References isc::dhcp::OpaqueDataTuple::append(), and isc::dhcp::OpaqueDataTuple::clear().

+ Here is the call graph for this function:

◆ prefixesInRange()

uint64_t isc::dhcp::prefixesInRange ( const uint8_t  pool_len,
const uint8_t  delegated_len 
)

Returns number of available IPv6 prefixes in the specified prefix.

Note that if the answer is bigger than uint64_t can hold, it will return the max value of uint64_t type.

Example: prefixesInRange(48, 64) returns 65536, as there are /48 pool can be split into 65536 prefixes, each /64 large.

Parameters
pool_lenlength of the pool in bits
delegated_lenlength of the prefixes to be delegated from the pool
Returns
number of prefixes in range

Definition at line 350 of file addr_utilities.cc.

◆ prefixLengthFromRange()

int isc::dhcp::prefixLengthFromRange ( const isc::asiolink::IOAddress min,
const isc::asiolink::IOAddress max 
)

Returns prefix length from the specified range (min - max).

This can be considered as log2(addrsInRange)

Exceptions
BadValueif min and max do not define a prefix.
Parameters
minthe first address in range
maxthe last address in range
Returns
the prefix length or -1 if the range is not from a prefix

Definition at line 280 of file addr_utilities.cc.

References isc::asiolink::IOAddress::getFamily(), isc_throw, isc::asiolink::IOAddress::isV4(), isc::asiolink::IOAddress::toBytes(), isc::asiolink::IOAddress::toText(), and isc::asiolink::IOAddress::toUint32().

Referenced by isc::dhcp::Pool4::toElement(), and isc::dhcp::Pool6::toElement().

+ Here is the call graph for this function:

◆ queueNCR() [1/2]

void isc::dhcp::queueNCR ( const dhcp_ddns::NameChangeType chg_type,
const Lease4Ptr lease 
)

Creates name change request from the DHCPv4 lease.

This function creates name change request from the information contained in the DHCPv4 lease. If the client identifier is present in the lease, this identifier is used to compute the DHCID, otherwise the HW address is used.

This function is exception safe. On failure, it logs an error.

Parameters
chg_typeType of the name change request
leasePointer to the lease.

Definition at line 86 of file ncr_generator.cc.

References isc::dhcp::Pkt4::makeLabel().

Referenced by isc::dhcp::Dhcpv4Srv::createNameChangeRequests(), isc::dhcp::Dhcpv4Srv::declineLease(), isc::dhcp::Dhcpv6Srv::declineLease(), isc::dhcp::Dhcpv6Srv::extendIA_NA(), isc::dhcp::Dhcpv4Srv::processRelease(), and isc::dhcp::Dhcpv6Srv::releaseIA_NA().

+ Here is the call graph for this function:

◆ queueNCR() [2/2]

void isc::dhcp::queueNCR ( const dhcp_ddns::NameChangeType chg_type,
const Lease6Ptr lease 
)

Creates name change request from the DHCPv6 lease.

This function creates name change request from the information contained in the DHCPv6 lease. The DUID is used to compute the DHCID for the name change request.

This function will skip sending the NCR if the lease type is a delegated prefix.

This function is exception safe. On failure, it logs an error.

Parameters
chg_typeType of the name change request
leasePointer to the lease.

Definition at line 102 of file ncr_generator.cc.

References isc::dhcp::Pkt6::makeLabel(), and isc::dhcp::Lease::TYPE_PD.

+ Here is the call graph for this function:

◆ writeEthernetHeader()

void isc::dhcp::writeEthernetHeader ( const Pkt4Ptr pkt,
util::OutputBuffer out_buf 
)

Writes ethernet frame header into a buffer.

Warning
This function does not check that the provided 'pkt' pointer is valid. Caller must make sure that pointer is allocated.
Parameters
pktpacket object holding source and destination HW address.
[out]out_bufbuffer where a header is written.

Definition at line 116 of file protocol_util.cc.

References isc_throw, isc::util::OutputBuffer::writeData(), and isc::util::OutputBuffer::writeUint16().

Referenced by isc::dhcp::PktFilterLPF::send(), and isc::dhcp::PktFilterBPF::send().

+ Here is the call graph for this function:

◆ writeIpUdpHeader()

void isc::dhcp::writeIpUdpHeader ( const Pkt4Ptr pkt,
util::OutputBuffer out_buf 
)

Writes both IP and UDP header into output buffer.

This utility function assembles IP and UDP packet headers for the provided DHCPv4 message. The source and destination addreses and ports stored in the pkt object are copied as source and destination addresses and ports into IP/UDP headers.

Warning
This function does not check that the provided 'pkt' pointer is valid. Caller must make sure that pointer is allocated.
Parameters
pktDHCPv4 packet to be sent in IP packet
[out]out_bufbuffer where an IP header is written

Definition at line 161 of file protocol_util.cc.

References calcChecksum(), isc::util::OutputBuffer::getData(), isc::util::OutputBuffer::getLength(), isc::util::OutputBuffer::writeUint16(), isc::util::OutputBuffer::writeUint16At(), isc::util::OutputBuffer::writeUint32(), and isc::util::OutputBuffer::writeUint8().

Referenced by isc::dhcp::PktFilterLPF::send(), and isc::dhcp::PktFilterBPF::send().

+ Here is the call graph for this function:

Variable Documentation

◆ __pad0__

isc::dhcp::__pad0__

Represents selection of interfaces for DHCP server.

This class manages selection of interfaces on which the DHCP server is listening to queries. The interfaces are selected in the server configuration by their names or by the pairs of interface names and addresses, e.g. eth0/2001:db8:1::1 (DHCPv6) or e.g. eth0/192.168.8.1 (DHCPv4).

This class also accepts "wildcard" interface name which, if specified, instructs the server to listen on all available interfaces.

Once interfaces have been specified the sockets (either IPv4 or IPv6) can be opened by calling CfgIface::openSockets function. Kea offers configuration parameters to control the types of sockets to be opened by the DHCPv4 server. In small deployments it is requires that the server can handle messages from the directly connected clients which don't have an address yet. Unicasting the response to such client is possible by the use of raw sockets. In larger deployments it is often the case that whole traffic is received via relays, and in such case the use of UDP sockets is preferred. The type of the sockets to be opened is specified using one of the CfgIface::useSocketType method variants. The CfgIface::SocketType enumeration specifies the possible values.

Warning
This class makes use of the AF_INET and AF_INET6 family literals, but it doesn't verify that the address family value passed as uint16_t parameter is equal to one of them. It is a callers responsibility to guarantee that the address family value is correct.

The interface name is passed as an argument of the CfgIface::use function which controls the selection of the interface on which the DHCP queries should be received by the server. The interface name passed as the argument of this function may appear in one of the following formats:

  • interface-name, e.g. eth0
  • interface-name/address, e.g. eth0/2001:db8:1::1 or eth0/192.168.8.1

Extraneous spaces surrounding the interface name and/or address are accepted. For example: eth0 / 2001:db8:1::1 will be accepted.

When only interface name is specified (without an address) it is allowed to use the "wildcard" interface name (*) which indicates that the server should open sockets on all interfaces. When IPv6 is in use, the sockets will be bound to the link local addresses. Wildcard interface names are not allowed when specifying a unicast address. For example:

Definition at line 114 of file cfg_iface.h.

◆ ALLOC_ENGINE_DBG_RESULTS

const int isc::dhcp::ALLOC_ENGINE_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA

Records the results of various operations.

Messages logged at this level will typically contain summary of the data retrieved.

Definition at line 28 of file alloc_engine_log.h.

◆ ALLOC_ENGINE_DBG_TRACE

◆ ALLOC_ENGINE_DBG_TRACE_DETAIL

const int isc::dhcp::ALLOC_ENGINE_DBG_TRACE_DETAIL = isc::log::DBGLVL_TRACE_DETAIL

Record detailed traces.

Messages logged at this level will log detailed tracing information.

Definition at line 33 of file alloc_engine_log.h.

Referenced by isc::dhcp::AllocEngine::renewLeases6().

◆ ALLOC_ENGINE_DBG_TRACE_DETAIL_DATA

const int isc::dhcp::ALLOC_ENGINE_DBG_TRACE_DETAIL_DATA
Initial value:
=
const int DBGLVL_TRACE_DETAIL_DATA
Trace data associated with detailed operations.
Definition: log_dbglevels.h:74

Records detailed results of various operations.

Messages logged at this level will contain detailed results.

Definition at line 38 of file alloc_engine_log.h.

◆ alloc_engine_logger

◆ bad_packet4_logger

isc::log::Logger isc::dhcp::bad_packet4_logger

Logger for rejected packets.

Here "bad packets" are packets that are either dropped (i.e malformed, unsupported types) or packets that are rejected and NAKed for logical reasons.

Definition at line 97 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::accept(), isc::dhcp::Dhcpv4Srv::acceptMessageType(), isc::dhcp::Dhcpv4Srv::assignLease(), isc::dhcp::Dhcpv4Srv::processPacket(), and isc::dhcp::Dhcpv4Srv::run_one().

◆ bad_packet6_logger

isc::log::Logger isc::dhcp::bad_packet6_logger

Logger for rejected packets.

Here "bad packets" are packets that are either dropped (i.e malformed, unsupported types) or packets that are rejected for logical reasons.

Definition at line 93 of file dhcp6_log.h.

Referenced by isc::dhcp::Dhcpv6Srv::processPacket(), isc::dhcp::Dhcpv6Srv::run_one(), isc::dhcp::Dhcpv6Srv::sanityCheck(), isc::dhcp::Dhcpv6Srv::testServerID(), and isc::dhcp::Dhcpv6Srv::testUnicast().

◆ builtinNames

std::list< std::string > isc::dhcp::builtinNames
Initial value:
= {
"ALL", "KNOWN", "UNKNOWN"
}

List of built-in client class names.

i.e. ALL, KNOWN and UNKNOWN.

Definition at line 343 of file client_class_def.cc.

Referenced by isClientClassBuiltIn().

◆ builtinPrefixes

std::list< std::string > isc::dhcp::builtinPrefixes
Initial value:
= {
"VENDOR_CLASS_", "HA_", "AFTER_", "EXTERNAL_"
}

List of built-in client class prefixes i.e.

VENDOR_CLASS_, HA_, AFTER_ and EXTERNAL_.

Definition at line 348 of file client_class_def.cc.

Referenced by isClientClassBuiltIn().

◆ DBG_DHCP4_BASIC

◆ DBG_DHCP4_BASIC_DATA

const int isc::dhcp::DBG_DHCP4_BASIC_DATA = isc::log::DBGLVL_TRACE_BASIC_DATA

Debug level used to log the traces with some basic data.

The basic data includes summary information, e.g. summary of the information returned by a particular function. It may also include more detailed information in cases when it is warranted and the extraction of the data doesn't impact the server's performance significantly.

Definition at line 45 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::assignLease(), isc::dhcp::Dhcpv4Srv::processPacket(), isc::dhcp::Dhcpv4Srv::selectSubnet(), and isc::dhcp::Dhcpv4Srv::selectSubnet4o6().

◆ DBG_DHCP4_COMMAND

const int isc::dhcp::DBG_DHCP4_COMMAND = isc::log::DBGLVL_COMMAND

◆ DBG_DHCP4_DETAIL

const int isc::dhcp::DBG_DHCP4_DETAIL = isc::log::DBGLVL_TRACE_DETAIL

Debug level used to trace detailed errors.

Trace detailed operations, including errors raised when processing invalid packets. (These are not logged at severities of WARN or higher for fear that a set of deliberately invalid packets set to the server could overwhelm the logging.)

Definition at line 53 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::accept(), isc::dhcp::Dhcpv4Srv::acceptMessageType(), isc::dhcp::Dhcpv4Srv::assignLease(), isc::dhcp::Dhcpv4Srv::evaluateClasses(), isc::dhcp::Dhcp4to6Ipc::handler(), isc::dhcp::Dhcpv4Srv::processClientName(), isc::dhcp::Dhcpv4Srv::processInform(), isc::dhcp::Dhcpv4Srv::processPacket(), isc::dhcp::Dhcpv4Srv::processPacketPktSend(), isc::dhcp::Dhcpv4Srv::processRelease(), isc::dhcp::Dhcpv4Srv::requiredClassify(), isc::dhcp::Dhcpv4Srv::run_one(), isc::dhcp::Dhcpv4Srv::selectSubnet(), and isc::dhcp::Dhcpv4Srv::selectSubnet4o6().

◆ DBG_DHCP4_DETAIL_DATA

◆ DBG_DHCP4_HOOKS

◆ DBG_DHCP4_SHUT

const int isc::dhcp::DBG_DHCP4_SHUT = isc::log::DBGLVL_START_SHUT

Debug level used to log information during server shutdown.

Definition at line 27 of file dhcp4_log.h.

◆ DBG_DHCP4_START

const int isc::dhcp::DBG_DHCP4_START = isc::log::DBGLVL_START_SHUT

Debug level used to log information during server startup.

Definition at line 24 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::Dhcpv4Srv().

◆ DBG_DHCP6_BASIC

◆ DBG_DHCP6_BASIC_DATA

const int isc::dhcp::DBG_DHCP6_BASIC_DATA = isc::log::DBGLVL_TRACE_BASIC_DATA

Debug level used to log the traces with some basic data.

The basic data includes summary information, e.g. summary of the information returned by a particular function. It may also include more detailed information in cases when it is warranted and the extraction of the data doesn't impact the server's performance significantly.

Definition at line 42 of file dhcp6_log.h.

Referenced by isc::dhcp::Dhcpv6Srv::assignLeases(), isc::dhcp::Dhcpv6Srv::processPacket(), and isc::dhcp::Dhcpv6Srv::selectSubnet().

◆ DBG_DHCP6_COMMAND

const int isc::dhcp::DBG_DHCP6_COMMAND = isc::log::DBGLVL_COMMAND

◆ DBG_DHCP6_DETAIL

◆ DBG_DHCP6_DETAIL_DATA

◆ DBG_DHCP6_HOOKS

◆ DBG_DHCP6_SHUT

const int isc::dhcp::DBG_DHCP6_SHUT = isc::log::DBGLVL_START_SHUT

Debug level used to log information during server shutdown.

Definition at line 24 of file dhcp6_log.h.

◆ DBG_DHCP6_START

const int isc::dhcp::DBG_DHCP6_START = isc::log::DBGLVL_START_SHUT

Debug level used to log information during server startup.

Definition at line 21 of file dhcp6_log.h.

Referenced by isc::dhcp::Dhcpv6Srv::Dhcpv6Srv().

◆ ddns4_logger

isc::log::Logger isc::dhcp::ddns4_logger

Logger for Hostname or FQDN processing.

This logger is used to issue log messages related to processing the hostnames, FQDNs and sending name change requests to D2.

Definition at line 115 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::assignLease(), isc::dhcp::Dhcpv4Srv::d2ClientErrorHandler(), and isc::dhcp::Dhcpv4Srv::processClientName().

◆ ddns6_logger

isc::log::Logger isc::dhcp::ddns6_logger

Logger for Hostname or FQDN processing.

This logger is used to issue log messages related to processing the hostnames, FQDNs and sending name change requests to D2.

Definition at line 111 of file dhcp6_log.h.

Referenced by isc::dhcp::Dhcpv6Srv::createNameChangeRequests(), isc::dhcp::Dhcpv6Srv::d2ClientErrorHandler(), isc::dhcp::Dhcpv6Srv::extendIA_NA(), and isc::dhcp::Dhcpv6Srv::processClientFqdn().

◆ DHCP4_APP_LOGGER_NAME

const char * isc::dhcp::DHCP4_APP_LOGGER_NAME = "dhcp4"

Name of the base logger for DHCPv4 server.

Definition at line 27 of file dhcp4_log.cc.

◆ DHCP4_BAD_PACKET_LOGGER_NAME

const char * isc::dhcp::DHCP4_BAD_PACKET_LOGGER_NAME = "bad-packets"

Name of the logger for rejected packets.

Definition at line 28 of file dhcp4_log.cc.

◆ dhcp4_config_report

const char* const* isc::dhcp::dhcp4_config_report = isc::detail::config_report

Definition at line 3498 of file dhcp4_srv.cc.

◆ DHCP4_DDNS_LOGGER_NAME

const char * isc::dhcp::DHCP4_DDNS_LOGGER_NAME = "ddns"

Name of the logger for hostname or FQDN processing.

Definition at line 31 of file dhcp4_log.cc.

◆ DHCP4_LEASE_LOGGER_NAME

const char * isc::dhcp::DHCP4_LEASE_LOGGER_NAME = "leases"

Name of the logger for lease allocation logic.

Definition at line 32 of file dhcp4_log.cc.

◆ dhcp4_logger

◆ DHCP4_OPTIONS_LOGGER_NAME

const char * isc::dhcp::DHCP4_OPTIONS_LOGGER_NAME = "options"

Name of the logger for options parser.

Definition at line 30 of file dhcp4_log.cc.

◆ DHCP4_PACKET_LOGGER_NAME

const char * isc::dhcp::DHCP4_PACKET_LOGGER_NAME = "packets"

Name of the logger for processed packets.

Definition at line 29 of file dhcp4_log.cc.

◆ DHCP4_ROOT_LOGGER_NAME

const char * isc::dhcp::DHCP4_ROOT_LOGGER_NAME = "kea-dhcp4"

Defines the name of the root level (default) logger.

Definition at line 26 of file dhcp4_log.cc.

◆ DHCP6_APP_LOGGER_NAME

const char * isc::dhcp::DHCP6_APP_LOGGER_NAME = "dhcp6"

Name of the base logger for DHCPv6 server.

Definition at line 27 of file dhcp6_log.cc.

◆ DHCP6_BAD_PACKET_LOGGER_NAME

const char * isc::dhcp::DHCP6_BAD_PACKET_LOGGER_NAME = "bad-packets"

Name of the logger for rejected packets.

Definition at line 28 of file dhcp6_log.cc.

◆ dhcp6_config_report

const char* const* isc::dhcp::dhcp6_config_report = isc::detail::config_report

Definition at line 3651 of file dhcp6_srv.cc.

◆ DHCP6_DDNS_LOGGER_NAME

const char * isc::dhcp::DHCP6_DDNS_LOGGER_NAME = "ddns"

Name of the logger for hostname or FQDN processing.

Definition at line 31 of file dhcp6_log.cc.

◆ DHCP6_LEASE_LOGGER_NAME

const char * isc::dhcp::DHCP6_LEASE_LOGGER_NAME = "leases"

Name of the logger for lease allocation logic.

Definition at line 32 of file dhcp6_log.cc.

◆ dhcp6_logger

◆ DHCP6_OPTIONS_LOGGER_NAME

const char * isc::dhcp::DHCP6_OPTIONS_LOGGER_NAME = "options"

Name of the logger for options parser.

Definition at line 30 of file dhcp6_log.cc.

◆ DHCP6_PACKET_LOGGER_NAME

const char * isc::dhcp::DHCP6_PACKET_LOGGER_NAME = "packets"

Name of the logger for processed packets.

Definition at line 29 of file dhcp6_log.cc.

◆ DHCP6_ROOT_LOGGER_NAME

const char * isc::dhcp::DHCP6_ROOT_LOGGER_NAME = "kea-dhcp6"

Defines the name of the root level (default) logger.

Definition at line 26 of file dhcp6_log.cc.

◆ DHCPSRV_DBG_HOOKS

const int isc::dhcp::DHCPSRV_DBG_HOOKS = isc::log::DBGLVL_TRACE_BASIC

Definition at line 46 of file dhcpsrv_log.h.

◆ DHCPSRV_DBG_RESULTS

const int isc::dhcp::DHCPSRV_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA

Records the results of the lookups.

Using the example of tracing queries from the backend database, this will just record the summary results.

Definition at line 32 of file dhcpsrv_log.h.

◆ DHCPSRV_DBG_TRACE

◆ DHCPSRV_DBG_TRACE_DETAIL

const int isc::dhcp::DHCPSRV_DBG_TRACE_DETAIL = isc::log::DBGLVL_TRACE_DETAIL

Additional information.

Record detailed tracing. This is generally reserved for tracing access to the lease database.

Definition at line 38 of file dhcpsrv_log.h.

Referenced by isc::dhcp::CqlHostDataSource::add(), isc::dhcp::PgSqlLeaseMgr::addLease(), isc::dhcp::MySqlLeaseMgr::addLease(), isc::dhcp::CqlLeaseMgr::addLease(), isc::dhcp::Memfile_LeaseMgr::addLease(), isc::dhcp::CqlHostDataSource::commit(), isc::dhcp::Memfile_LeaseMgr::commit(), isc::dhcp::CqlLeaseMgr::commit(), isc::dhcp::MySqlLeaseMgr::commit(), isc::dhcp::PgSqlLeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::Memfile_LeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::MySqlLeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::CqlLeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::PgSqlLeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::Memfile_LeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::MySqlLeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::CqlLeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::PgSqlLeaseMgr::deleteLease(), isc::dhcp::Memfile_LeaseMgr::deleteLease(), isc::dhcp::MySqlLeaseMgr::deleteLease(), isc::dhcp::CqlLeaseMgr::deleteLease(), isc::dhcp::CqlHostDataSource::get4(), isc::dhcp::CqlHostDataSource::get6(), isc::dhcp::CqlHostDataSource::getAll(), isc::dhcp::CqlHostDataSource::getAll4(), isc::dhcp::PgSqlLeaseMgr::getExpiredLeases4(), isc::dhcp::MySqlLeaseMgr::getExpiredLeases4(), isc::dhcp::Memfile_LeaseMgr::getExpiredLeases4(), isc::dhcp::CqlLeaseMgr::getExpiredLeases4(), isc::dhcp::PgSqlLeaseMgr::getExpiredLeases6(), isc::dhcp::MySqlLeaseMgr::getExpiredLeases6(), isc::dhcp::Memfile_LeaseMgr::getExpiredLeases6(), isc::dhcp::CqlLeaseMgr::getExpiredLeases6(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::CqlLeaseMgr::getLease4(), isc::dhcp::Memfile_LeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease6(), isc::dhcp::MySqlLeaseMgr::getLease6(), isc::dhcp::CqlLeaseMgr::getLease6(), isc::dhcp::Memfile_LeaseMgr::getLease6(), isc::dhcp::PgSqlLeaseMgr::getLeases4(), isc::dhcp::MySqlLeaseMgr::getLeases4(), isc::dhcp::CqlLeaseMgr::getLeases4(), isc::dhcp::Memfile_LeaseMgr::getLeases4(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::CqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::Memfile_LeaseMgr::getLeases6(), isc::dhcp::CqlHostDataSource::getVersion(), isc::dhcp::PgSqlLeaseMgr::getVersion(), isc::dhcp::MySqlLeaseMgr::getVersion(), isc::dhcp::CqlLeaseMgr::getVersion(), isc::dhcp::PgSqlHostDataSourceImpl::getVersion(), isc::dhcp::MySqlHostDataSourceImpl::getVersion(), isc::dhcp::D2ClientMgr::operator()(), isc::dhcp::RelayInfoParser::parse(), isc::dhcp::CqlHostDataSource::rollback(), isc::dhcp::Memfile_LeaseMgr::rollback(), isc::dhcp::CqlLeaseMgr::rollback(), isc::dhcp::MySqlLeaseMgr::rollback(), isc::dhcp::PgSqlLeaseMgr::updateLease4(), isc::dhcp::Memfile_LeaseMgr::updateLease4(), isc::dhcp::MySqlLeaseMgr::updateLease4(), isc::dhcp::CqlLeaseMgr::updateLease4(), isc::dhcp::PgSqlLeaseMgr::updateLease6(), isc::dhcp::Memfile_LeaseMgr::updateLease6(), isc::dhcp::MySqlLeaseMgr::updateLease6(), and isc::dhcp::CqlLeaseMgr::updateLease6().

◆ DHCPSRV_DBG_TRACE_DETAIL_DATA

const int isc::dhcp::DHCPSRV_DBG_TRACE_DETAIL_DATA
Initial value:
=
const int DBGLVL_TRACE_DETAIL_DATA
Trace data associated with detailed operations.
Definition: log_dbglevels.h:74

Additional information.

Record detailed (and verbose) data on the server.

Definition at line 43 of file dhcpsrv_log.h.

Referenced by isc::dhcp::LeaseFileLoader::load().

◆ dhcpsrv_logger

isc::log::Logger isc::dhcp::dhcpsrv_logger

DHCP server library Logger.

Define the logger used to log messages. We could define it in multiple modules, but defining in a single module and linking to it saves time and space.

Definition at line 56 of file dhcpsrv_log.h.

Referenced by isc::dhcp::CfgSubnets4::add(), isc::dhcp::CfgSubnets6::add(), isc::dhcp::CqlHostDataSource::add(), isc::dhcp::PgSqlLeaseMgr::addLease(), isc::dhcp::MySqlLeaseMgr::addLease(), isc::dhcp::CqlLeaseMgr::addLease(), isc::dhcp::Memfile_LeaseMgr::addLease(), isc::dhcp::TimerMgr::cancel(), isc::dhcp::SanityChecker::checkLeaseInternal(), isc::dhcp::CqlHostDataSource::commit(), isc::dhcp::Memfile_LeaseMgr::commit(), isc::dhcp::CqlLeaseMgr::commit(), isc::dhcp::MySqlLeaseMgr::commit(), isc::dhcp::LeaseMgrFactory::create(), isc::dhcp::CfgSubnets4::del(), isc::dhcp::CfgSubnets6::del(), isc::dhcp::PgSqlLeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::Memfile_LeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::MySqlLeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::CqlLeaseMgr::deleteExpiredReclaimedLeases4(), isc::dhcp::PgSqlLeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::Memfile_LeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::MySqlLeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::CqlLeaseMgr::deleteExpiredReclaimedLeases6(), isc::dhcp::PgSqlLeaseMgr::deleteLease(), isc::dhcp::Memfile_LeaseMgr::deleteLease(), isc::dhcp::MySqlLeaseMgr::deleteLease(), isc::dhcp::CqlLeaseMgr::deleteLease(), isc::dhcp::LeaseMgrFactory::destroy(), isc::dhcp::Subnet6ConfigParser::duplicate_option_warning(), isc::dhcp::LFCSetup::execute(), isc::dhcp::CqlHostDataSource::get4(), isc::dhcp::CqlHostDataSource::get6(), isc::dhcp::CqlHostDataSource::getAll(), isc::dhcp::CqlHostDataSource::getAll4(), isc::dhcp::PgSqlLeaseMgr::getExpiredLeases4(), isc::dhcp::MySqlLeaseMgr::getExpiredLeases4(), isc::dhcp::Memfile_LeaseMgr::getExpiredLeases4(), isc::dhcp::CqlLeaseMgr::getExpiredLeases4(), isc::dhcp::PgSqlLeaseMgr::getExpiredLeases6(), isc::dhcp::MySqlLeaseMgr::getExpiredLeases6(), isc::dhcp::Memfile_LeaseMgr::getExpiredLeases6(), isc::dhcp::CqlLeaseMgr::getExpiredLeases6(), isc::dhcp::PgSqlLeaseMgr::getLease4(), isc::dhcp::MySqlLeaseMgr::getLease4(), isc::dhcp::CqlLeaseMgr::getLease4(), isc::dhcp::Memfile_LeaseMgr::getLease4(), isc::dhcp::PgSqlLeaseMgr::getLease6(), isc::dhcp::MySqlLeaseMgr::getLease6(), isc::dhcp::CqlLeaseMgr::getLease6(), isc::dhcp::Memfile_LeaseMgr::getLease6(), isc::dhcp::PgSqlLeaseMgr::getLeases4(), isc::dhcp::MySqlLeaseMgr::getLeases4(), isc::dhcp::CqlLeaseMgr::getLeases4(), isc::dhcp::Memfile_LeaseMgr::getLeases4(), isc::dhcp::PgSqlLeaseMgr::getLeases6(), isc::dhcp::MySqlLeaseMgr::getLeases6(), isc::dhcp::CqlLeaseMgr::getLeases6(), isc::dhcp::Memfile_LeaseMgr::getLeases6(), isc::dhcp::CqlHostDataSource::getVersion(), isc::dhcp::PgSqlLeaseMgr::getVersion(), isc::dhcp::MySqlLeaseMgr::getVersion(), isc::dhcp::CqlLeaseMgr::getVersion(), isc::dhcp::PgSqlHostDataSourceImpl::getVersion(), isc::dhcp::MySqlHostDataSourceImpl::getVersion(), isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::D2ClientMgr::invokeClientErrorHandler(), isc::dhcp::Memfile_LeaseMgr::lfcCallback(), isc::dhcp::LeaseFileLoader::load(), isc::dhcp::Memfile_LeaseMgr::Memfile_LeaseMgr(), isc::dhcp::MySqlHostDataSourceImpl::MySqlHostDataSourceImpl(), isc::dhcp::CfgIface::openSockets(), isc::dhcp::D2ClientMgr::operator()(), isc::dhcp::DUIDConfigParser::parse(), isc::dhcp::IfacesConfigParser::parse(), isc::dhcp::RelayInfoParser::parse(), isc::dhcp::PgSqlHostDataSourceImpl::PgSqlHostDataSourceImpl(), isc::dhcp::TimerMgr::registerTimer(), isc::dhcp::CqlHostDataSource::rollback(), isc::dhcp::Memfile_LeaseMgr::rollback(), isc::dhcp::CqlLeaseMgr::rollback(), isc::dhcp::MySqlLeaseMgr::rollback(), isc::dhcp::CfgSubnets6::selectSubnet(), isc::dhcp::CfgSubnets4::selectSubnet(), isc::dhcp::D2ClientMgr::sendRequest(), isc::dhcp::D2ClientMgr::setD2ClientConfig(), isc::dhcp::LFCSetup::setup(), isc::dhcp::TimerMgr::setup(), isc::dhcp::D2ClientMgr::startSender(), isc::dhcp::D2ClientMgr::stopSender(), isc::dhcp::D2ClientMgr::suspendUpdates(), isc::dhcp::TimerMgr::unregisterTimer(), isc::dhcp::TimerMgr::unregisterTimers(), isc::dhcp::PgSqlLeaseMgr::updateLease4(), isc::dhcp::MySqlLeaseMgr::updateLease4(), isc::dhcp::Memfile_LeaseMgr::updateLease4(), isc::dhcp::CqlLeaseMgr::updateLease4(), isc::dhcp::PgSqlLeaseMgr::updateLease6(), isc::dhcp::Memfile_LeaseMgr::updateLease6(), isc::dhcp::MySqlLeaseMgr::updateLease6(), isc::dhcp::CqlLeaseMgr::updateLease6(), isc::dhcp::CfgIface::use(), isc::dhcp::CfgIface::useSocketType(), isc::dhcp::Memfile_LeaseMgr::wipeLeases4(), isc::dhcp::Memfile_LeaseMgr::wipeLeases6(), and isc::dhcp::LFCSetup::~LFCSetup().

◆ DOCSIS3_CLASS_EROUTER

const char * isc::dhcp::DOCSIS3_CLASS_EROUTER = "eRouter1.0"

The class as specified in vendor-class option by the devices.

DOCSIS3.0 cable modem that has router built-in.

Definition at line 72 of file libdhcp++.cc.

Referenced by isc::dhcp::Dhcpv6Srv::classifyByVendor().

◆ DOCSIS3_CLASS_MODEM

const char * isc::dhcp::DOCSIS3_CLASS_MODEM = "docsis3.0"

DOCSIS3.0 compatible cable modem.

Definition at line 69 of file libdhcp++.cc.

Referenced by isc::dhcp::Dhcpv6Srv::classifyByVendor().

◆ DOCSIS3_V4_DEFS

const OptionDefParams isc::dhcp::DOCSIS3_V4_DEFS[]
Initial value:

Definitions of standard DHCPv4 options.

Definition at line 22 of file docsis3_option_defs.h.

Referenced by isc::yang::AdaptorOption::initCodes().

◆ DOCSIS3_V4_DEFS_SIZE

const int isc::dhcp::DOCSIS3_V4_DEFS_SIZE = sizeof(DOCSIS3_V4_DEFS) / sizeof(OptionDefParams)

Number of option definitions defined.

Definition at line 28 of file docsis3_option_defs.h.

Referenced by isc::yang::AdaptorOption::initCodes().

◆ DOCSIS3_V6_DEFS

const OptionDefParams isc::dhcp::DOCSIS3_V6_DEFS[]
Initial value:
= {
{ "device-type", DOCSIS3_V6_DEVICE_TYPE, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
{ "vendor-type", DOCSIS3_V6_VENDOR_NAME, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
{ "config-file", DOCSIS3_V6_CONFIG_FILE, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
{ "device-id", DOCSIS3_V6_DEVICE_ID, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
{ "time-offset", DOCSIS3_V6_TIME_OFFSET, OPT_INT32_TYPE, false, NO_RECORD_DEF, "" },
{ "cmts-cm-mac", DOCSIS3_V6_CMTS_CM_MAC, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" }
}
#define DOCSIS3_V6_CMTS_CM_MAC
#define DOCSIS3_V6_VENDOR_NAME
#define DOCSIS3_V6_ORO
#define DOCSIS3_V6_DEVICE_ID
#define DOCSIS3_V6_SYSLOG_SERVERS
#define DOCSIS3_V6_CONFIG_FILE
#define DOCSIS3_V6_TIME_OFFSET
#define NO_RECORD_DEF
#define DOCSIS3_V6_TFTP_SERVERS
#define DOCSIS3_V6_TIME_SERVERS
#define DOCSIS3_V6_DEVICE_TYPE

Definitions of standard DHCPv6 options.

Definition at line 46 of file docsis3_option_defs.h.

Referenced by isc::yang::AdaptorOption::initCodes().

◆ DOCSIS3_V6_DEFS_SIZE

const int isc::dhcp::DOCSIS3_V6_DEFS_SIZE
Initial value:
=
sizeof(DOCSIS3_V6_DEFS) / sizeof(DOCSIS3_V6_DEFS[0])
const OptionDefParams DOCSIS3_V6_DEFS[]
Definitions of standard DHCPv6 options.

Number of option definitions defined.

Definition at line 61 of file docsis3_option_defs.h.

Referenced by isc::yang::AdaptorOption::initCodes().

◆ eth0

e g e g isc::dhcp::eth0

Definition at line 114 of file cfg_iface.h.

◆ EVAL_DBG_STACK

◆ EVAL_DBG_TRACE

const int isc::dhcp::EVAL_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC

Eval debug Logging levels.

Defines the levels used to output debug messages in the eval (classification) code. Note that higher numbers equate to more verbose (and detailed) output.

Definition at line 22 of file eval_log.h.

◆ eval_logger

◆ HOSTS_DBG_RESULTS

const int isc::dhcp::HOSTS_DBG_RESULTS = isc::log::DBGLVL_TRACE_BASIC_DATA

Records the results of the lookups.

Messages logged at this level will typically contain summary of the data retrieved.

Definition at line 33 of file hosts_log.h.

Referenced by isc::dhcp::CfgHosts::get4(), isc::dhcp::HostMgr::get4Any(), and isc::dhcp::HostMgr::get6Any().

◆ HOSTS_DBG_TRACE

const int isc::dhcp::HOSTS_DBG_TRACE = isc::log::DBGLVL_TRACE_BASIC

Logging levels for the host reservations management.

Defines the levels used to output debug messages during the host reservations management, i.e. retrieving and adding host reservations. Note that higher numbers equate to more verbose(and detailed) output. Traces normal operations

An example of the normal operation is the call to one of the functions which retrieve the reservations or add new reservation.

Definition at line 27 of file hosts_log.h.

Referenced by isc::dhcp::CfgHosts::add(), isc::dhcp::CfgHosts::delAll4(), isc::dhcp::CfgHosts::delAll6(), isc::dhcp::CfgHosts::get4(), isc::dhcp::HostMgr::get4(), isc::dhcp::HostMgr::get4Any(), isc::dhcp::HostMgr::get6(), and isc::dhcp::HostMgr::get6Any().

◆ HOSTS_DBG_TRACE_DETAIL

const int isc::dhcp::HOSTS_DBG_TRACE_DETAIL = isc::log::DBGLVL_TRACE_DETAIL

Record detailed traces.

Messages logged at this level will log detailed tracing information.

Definition at line 38 of file hosts_log.h.

◆ HOSTS_DBG_TRACE_DETAIL_DATA

const int isc::dhcp::HOSTS_DBG_TRACE_DETAIL_DATA
Initial value:
=
const int DBGLVL_TRACE_DETAIL_DATA
Trace data associated with detailed operations.
Definition: log_dbglevels.h:74

Records detailed results of lookups.

Messages logged at this level will contain detailed results.

Definition at line 43 of file hosts_log.h.

◆ hosts_logger

◆ lease4_logger

isc::log::Logger isc::dhcp::lease4_logger

Logger for lease allocation logic.

This logger is used to issue log messages related to lease allocation.

Definition at line 120 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::assignLease(), isc::dhcp::Dhcpv4Srv::declineLease(), and isc::dhcp::Dhcpv4Srv::processRelease().

◆ lease6_logger

◆ options4_logger

isc::log::Logger isc::dhcp::options4_logger

Logger for options parser.

This logger is used to issue log messages related to processing of the DHCP options

Definition at line 109 of file dhcp4_log.h.

Referenced by isc::dhcp::Dhcpv4Srv::evaluateClasses(), isc::dhcp::Dhcpv4Srv::processPacket(), isc::dhcp::Dhcpv4Srv::processPacketPktSend(), and isc::dhcp::Dhcpv4Srv::requiredClassify().

◆ options6_logger

isc::log::Logger isc::dhcp::options6_logger

Logger for options parser.

This logger is used to issue log messages related to processing of the DHCP options

Definition at line 105 of file dhcp6_log.h.

Referenced by isc::dhcp::Dhcpv6Srv::processPacket(), isc::dhcp::Dhcpv6Srv::processPacketPktSend(), and isc::dhcp::Dhcpv6Srv::processSolicit().

◆ packet4_logger

◆ packet6_logger

isc::log::Logger isc::dhcp::packet6_logger

◆ tagged_statements

◆ VENDOR_CLASS_DATA_LEN_INDEX

const int isc::dhcp::VENDOR_CLASS_DATA_LEN_INDEX = 1

Definition at line 22 of file option_vendor.h.

◆ VENDOR_CLASS_ENTERPRISE_ID_INDEX

const int isc::dhcp::VENDOR_CLASS_ENTERPRISE_ID_INDEX = 0

Indexes for fields in vendor-class (17) DHCPv6 option.

Definition at line 21 of file option_vendor.h.

◆ VENDOR_CLASS_STRING_INDEX

const int isc::dhcp::VENDOR_CLASS_STRING_INDEX = 2

Definition at line 23 of file option_vendor.h.