Commit 92392877 authored by Marcin Siodelski's avatar Marcin Siodelski
Browse files

[master] Merge branch 'trac3852'

parents 20d29f2b 4d00407a
......@@ -179,6 +179,13 @@
the settings from this logger if there is no specialized logger
provided.</simpara>
</listitem>
<listitem>
<simpara><command>kea-dhcp4.alloc-engine</command> - this is the
logger used by the lease allocation engine, which is responsible
for managing leases in the lease database, i.e. create, modify
and remove DHCPv4 leases as a result of processing messages from
the clients.</simpara>
</listitem>
<listitem>
<simpara><command>kea-dhcp4.bad-packets</command> - this is the
logger used by the DHCPv4 server deamon for logging inbound client
......@@ -272,6 +279,13 @@
<simpara><command>kea-dhcp6.dhcp6</command> - this is the logger
used DHCPv6 server deamon to log basic operations.</simpara>
</listitem>
<listitem>
<simpara><command>kea-dhcp6.alloc-engine</command> - this is the
logger used by the lease allocation engine, which is responsible
for managing leases in the lease database, i.e. create, modify
and remove DHCPv6 leases as a result of processing messages from
the clients.</simpara>
</listitem>
<listitem>
<simpara><command>kea-dhcp6.dhcpsrv</command> - this is a base
logger for the libdhcpsrv library.</simpara>
......
......@@ -113,6 +113,8 @@ Dhcpv4Exchange::Dhcpv4Exchange(const AllocEnginePtr& alloc_engine,
context_->subnet_ = subnet;
// Hardware address.
context_->hwaddr_ = query->getHWAddr();
// Pointer to client's query.
context_->query_ = query;
// Set client identifier if the match-client-id flag is enabled (default).
// If the subnet wasn't found it doesn't matter because we will not be
......
......@@ -290,6 +290,7 @@ Dhcpv6Srv::createContext(const Pkt6Ptr& pkt) {
ctx.subnet_ = selectSubnet(pkt);
ctx.duid_ = pkt->getClientId();
ctx.hwaddr_ = getMAC(pkt);
ctx.query_ = pkt;
alloc_engine_->findReservation(ctx);
return (ctx);
......@@ -1413,6 +1414,7 @@ Dhcpv6Srv::assignIA_NA(const Pkt6Ptr& query, const Pkt6Ptr& answer,
ctx.callout_handle_ = getCalloutHandle(query);
ctx.hwaddr_ = orig_ctx.hwaddr_;
ctx.host_ = orig_ctx.host_;
ctx.query_ = orig_ctx.query_;
Lease6Collection leases = alloc_engine_->allocateLeases6(ctx);
......@@ -1573,6 +1575,7 @@ Dhcpv6Srv::assignIA_PD(const Pkt6Ptr& query, const Pkt6Ptr& answer,
ctx.callout_handle_ = getCalloutHandle(query);
ctx.hwaddr_ = orig_ctx.hwaddr_;
ctx.host_ = orig_ctx.host_;
ctx.query_ = orig_ctx.query_;
Lease6Collection leases = alloc_engine_->allocateLeases6(ctx);
......
/alloc_engine_messages.cc
/alloc_engine_messages.h
/dhcpsrv_messages.cc
/dhcpsrv_messages.h
/hosts_messages.cc
......
......@@ -35,21 +35,26 @@ EXTRA_DIST += parsers/host_reservation_parser.h
EXTRA_DIST += parsers/host_reservations_list_parser.h
# Define rule to build logging source files from message file
dhcpsrv_messages.h dhcpsrv_messages.cc hosts_messages.h hosts_messages.cc: s-messages
alloc_engine_messages.h alloc_engine_messages.cc dhcpsrv_messages.h \
dhcpsrv_messages.cc hosts_messages.h hosts_messages.cc: s-messages
s-messages: dhcpsrv_messages.mes hosts_messages.mes
s-messages: alloc_engine_messages.mes dhcpsrv_messages.mes hosts_messages.mes
$(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/dhcpsrv/alloc_engine_messages.mes
touch $@
$(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
touch $@
$(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/dhcpsrv/hosts_messages.mes
touch $@
# Tell Automake that the {dhcpsrv,hosts}_messages.{cc,h} source files are created
# in the build process, so it must create these before doing anything else.
# Although they are a dependency of the library (so will be created from the message
# file anyway), there is no guarantee as to exactly _when_ in the build they will be
# created. As the .h file is included in other sources file (so must be
# present when they are compiled), the safest option is to create it first.
BUILT_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc
# Tell Automake that the {alloc_engine,dhcpsrv,hosts}_messages.{cc,h} source files
# are created in the build process, so it must create these before doing anything
# else. Although they are a dependency of the library (so will be created from the
# message file anyway), there is no guarantee as to exactly _when_ in the build
# they will be created. As the .h file is included in other sources file (so
# must be present when they are compiled), the safest option is to create it
# first.
BUILT_SOURCES = alloc_engine_messages.h alloc_engine_messages.cc
BUILT_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc
BUILT_SOURCES += hosts_messages.h hosts_messages.cc
# Some versions of GCC warn about some versions of Boost regarding
......@@ -59,7 +64,9 @@ BUILT_SOURCES += hosts_messages.h hosts_messages.cc
AM_CXXFLAGS += $(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)
# Make sure the generated files are deleted in a "clean" operation
CLEANFILES = *.gcno *.gcda dhcpsrv_messages.h dhcpsrv_messages.cc
CLEANFILES = *.gcno *.gcda
CLEANFILES += alloc_engine_messages.h alloc_engine_messages.cc
CLEANFILES += dhcpsrv_messages.h dhcpsrv_messages.cc
CLEANFILES += hosts_messages.h hosts_messages.cc s-messages
# Remove CSV files created by the CSVLeaseFile6 and CSVLeaseFile4 unit tests.
CLEANFILES += *.csv
......@@ -68,6 +75,7 @@ lib_LTLIBRARIES = libkea-dhcpsrv.la
libkea_dhcpsrv_la_SOURCES =
libkea_dhcpsrv_la_SOURCES += addr_utilities.cc addr_utilities.h
libkea_dhcpsrv_la_SOURCES += alloc_engine.cc alloc_engine.h
libkea_dhcpsrv_la_SOURCES += alloc_engine_log.cc alloc_engine_log.h
libkea_dhcpsrv_la_SOURCES += base_host_data_source.h
libkea_dhcpsrv_la_SOURCES += callout_handle_store.h
libkea_dhcpsrv_la_SOURCES += cfg_hosts.cc cfg_hosts.h
......@@ -128,8 +136,9 @@ libkea_dhcpsrv_la_SOURCES += parsers/host_reservations_list_parser.h
libkea_dhcpsrv_la_SOURCES += parsers/ifaces_config_parser.cc
libkea_dhcpsrv_la_SOURCES += parsers/ifaces_config_parser.h
nodist_libkea_dhcpsrv_la_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc
nodist_libkea_dhcpsrv_la_SOURCES = alloc_engine__messages.h
nodist_libkea_dhcpsrv_la_SOURCES += alloc_engine_messages.cc
nodist_libkea_dhcpsrv_la_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc
nodist_libkea_dhcpsrv_la_SOURCES += hosts_messages.h hosts_messages.cc
libkea_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS)
......@@ -159,6 +168,7 @@ libkea_dhcpsrv_la_CXXFLAGS += -Wno-unused-parameter
endif
# The message file should be in the distribution
EXTRA_DIST += alloc_engine_messages.mes
EXTRA_DIST += dhcpsrv_messages.mes
EXTRA_DIST += hosts_messages.mes
......
This diff is collapsed.
......@@ -18,6 +18,7 @@
#include <asiolink/io_address.h>
#include <dhcp/duid.h>
#include <dhcp/hwaddr.h>
#include <dhcp/pkt4.h>
#include <dhcp/pkt6.h>
#include <dhcp/option6_ia.h>
#include <dhcpsrv/host.h>
......@@ -737,6 +738,12 @@ public:
/// which is in conflict with this allocation.
Lease4Ptr conflicting_lease_;
/// @brief A pointer to the client's message.
///
/// This is used in logging to retrieve the client's and the
/// transaction identification information.
Pkt4Ptr query_;
/// @brief Default constructor.
ClientContext4();
......
// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
/// @file Defines the logger used by the @c isc::dhcp::HostMgr
#include "dhcpsrv/alloc_engine_log.h"
namespace isc {
namespace dhcp {
isc::log::Logger alloc_engine_logger("alloc-engine");
} // namespace dhcp
} // namespace isc
// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
#ifndef ALLOC_ENGINE_LOG_H
#define ALLOC_ENGINE_LOG_H
#include <dhcpsrv/alloc_engine_messages.h>
#include <log/macros.h>
namespace isc {
namespace dhcp {
///@{
/// \brief Logging levels for the @c AllocEngine.
///
/// Defines the levels used to output debug messages from the @c AllocEngine.
/// @brief Traces normal operations
const int ALLOC_ENGINE_DBG_TRACE = DBGLVL_TRACE_BASIC;
/// @brief Records the results of various operations.
///
/// Messages logged at this level will typically contain summary of the
/// data retrieved.
const int ALLOC_ENGINE_DBG_RESULTS = DBGLVL_TRACE_BASIC_DATA;
/// @brief Record detailed traces
///
/// Messages logged at this level will log detailed tracing information.
const int ALLOC_ENGINE_DBG_TRACE_DETAIL = DBGLVL_TRACE_DETAIL;
/// @brief Records detailed results of various operations.
///
/// Messages logged at this level will contain detailed results.
const int ALLOC_ENGINE_DBG_TRACE_DETAIL_DATA = DBGLVL_TRACE_DETAIL_DATA;
///@}
/// @brief Logger for the @c AllocEngine..
///
/// Define the logger used to log messages in @c AllocEngine.
extern isc::log::Logger alloc_engine_logger;
} // namespace dhcp
} // namespace isc
#endif // ALLOC_ENGINE_LOG_H
# Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
$NAMESPACE isc::dhcp
% ALLOC_ENGINE_V4_ALLOC_ERROR %1: error during attempt to allocate an IPv4 address: %2
An error occurred during an attempt to allocate an IPv4 address, the
reason for the failure being contained in the message. The server will
return a message to the client refusing a lease. The first argument
includes the client identification information.
% ALLOC_ENGINE_V4_ALLOC_FAIL %1: failed to allocate an IPv4 address after %2 attempt(s)
The DHCP allocation engine gave up trying to allocate an IPv4 address
after the specified number of attempts. This probably means that the
address pool from which the allocation is being attempted is either
empty, or very nearly empty. As a result, the client will have been
refused a lease. The first argument includes the client identification
information.
This message may indicate that your address pool is too small for the
number of clients you are trying to service and should be expanded.
Alternatively, if the you know that the number of concurrently active
clients is less than the addresses you have available, you may want to
consider reducing the lease lifetime. In this way, addresses allocated
to clients that are no longer active on the network will become available
sooner.
% ALLOC_ENGINE_V4_DISCOVER_ADDRESS_CONFLICT %1: conflicting reservation for address %2 with existing lease %3
This warning message is issued when the DHCP server finds that the
address reserved for the client can't be offered because this address
is currently allocated to another client. The server will try to allocate
a different address to the client to use until the conflict is resolved.
The first argument includes the client identification information.
% ALLOC_ENGINE_V4_DISCOVER_HR client %1 sending DHCPDISCOVER has reservation for the address %2
This message is issued when the allocation engine determines that the
client sending the DHCPDISCOVER has a reservation for the specified
address. The allocation engine will try to offer this address to
the client.
% ALLOC_ENGINE_V4_OFFER_EXISTING_LEASE allocation engine will try to offer existing lease to the client %1
This message is issued when the allocation engine determines that
the client has a lease in the lease database, it doesn't have
reservation for any other lease, and the leased address is not
reserved for any other client. The allocation engine will try
to offer the same lease to the client.
% ALLOC_ENGINE_V4_OFFER_NEW_LEASE allocation engine will try to offer new lease to the client %1
This message is issued when the allocation engine will try to
offer a new lease to the client. This is the case when the
client doesn't have any existing lease, it has no reservation
or the existing or reserved address is leased to another client.
Also, the client didn't specify a hint, or the address in
the hint is in use.
% ALLOC_ENGINE_V4_OFFER_REQUESTED_LEASE allocation engine will try to offer requested lease %1 to the client %2
This message is issued when the allocation engine will try to
offer the lease specified in the hint. This situation may occur
when: (a) client doesn't have any reservations, (b) client has
reservation but the reserved address is leased to another client.
% ALLOC_ENGINE_V4_REQUEST_ADDRESS_RESERVED %1: requested address %2 is reserved
This message is issued when the allocation engine refused to
allocate address requested by the client because this
address is reserved for another client. The first argument
includes the client identification information.
% ALLOC_ENGINE_V4_REQUEST_ALLOC_REQUESTED %1: trying to allocate requested address %2
This message is issued when the allocation engine is trying
to allocate (or reuse an expired) address which has been
requested by the client. The first argument includes the
client identification information.
% ALLOC_ENGINE_V4_REQUEST_EXTEND_LEASE %1: extending lifetime of the lease for address %2
This message is issued when the allocation engine determines
that the client already has a lease whose lifetime can be
extended, and which can be returned to the client.
The first argument includes the client identification information.
% ALLOC_ENGINE_V4_REQUEST_IN_USE %1: requested address %2 is in use
This message is issued when the client is requesting or has a
reservation for an address which is in use. The first argument
includes the client identification information.
% ALLOC_ENGINE_V4_REQUEST_INVALID client %1 having a reservation for address %2 is requesting invalid address %3
This message is logged when the client, having a reservation for
one address, is requesting a different address. The client is
only allowed to do this when the reserved address is in use by
another client. However, the allocation engine has
determined that the reserved address is available and the
client should request the reserved address.
% ALLOC_ENGINE_V4_REQUEST_OUT_OF_POOL client %1, which doesn't have reservation, requested address out of the dynamic pool
This message is issued when the client has requested allocation
of the address which doesn't belong to any address pool from
which addresses are dynamically allocated. The client also
doesn't have reservation for this address. This address
could only be allocated if the client had reservation for it.
% ALLOC_ENGINE_V4_REQUEST_PICK_ADDRESS client %1 hasn't specified an address - picking available address from the pool
This message is logged when the client hasn't specified any
preferred address (the client should always do it, but Kea
tries to be forgiving). The allocation engine will try to pick an available
address from the dynamic pool and allocate it to the client.
% ALLOC_ENGINE_V4_REQUEST_REMOVE_LEASE %1: removing previous client's lease %2
This message is logged when the allocation engine removes previous
lease for the client because the cliet has been allocated new one.
% ALLOC_ENGINE_V4_REQUEST_USE_HR client %1 hasn't requested specific address, using reserved address %2
This message is issued when the client is not requesting any specific
address but the allocation engine has determined that there is a
reservation for this client. The allocation engine will try to
allocate the reserved address.
% ALLOC_ENGINE_V4_REUSE_EXPIRED_LEASE_DATA %1: reusing expired lease, updated lease information: %2
This message is logged when the allocation engine is reusing
an existing lease. The details of the updated lease are
printed. The first argument includes the client identification
information.
% ALLOC_ENGINE_V6_ALLOC_ERROR %1: error during attempt to allocate an IPv6 address: %2
An error occurred during an attempt to allocate an IPv6 address, the
reason for the failure being contained in the message. The server will
return a message to the client refusing a lease. The first argument
includes the client identification information.
% ALLOC_ENGINE_V6_ALLOC_FAIL %1: failed to allocate an IPv6 address after %2 attempt(s)
The DHCP allocation engine gave up trying to allocate an IPv6 address
after the specified number of attempts. This probably means that the
address pool from which the allocation is being attempted is either
empty, or very nearly empty. As a result, the client will have been
refused a lease. The first argument includes the client identification
information.
This message may indicate that your address pool is too small for the
number of clients you are trying to service and should be expanded.
Alternatively, if the you know that the number of concurrently active
clients is less than the addresses you have available, you may want to
consider reducing the lease lifetime. In this way, addresses allocated
to clients that are no longer active on the network will become available
available sooner.
% ALLOC_ENGINE_V6_ALLOC_HR_LEASE_EXISTS %1: lease type %2 for reserved address/prefix %3 already exists
This debug message is issued when the allocation engine determines that
the lease for the IPv6 address or prefix has already been allocated
for the client and the client can continue using it. The first argument
includes the client identification information.
% ALLOC_ENGINE_V6_ALLOC_LEASES_HR leases and static reservations found for client %1
This message is logged when the allocation engine is in the process of
allocating leases for the client, it found existing leases and static
reservations for the client. The allocation engine will verify if
existing leases match reservations. Those leases that are reserved for
other clients and those that are not reserved for the client will
be removed. All leases matching the reservations will be renewed
and returned.
% ALLOC_ENGINE_V6_ALLOC_NO_LEASES_HR no leases found but reservations exist for client %1
This message is logged when the allocation engine is in the process of
allocating leases for the client. It hasn't found any existing leases
for this client, but the client appears to have static reservations.
The allocation engine will try to allocate the reserved resources for
the client.
% ALLOC_ENGINE_V6_ALLOC_NO_V6_HR %1: unable to allocate reserved leases - no IPv6 reservations
This message is logged when the allocation engine determines that the
client has no IPv6 reservations and thus the allocation engine will have
to try to allocate allocating leases from the dynamic pool or stop
the allocation process if none can be allocated. The first argument
includes the client identification information.
% ALLOC_ENGINE_V6_ALLOC_LEASES_NO_HR no reservations found but leases exist for client %1
This message is logged when the allocation engine is in the process if
allocating leases for the client, there are no static reservations,
but lease(s) exist for the client. The allocation engine will remove
leases which are reserved for other clients, and return all
remaning leases to the client.
% ALLOC_ENGINE_V6_ALLOC_UNRESERVED no static reservations available - trying to dynamically allocate leases for client %1
This debug message is issued when the allocation engine will attempt
to allocate leases from the dynamic pools. This may be due to one of
(a) there are no reservations for this client, (b) there are
reservations for the client but they are not usable because the addresses
are in use by another client or (c) we had a reserved lease but that
has now been allocated to another client.
% ALLOC_ENGINE_V6_EXTEND_ALLOC_UNRESERVED allocate new (unreserved) leases for the renewing client %1
This debug message is issued when the allocation engine is trying to
allocate new leases for the renewing client because it was unable to
renew any of the existing client's leases, e.g. because leases are
reserved for another client or for any other reason.
% ALLOC_ENGINE_V6_EXTEND_LEASE %1: extending lifetime of the lease type %2, address %3
This debug message is issued when the allocation engine is trying
to extend lifetime of the lease. The first argument includes the
client identification information.
% ALLOC_ENGINE_V6_EXTEND_LEASE_DATA %1: detailed information about the lease being extended: %2
This debug message prints detailed information about the lease which
lifetime is being extended (renew or rebind). The first argument
includes the client identification information.
% ALLOC_ENGINE_V6_EXTEND_NEW_LEASE_DATA %1: new lease information for the lease being extended: %2
This debug message prints updated information about the lease to be
extended. If the lease update is successful, the information printed
by this message will be stored in the database. The first argument
includes the client identification information.
% ALLOC_ENGINE_V6_EXTEND_ERROR %1: allocation engine experienced error with attempting to extend lease lifetime: %2
This error message indicates that an error was experienced during Renew
or Rebind processing. Additional explanation is provided with this
message. Depending on its nature, manual intervention may be required to
continue processing messages from this particular client; other clients
will be unaffected. The first argument includes the client identification
information.
% ALLOC_ENGINE_V6_EXPIRED_HINT_RESERVED %1: expired lease for the client's hint %2 is reserved for another client
This message is logged when the allocation engine finds that the
expired lease for the client's hint can't be reused because it
is reserved for another client. The first argument includes the
client identification information.
% ALLOC_ENGINE_V6_HINT_RESERVED %1: lease for the client's hint %2 is reserved for another client
This message is logged when the allocation engine cannot allocate
the lease using the client's hint because the lease for this hint
is reserved for another client. The first argument includes the
client identification information.
% ALLOC_ENGINE_V6_HR_ADDR_GRANTED reserved address %1 was was assigned to client %2
This informational message signals that the specified client was assigned the address
reserved for it.
% ALLOC_ENGINE_V6_HR_PREFIX_GRANTED reserved prefix %1/%2 was was assigned to client %3
This informational message signals that the specified client was assigned the prefix
reserved for it.
% ALLOC_ENGINE_V6_RENEW_HR allocating leases reserved for the client %1 as a result of Renew
This debug message is issued when the allocation engine tries to
allocate reserved leases for the client sending a Renew message.
The server will also remove any leases that the client is trying
to renew that are not reserved for the client.
% ALLOC_ENGINE_V6_RENEW_REMOVE_RESERVED %1: checking if existing client's leases are reseved for another client
This message is logged when the allocation engine finds leases for
the client and will check if these leases are reserved for another
client. If they are, they will not be renewed for the client
requesting their renewal. The first argument includes the client
identification information.
% ALLOC_ENGINE_V6_RENEW_REMOVE_UNRESERVED dynamically allocating leases for the renewing client %1
This debug message is issued as the allocation engine is trying
to dynamically allocate new leases for the renewing client. This
is the case when the server couldn't renew any of the existing
client's leases, e.g. because leased resources are reserved for
another client.
% ALLOC_ENGINE_V6_REUSE_EXPIRED_LEASE_DATA %1: reusing expired lease, updated lease information: %2
This message is logged when the allocation engine is reusing
an existing lease. The details of the updated lease are
printed. The first argument includes the client identification
information.
% ALLOC_ENGINE_V6_REVOKED_ADDR_LEASE address %1 was revoked from client %2 as it is reserved for client %3
This informational message is an indication that the specified IPv6
address was used by client A but it is now reserved for client B. Client
A has been told to stop using it so that it can be leased to client B.
This is a normal occurrence during conflict resolution, which can occur
in cases such as the system administrator adding a reservation for an
address that is currently in use by another client. The server will fully
recover from this situation, but clients will change their addresses.
% ALLOC_ENGINE_V6_REVOKED_PREFIX_LEASE Prefix %1/%2 was revoked from client %3 as it is reserved for client %4
This informational message is an indication that the specified IPv6
prefix was used by client A but it is now reserved for client B. Client
A has been told to stop using it so that it can be leased to client B.
This is a normal occurrence during conflict resolution, which can occur
in cases such as the system administrator adding a reservation for an
address that is currently in use by another client. The server will fully
recover from this situation, but clients will change their prefixes.
......@@ -14,46 +14,6 @@
$NAMESPACE isc::dhcp
% DHCPSRV_ADDRESS4_ALLOC_ERROR error during attempt to allocate an IPv4 address: %1
An error occurred during an attempt to allocate an IPv4 address, the
reason for the failure being contained in the message. The server will
return a message to the client refusing a lease.
% DHCPSRV_ADDRESS4_ALLOC_FAIL failed to allocate an IPv4 address after %1 attempt(s)
The DHCP allocation engine gave up trying to allocate an IPv4 address
after the specified number of attempts. This probably means that the
address pool from which the allocation is being attempted is either
empty, or very nearly empty. As a result, the client will have been
refused a lease.
This message may indicate that your address pool is too small for the
number of clients you are trying to service and should be expanded.
Alternatively, if the you know that the number of concurrently active
clients is less than the addresses you have available, you may want to
consider reducing the lease lifetime. In this way, addresses allocated
to clients that are no longer active on the network will become available
available sooner.
% DHCPSRV_ADDRESS6_ALLOC_ERROR error during attempt to allocate an IPv6 address: %1
An error occurred during an attempt to allocate an IPv6 address, the
reason for the failure being contained in the message. The server will
return a message to the client refusing a lease.
% DHCPSRV_ADDRESS6_ALLOC_FAIL failed to allocate an IPv6 address after %1 attempt(s)
The DHCP allocation engine gave up trying to allocate an IPv6 address
after the specified number of attempts. This probably means that the
address pool from which the allocation is being attempted is either
empty, or very nearly empty. As a result, the client will have been
refused a lease.
This message may indicate that your address pool is too small for the
number of clients you are trying to service and should be expanded.
Alternatively, if the you know that the number of concurrently active
clients is less than the addresses you have available, you may want to
consider reducing the lease lifetime. In this way, addresses allocated
to clients that are no longer active on the network will become available
available sooner.
% DHCPSRV_CFGMGR_ADD_IFACE listening on interface %1
An info message issued when a new interface is being added to the collection of
interfaces on which the server listens to DHCP messages.
......@@ -216,12 +176,6 @@ have been experienced. Any such errors should have preceding entries in the
log with details. No further attempts to communicate with kea-dhcp-ddns will
be made without intervention.
% DHCPSRV_DISCOVER_ADDRESS_CONFLICT conflicting reservation for address %1 with existing lease %2
This warning message is issued when the DHCP server finds that the
address reserved for the client can't be offered because this address
is currently allocated to another client. The server will try to allocate
a different address to the client to use until the conflict is resolved.
% DHCPSRV_HOOK_LEASE4_RENEW_SKIP DHCPv4 lease was not renewed because a callout set the skip flag.
This debug message is printed when a callout installed on lease4_renew
hook point set the skip flag. For this particular hook point, the setting
......@@ -248,32 +202,6 @@ hook point sets the skip flag. It means that the server was told that
no lease6 should be assigned. The server will not put that lease in its
database and the client will get a NoAddrsAvail for that IA_NA option.
% DHCPSRV_HR_RESERVED_ADDR_GRANTED reserved address %1 was was assigned to client (duid=%2)
This informational message signals that the specified client was assigned the address
reserved for it.
% DHCPSRV_HR_RESERVED_PREFIX_GRANTED reserved prefix %1/%2 was was assigned to client (duid=%3)
This informational message signals that the specified client was assigned the prefix
reserved for it.
% DHCPSRV_HR_REVOKED_ADDR6_LEASE address %1 was revoked from client %2 as it is reserved for client %3
This informational message is an indication that the specified IPv6
address was used by client A but it is now reserved for client B. Client
A has been told to stop using it so that it can be leased to client B.
This is a normal occurrence during conflict resolution, which can occur
in cases such as the system administrator adding a reservation for an
address that is currently in use by another client. The server will fully
recover from this situation, but clients will change their addresses.
% DHCPSRV_HR_REVOKED_PREFIX6_LEASE Prefix %1/%2 was revoked from client %3 as it is reserved for client %4
This informational message is an indication that the specified IPv6
prefix was used by client A but it is now reserved for client B. Client
A has been told to stop using it so that it can be leased to client B.
This is a normal occurrence during conflict resolution, which can occur
in cases such as the system administrator adding a reservation for an