# Copyright (C) 2012-2018 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

$NAMESPACE isc::dhcp

% DHCP6_ACTIVATE_INTERFACE activating interface %1
This message is printed when DHCPv6 server enabled an interface to be used
to receive DHCPv6 traffic. IPv6 socket on this interface will be opened once
Interface Manager starts up procedure of opening sockets.

% DHCP6_ADD_GLOBAL_STATUS_CODE %1: adding Status Code to DHCPv6 packet: %2
This message is logged when the server is adding the top-level
Status Code option. The first argument includes the client and the
transaction identification information. The second argument includes
the details of the status code.

% DHCP6_ADD_STATUS_CODE_FOR_IA %1: adding Status Code to IA with iaid=%2: %3
This message is logged when the server is adding the Status Code
option to an IA. The first argument includes the client and the
transaction identification information. The second argument specifies
the IAID. The third argument includes the details of the status code.

% DHCP6_ALREADY_RUNNING %1 already running? %2
This is an error message that occurs when the DHCPv6 server encounters
a pre-existing PID file which contains the PID of a running process.
This most likely indicates an attempt to start a second instance of
the server using the same configuration file.  It is possible, though
unlikely that the PID file is a remnant left behind by a server crash or
power failure and the PID it contains refers to a process other than
the server.  In such an event, it would be necessary to manually remove
the PID file.  The first argument is the DHCPv6 process name, the second
contains the PID and PID file.

% DHCP6_BUFFER_RECEIVED received buffer from %1:%2 to %3:%4 over interface %5
This debug message is logged when the server has received a packet
over the socket. When the message is logged the contents of the received
packet hasn't been parsed yet. The only available information is the
interface and the source and destination addresses/ports.

% DHCP6_BUFFER_UNPACK parsing buffer received from %1 to %2 over interface %3
This debug message is issued when the server starts parsing the received
buffer holding the DHCPv6 message. The arguments specify the source and
destination addresses as well as the interface over which the buffer has
been received.

% DHCP6_BUFFER_WAIT_SIGNAL signal received while waiting for next packet, next waiting signal is %1
This debug message is issued when the server was waiting for the
packet, but the wait has been interrupted by the signal received
by the process. The signal will be handled before the server starts
waiting for next packets. The argument specifies the next signal to
be handled by the server.

% DHCP6_CLASS_ASSIGNED %1: client packet has been assigned to the following class(es): %2
This debug message informs that incoming packet has been assigned to specified
class or classes. This is a normal behavior and indicates successful operation.
The first argument specifies the client and transaction identification
information. The second argument includes all classes to which the
packet has been assigned.

% DHCP6_CLASS_UNCONFIGURED %1: client packet belongs to an unconfigured class: %2
This debug message informs that incoming packet belongs to a class
which cannot be found in the configuration. Either a hook written
before the classification was added to Kea is used, or class naming is
inconsistent.

% DHCP6_CLASS_UNDEFINED required class %1 has no definition
This debug message informs that a class is listed for required evaluation but
has no definition.

% DHCP6_CLASS_UNTESTABLE required class %1 has no test expression
This debug message informs that a class was listed for required evaluation but
its definition does not include a test expression to evaluate.

% DHCP6_COMMAND_RECEIVED received command %1, arguments: %2
A debug message listing the command (and possible arguments) received
from the Kea control system by the IPv6 DHCP server.

% DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: %1
This is an informational message announcing the successful processing of a
new configuration. it is output during server startup, and when an updated
configuration is committed by the administrator.  Additional information
may be provided.

% DHCP6_CONFIG_LOAD_FAIL configuration error using file: %1, reason: %2
This error message indicates that the DHCPv6 configuration has failed.
If this is an initial configuration (during server's startup) the server
will fail to start. If this is a dynamic reconfiguration attempt the
server will continue to use an old configuration.

% DHCP6_CONFIG_PACKET_QUEUE DHCPv6 packet queue info after configuration: %1
This informational message is emitted during DHCPv6 server configuration,
immediately after configuring the DHCPv6 packet queue.  The information
shown depends upon the packet queue type selected.

% DHCP6_CONFIG_RECEIVED received configuration: %1
A debug message listing the configuration received by the DHCPv6 server.
The source of that configuration depends on used configuration backend.

% DHCP6_CONFIG_START DHCPv6 server is processing the following configuration: %1
This is a debug message that is issued every time the server receives a
configuration. That happens start up and also when a server configuration
change is committed by the administrator.

% DHCP6_CONFIG_UPDATE updated configuration received: %1
A debug message indicating that the IPv6 DHCP server has received an
updated configuration from the Kea configuration system.

% DHCP6_DB_BACKEND_STARTED lease database started (type: %1, name: %2)
This informational message is printed every time the IPv6 DHCP server
is started.  It indicates what database backend type is being to store
lease and other information.

% DHCP6_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1
An error message indicating that an attempt to reconnect to the lease and/or
host data bases has failed.  This occurs after connectivity to either one
has been lost and an automatic attempt to reconnect has failed.

% DHCP6_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds
An informational message indicating that the server is scheduling the next
attempt to reconnect to its lease and/or host databases.  This occurs when the
server has lost databse connectivity and is attempting to reconnect
automatically.

% DHCP6_DB_RECONNECT_DISABLED database reconnect is disabled: max-reconnect-tries %1, reconnect-wait-time %2
This is an informational message indicating that connectivity to either the
lease or host database or both and that automatic reconnect is not enabled.

% DHCP6_DB_RECONNECT_NO_DB_CTL unexpected error in database reconnect
This is an error message indicating a programmatic error that should not
occur. It will prohibit the server from attempting to reconnect to its
databases if connectivy is lost, and the server will exit. This error
should be reported.

% DHCP6_DB_RECONNECT_RETRIES_EXHAUSTED maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down!
This error indicates that the server is shutting down after failing to reconnect to
the lease and/or host database(s) after making the maximum configured number
of reconnect attempts.  Loss of connectivity is typically a network or database
server issue.

% DHCP6_DDNS_CREATE_ADD_NAME_CHANGE_REQUEST created name change request: %1
This debug message is logged when the new Name Change Request has been created
to perform the DNS Update, which adds new RRs.

% DHCP6_DDNS_FQDN_GENERATED %1: generated FQDN for the client: %2
This debug message is logged when the server generated FQDN (name)
for the client which message is processed. The names may be
generated by the server when required by the server's policy or
when the client doesn't provide any specific FQDN in its message
to the server. The first argument includes the client and
transaction identification information. The second argument includes
the generated FQDN.

% DHCP6_DDNS_GENERATED_FQDN_UPDATE_FAIL %1: failed to update the lease using address %2, after generating FQDN for a client, reason: %3
This message indicates the failure when trying to update the lease and/or
options in the server's response with the hostname generated by the server
from the acquired address. The first argument includes the client and the
transaction identification information. The second argument is a leased
address. The third argument includes the reason for the failure.

% DHCP6_DDNS_GENERATE_FQDN %1: client did not send a FQDN option; FQDN will be
generated for the client.
This debug message is issued when the server did not receive a FQDN option
from the client and client name replacement is enabled.  This provides a means
to create DNS entries for unsophisticated clients.

% DHCP6_DDNS_LEASE_RENEW_FQDN_CHANGE FQDN %1: FQDN for the renewed lease: %2 has changed. New values: hostname = %3, reverse mapping = %4, forward mapping = %5
This debug message is logged when FQDN mapping for a particular lease has been
changed by the recent Renew message. This mapping will be changed in DNS.
The first argument includes the client and the transaction identification
information. The second argument holds the details about the lease for which
the FQDN information and/or mappings have changed. The remaining arguments
hold the new FQDN information and flags for mappings.

% DHCP6_DDNS_RECEIVE_FQDN %1: received DHCPv6 Client FQDN option: %2
This debug message is logged when server has found the DHCPv6 Client FQDN Option
sent by a client and started processing it. The first argument includes the
client and transaction identification information. The second argument
includes the received FQDN.

% DHCP6_DDNS_REQUEST_SEND_FAILED failed sending a request to kea-dhcp-ddns, error: %1,  ncr: %2
This error message indicates that IPv6 DHCP server failed to send a DDNS
update request to the DHCP-DDNS server. This is most likely a configuration or
networking error.

% DHCP6_DDNS_RESPONSE_FQDN_DATA %1: including FQDN option in the server's response: %2
This debug message is issued when the server is adding the Client FQDN
option in its response to the client. The first argument includes the
client and transaction identification information. The second argument
includes the details of the FQDN option being included. Note that the
name carried in the FQDN option may be modified by the server when
the lease is acquired for the client.

% DHCP6_DDNS_SEND_FQDN sending DHCPv6 Client FQDN Option to the client: %1
This debug message is logged when server includes an DHCPv6 Client FQDN Option
in its response to the client.

% DHCP6_DEACTIVATE_INTERFACE deactivate interface %1
This message is printed when DHCPv6 server disables an interface from being
used to receive DHCPv6 traffic. Sockets on this interface will not be opened
by the Interface Manager until interface is enabled.

% DHCP6_DECLINE_FAIL_DUID_MISMATCH Client %1 sent DECLINE for address %2, but it belongs to client with DUID %3
This informational message is printed when a client attempts to decline
a lease, but that lease belongs to a different client. The decline request
will be rejected.

% DHCP6_DECLINE_FAIL_IAID_MISMATCH Client %1 sent DECLINE for address %2, but used a wrong IAID (%3), instead of expected %4
This informational message is printed when a client attempts to decline
a lease. The server has a lease for this address, it belongs to this client,
but the recorded IAID does not match what client has sent. This means
the server will reject this Decline.

% DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID Client %1 sent DECLINE for address %2, but the associated lease has no DUID
This error condition likely indicates database corruption, as every IPv6
lease is supposed to have a DUID, even if it is an empty one.

% DHCP6_DECLINE_FAIL_NO_LEASE Client %1 sent DECLINE for address %2, but there's no lease for it
This informational message is printed when a client tried to decline an address,
but the server has no lease for said address. This means that the server's
and client's perception of the leases are different. The likely causes
of this could be: a confused (e.g. skewed clock) or broken client (e.g. client
moved to a different location and didn't notice) or possibly an attack
(a rogue client is trying to decline random addresses). The server will
inform the client that his decline request was rejected and client should
be able to recover from that.

% DHCP6_DECLINE_LEASE Client %1 sent DECLINE for address %2 and the server marked it as declined. The lease will be recovered in %3 seconds.
This informational message indicates that the client leased an address, but
discovered that it is being used by some other device and reported this to the
server by sending a Decline message. The server marked the lease as
declined. This likely indicates a misconfiguration in the network. Either
the server is configured with an incorrect pool or there are devices that have
statically assigned addresses that are supposed to be assigned by the DHCP
server. Both client (will request a different address) and server (will recover
the lease after decline-probation-time elapses) will recover automatically.
However, if the underlying problem is not solved, the conditions leading
to this message may reappear.

% DHCP6_DECLINE_PROCESS_IA Processing of IA (IAID: %1) from client %2 started.
This debug message is printed when the server starts processing an IA_NA option
received in Decline message. It's expected that the option will contain an
address that is being declined. Specific information will be printed in a
separate message.

% DHCP6_DHCP4O6_PACKET_RECEIVED received DHCPv4o6 packet from DHCPv4 server (type %1) for %2 port %3 on interface %4
This debug message is printed when the server is receiving a DHCPv4o6
from the DHCPv4 server over inter-process communication.

% DHCP6_DHCP4O6_RECEIVE_FAIL failed to receive DHCPv4o6: %1
This debug message indicates the inter-process communication with the
DHCPv4 server failed. The reason for the error is included in
the message.

% DHCP6_DHCP4O6_RECEIVING receiving DHCPv4o6 packet from DHCPv4 server
This debug message is printed when the server is receiving a DHCPv4o6
from the DHCPv4 server over inter-process communication socket.

% DHCP6_DHCP4O6_SEND_FAIL failed to send DHCPv4o6 packet: %1
This error is output if the IPv6 DHCP server fails to send an assembled
DHCPv4o6 message to a client. The reason for the error is included in the
message.

% DHCP6_DYNAMIC_RECONFIGURATION initiate server reconfiguration using file: %1, after receiving SIGHUP signal
This is the info message logged when the DHCPv6 server starts reconfiguration
as a result of receiving SIGHUP signal.

% DHCP6_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: %1
This is an error message logged when the dynamic reconfiguration of the
DHCP server failed.

% DHCP6_FLEX_ID flexible identifier generated for incoming packet: %1
This debug message is printed when host reservation type is set to flexible identifier
and the expression specified in its configuration generated (was evaluated to)
an identifier for incoming packet. This debug message is mainly intended as a
debugging assistance for flexible identifier.

% DHCP6_HANDLE_SIGNAL_EXCEPTION An exception was thrown while handing signal: %1
This error message is printed when an exception was raised during signal
processing. This likely indicates a coding error and should be reported to ISC.

% DHCP6_HOOKS_LIBS_RELOAD_FAIL reload of hooks libraries failed
A "libreload" command was issued to reload the hooks libraries but for
some reason the reload failed.  Other error messages issued from the
hooks framework will indicate the nature of the problem.

% DHCP6_HOOK_BUFFER_RCVD_DROP received buffer from %1 to %2 over interface %3 was dropped because a callout set the drop flag
This debug message is printed when a callout installed on buffer6_receive
hook point set the drop flag. For this particular hook point, the
setting of the flag by a callout instructs the server to drop the packet.
The arguments specify the source and destination address as well as
the name of the interface over which the buffer has been received.

% DHCP6_HOOK_BUFFER_RCVD_SKIP received buffer from %1 to %2 over interface %3 is not parsed because a callout set the next step to SKIP
This debug message is printed when a callout installed on
buffer6_receive hook point set the next step status to skip. For this particular
hook point, this value set by a callout instructs the server to
not parse the buffer because it was already parsed by the hook. The
arguments specify the source and destination address as well as the
name of the interface over which the buffer has been received.

% DHCP6_HOOK_BUFFER_SEND_SKIP %1: prepared DHCPv6 response was dropped because a callout set the next step to SKIP
This debug message is printed when a callout installed on buffer6_send
hook point set the next step to SKIP value. For this particular hook point, the
SKIP setting a callout instructs the server to drop the packet.
Server completed all the processing (e.g. may have assigned, updated
or released leases), but the response will not be send to the client.
The argument includes the client and transaction identification
information.

% DHCP6_HOOK_DECLINE_DROP During Decline processing (client=%1, interface=%2, addr=%3) hook callout set next step to DROP, dropping packet.
This message indicates that the server received DECLINE message, it was verified
to be correct and matching server's lease information. The server called hooks
for the lease6_decline hook point and one of the callouts set next step status to DROP.
The server will now abort processing of the packet as if it was never
received. The lease will continue to be assigned to this client.

% DHCP6_HOOK_DECLINE_SKIP During Decline processing (client=%1, interface=%2, addr=%3) hook callout set status to SKIP, skipping decline.
This message indicates that the server received DECLINE message, it was verified
to be correct and matching server's lease information. The server called hooks
for the lease6_decline hook point and one of the callouts set next step status to SKIP.
The server will skip the operation of moving the lease to the declined state and
will continue processing the packet. In particular, it will send a REPLY message
as if the decline actually took place.

% DHCP6_HOOK_LEASE6_RELEASE_NA_SKIP %1: DHCPv6 address lease was not released because a callout set the next step to SKIP
This debug message is printed when a callout installed on the
lease6_release hook point set the next step to SKIP. For this particular hook
point, this setting by a callout instructs the server to not
release a lease. If a client requested the release of multiples leases
(by sending multiple IA options), the server will retain this particular
lease and proceed with other releases as usual. The argument holds the
client and transaction identification information.

% DHCP6_HOOK_LEASE6_RELEASE_PD_SKIP %1: prefix lease was not released because a callout set the next step to SKIP
This debug message is printed when a callout installed on lease6_release
hook point set the next step to SKIP value. For this particular hook point, that
setting by a callout instructs the server to not release
a lease. If client requested release of multiples leases (by sending
multiple IA options), the server will retains this particular lease and
will proceed with other renewals as usual. The argument holds the
client and transaction identification information.

% DHCP6_HOOK_LEASES6_COMMITTED_DROP %1: packet is dropped, because a callout set the next step to DROP
This debug message is printed when a callout installed on the leases6_committed
hook point sets the next step to DROP.

% DHCP6_HOOK_LEASES6_COMMITTED_PARK %1: packet is parked, because a callout set the next step to PARK
This debug message is printed when a callout installed on the lease6_committed
hook point sets the next step to PARK.

% DHCP6_HOOK_PACKET_RCVD_SKIP %1: packet is dropped, because a callout set the next step to SKIP
This debug message is printed when a callout installed on the pkt6_receive
hook point sets the next step to SKIP. For this particular hook point, the
value setting instructs the server to drop the packet.

% DHCP6_HOOK_PACKET_SEND_DROP %1: prepared DHCPv6 response was not sent because a callout set the next ste to DROP
This debug message is printed when a callout installed on the pkt6_send
hook point set the next step to DROP. For this particular hook point, the setting
of the value by a callout instructs the server to drop the packet. This
effectively means that the client will not get any response, even though
the server processed client's request and acted on it (e.g. possibly
allocated a lease). The argument specifies the client and transaction
identification information.

% DHCP6_HOOK_PACKET_SEND_SKIP %1: prepared DHCPv6 response is not built because a callout set the next step to SKIP
This debug message is printed when a callout installed on the
pkt6_send hook point set the next step to SKIP. For this particular hook
point, the setting of the value by a callout instructs the server to
not build the wire data (pack) because it was already done by the
book. The argument specifies the client and transaction identification
information.

% DHCP6_HOOK_SUBNET6_SELECT_DROP %1: packet was dropped because a callout set the drop flag
This debug message is printed when a callout installed on the
subnet6_select hook point set the drop flag. For this particular hook
point, the setting of the flag instructs the server to drop the
received packet. The argument holds the client and transaction
identification information.

% DHCP6_HOOK_SUBNET6_SELECT_SKIP %1: no subnet was selected because a callout set the next step to SKIP
This debug message is printed when a callout installed on the
subnet6_select hook point set the next step to SKIP value. For this particular hook
point, the setting of this value instructs the server not to choose a
subnet, an action that severely limits further processing; the server
will be only able to offer global options - no addresses or prefixes
will be assigned. The argument holds the client and transaction
identification information.

% DHCP6_INIT_FAIL failed to initialize Kea server: %1
The server has failed to establish communication with the rest of Kea,
failed to read JSON configuration file or encountered any other critical
issue that prevents it from starting up properly. Attached error message
provides more details about the issue.

% DHCP6_LEASE_ADVERT %1: lease for address %2 and iaid=%3 will be advertised
This informational message indicates that the server will advertise an
address to the client in the ADVERTISE message. The client will
request allocation of this address with the REQUEST message sent
in the next message exchange. The first argument includes the client
and transaction identification information. The remaining arguments
hold the allocated address and IAID.

% DHCP6_LEASE_ADVERT_FAIL %1: failed to advertise an address lease for iaid=%2
This message indicates that in response to a received SOLICIT, the server
failed to advertise a non-temporary lease for a given client. There may
be many reasons for such failure. Each failure is logged in a separate
log entry. The first argument holds the client and transaction identification
information. The second argument holds the IAID.

% DHCP6_LEASE_ALLOC %1: lease for address %2 and iaid=%3 has been allocated
This informational message indicates that in response to a client's REQUEST
message, the server successfully granted a non-temporary address
lease. This is a normal behavior and indicates successful operation.
The first argument includes the client and transaction identification
information. The remaining arguments hold the allocated address and
IAID.

% DHCP6_LEASE_ALLOC_FAIL %1: failed to grant an address lease for iaid=%2
This message indicates that in response to a received REQUEST, the server
failed to grant a non-temporary address lease for the client. There may
be many reasons for such failure. Each failure is logged in a separate
log entry. The first argument holds the client and transaction identification
information. The second argument holds the IAID.

% DHCP6_LEASE_DATA %1: detailed lease information for iaid=%2: %3
This debug message is used to print the detailed information about the
allocated lease or a lease which will be advertised to the client.
The first argument holds the client and the transaction identification
information. The second argument holds the IAID. The third argument
holds the detailed lease information.

% DHCP6_LEASE_NA_WITHOUT_DUID %1: address lease for address %2 does not have a DUID
This error message indicates a database consistency problem. The lease
database has an entry indicating that the given address is in use,
but the lease does not contain any client identification. This is most
likely due to a software error: please raise a bug report. As a temporary
workaround, manually remove the lease entry from the database. The first
argument includes the client and transaction identification information.
The second argument holds the address to be released.

% DHCP6_LEASE_PD_WITHOUT_DUID %1: lease for prefix %2/%3 does not have a DUID
This error message indicates a database consistency failure. The lease
database has an entry indicating that the given prefix is in use,
but the lease does not contain any client identification. This is most
likely due to a software error: please raise a bug report. As a temporary
workaround, manually remove the lease entry from the database. The
first argument includes client and transaction identification
information. The second and third argument hold the prefix and the
prefix length.

% DHCP6_LEASE_RENEW %1: lease for address %2 and iaid=%3 has been allocated
This informational message indicates that in response to a client's REQUEST
message, the server successfully renewed a non-temporary address
lease. This is a normal behavior and indicates successful operation.
The first argument includes the client and transaction identification
information. The remaining arguments hold the allocated address and
IAID.

% DHCP6_NOT_RUNNING IPv6 DHCP server is not running
A warning message is issued when an attempt is made to shut down the
IPv6 DHCP server but it is not running.

% DHCP6_NO_INTERFACES failed to detect any network interfaces
During startup the IPv6 DHCP server failed to detect any network
interfaces and is therefore shutting down.

% DHCP6_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic
This warning message is issued when current server configuration specifies
no interfaces that server should listen on, or specified interfaces are not
configured to receive the traffic.

% DHCP6_OPEN_SOCKET opening sockets on port %1
A debug message issued during startup, this indicates that the IPv6 DHCP
server is about to open sockets on the specified port.

% DHCP6_OPEN_SOCKET_FAIL failed to open socket: %1
A warning message issued when IfaceMgr fails to open and bind a socket. The reason
for the failure is appended as an argument of the log message.

% DHCP6_PACKET_DROP_DHCP_DISABLED %1: DHCP service is globally disabled
This debug message is issued when a packet is dropped because the DHCP service
has been temporarily disabled. This affects all received DHCP packets. The
service may be enabled by the "dhcp-enable" control command or automatically
after a specified amount of time since receiving "dhcp-disable" command.

% DHCP6_PACKET_DROP_PARSE_FAIL failed to parse packet from %1 to %2, received over interface %3, reason: %4
The DHCPv6 server has received a packet that it is unable to
interpret. The reason why the packet is invalid is included in the message.

% DHCP6_PACKET_DROP_SERVERID_MISMATCH %1: dropping packet with server identifier: %2, server is using: %3
A debug message noting that server has received message with server identifier
option that not matching server identifier that server is using.

% DHCP6_PACKET_DROP_UNICAST %1: dropping unicast %2 packet as this packet should be sent to multicast
This debug message is issued when the server drops the unicast packet,
because packets of this type must be sent to multicast. The first argument
specifies the client and transaction identification information, the
second argument specifies packet type.

% DHCP6_PACKET_OPTIONS_SKIPPED An error upacking an option, caused subsequent options to be skipped: %1
A debug message issued when an option failed to unpack correctly, making it
impossible to unpack the remaining options in the packet.  The server will
server will still attempt to service the packet.

% DHCP6_PACKET_PROCESS_EXCEPTION exception occurred during packet processing
This error message indicates that a non-standard exception was raised
during packet processing that was not caught by other, more specific
exception handlers. This packet will be dropped and the server will
continue operation.

% DHCP6_PACKET_PROCESS_FAIL processing of %1 message received from %2 failed: %3
This is a general catch-all message indicating that the processing of the
specified packet type from the indicated address failed.  The reason is given in the
message.  The server will not send a response but will instead ignore the packet.

% DHCP6_PACKET_PROCESS_STD_EXCEPTION exception occurred during packet processing: %1
This error message indicates that a standard exception was raised
during packet processing that was not caught by other, more specific
exception handlers. This packet will be dropped and the server will
continue operation.

% DHCP6_PACKET_RECEIVED %1: %2 (type %3) received from %4 to %5 on interface %6
A debug message noting that the server has received the specified type of
packet on the specified interface. The first argument specifies the
client and transaction identification information. The second and third
argument specify the name of the DHCPv6 message and its numeric type
respectively. The remaining arguments specify the source address,
destination IP address and the name of the interface on which the
message has been received.

% DHCP6_PACKET_RECEIVE_FAIL error on attempt to receive packet: %1
The IPv6 DHCP server tried to receive a packet but an error
occurred during this attempt. The reason for the error is included in
the message.

% DHCP6_PACKET_SEND_FAIL failed to send DHCPv6 packet: %1
This error is output if the IPv6 DHCP server fails to send an assembled
DHCP message to a client. The reason for the error is included in the
message.

% DHCP6_PACK_FAIL failed to assemble response correctly
This error is output if the server failed to assemble the data to be
returned to the client into a valid packet.  The reason is most likely
to be to a programming error: please raise a bug report.

% DHCP6_PARSER_COMMIT_EXCEPTION parser failed to commit changes
On receipt of message containing details to a change of the IPv6 DHCP
server configuration, a set of parsers were successfully created, but one
of them failed to commit its changes due to a low-level system exception
being raised.  Additional messages may be output indicating the reason.

% DHCP6_PARSER_COMMIT_FAIL parser failed to commit changes: %1
On receipt of message containing details to a change of the IPv6 DHCP
server configuration, a set of parsers were successfully created, but
one of them failed to commit its changes.  The reason for the failure
is given in the message.

% DHCP6_PARSER_EXCEPTION failed to create or run parser for configuration element %1
On receipt of message containing details to a change of its configuration,
the IPv6 DHCP server failed to create a parser to decode the contents of
the named configuration element, or the creation succeeded but the parsing
actions and committal of changes failed.  The message has been output in
response to a non-Kea exception being raised.  Additional messages
may give further information.

The most likely cause of this is that the specification file for the
server (which details the allowable contents of the configuration) is
not correct for this version of Kea.  This may be the result of an
interrupted installation of an update to Kea.

% DHCP6_PARSER_FAIL failed to create or run parser for configuration element %1: %2
On receipt of message containing details to a change of its configuration,
the IPv6 DHCP server failed to create a parser to decode the contents
of the named configuration element, or the creation succeeded but the
parsing actions and committal of changes failed.  The reason for the
failure is given in the message.

% DHCP6_PD_LEASE_ADVERT %1: lease for prefix %2/%3 and iaid=%4 will be advertised
This informational message indicates that the server will advertise a
prefix to the client in the ADVERTISE message. The client will
request allocation of this prefix with the REQUEST message sent
in the next message exchange. The first argument includes the client
and transaction identification information. The remaining arguments
hold the allocated prefix, prefix length and IAID.

% DHCP6_PD_LEASE_ADVERT_FAIL %1: failed to advertise a prefix lease for iaid=%2
This message indicates that in response to a received SOLICIT, the
server failed to advertise a prefix lease for a given client. There may
be many reasons for such failure. Each failure is logged in a separate
log entry. The first argument holds the client and transaction identification
information. The second argument holds the IAID.

% DHCP6_PD_LEASE_ALLOC %1: lease for prefix %2/%3 and iaid=%4 has been allocated
This informational message indicates that in response to a client's REQUEST
message, the server successfully granted a prefix lease.
This is a normal behavior and indicates successful operation.
The first argument includes the client and transaction identification
information. The remaining arguments hold the allocated prefix,
prefix length and and IAID.

% DHCP6_PD_LEASE_ALLOC_FAIL %1: failed to grant a prefix lease for iaid=%2
This message indicates that in response to a received REQUEST, the server
failed to grant a prefix lease for the client. There may be many reasons
for such failure. Each failure is logged in a separate log entry. The first
argument holds the client and transaction identification information.
The second argument holds the IAID.

% DHCP6_PD_LEASE_RENEW %1: lease for prefix %2/%3 and iaid=%4 has been allocated
This informational message indicates that in response to a client's REQUEST
message, the server successfully renewed a prefix lease.
This is a normal behavior and indicates successful operation.
The first argument includes the client and transaction identification
information. The remaining arguments hold the allocated prefix,
prefix length and and IAID.

% DHCP6_PROCESS_IA_NA_EXTEND %1: extending lease lifetime for IA_NA option with iaid=%2
This message is logged when the server is starting to extend the lifetime
of the address lease associated with the particular IAID. The first argument
includes the client and transaction identification information. The second
argument contains the IAID.

% DHCP6_PROCESS_IA_NA_RELEASE %1: releasing lease for IA_NA option with iaid=%2
This message is logged when the server is trying to release the client's
as a result of receiving the RELEASE message. The first argument
includes the client and transaction identification information. The second
argument contains the IAID.

% DHCP6_PROCESS_IA_NA_REQUEST %1: server is processing IA_NA option with iaid=%2 and hint=%3
This is a debug message that indicates the processing of a received
IA_NA option. The first argument contains the client and the transaction
identification information. The second argument holds the IAID of the
IA_NA option. The third argument may hold the hint for the server
about the address that the client would like to have allocated.
If there is no hint, the argument should provide the text indicating
that the hint hasn't been sent.

% DHCP6_PROCESS_IA_PD_EXTEND %1: extending lease lifetime for IA_PD option with iaid=%2
This message is logged when the server is starting to extend the lifetime
of the prefix lease associated with the particular IAID. The first argument
includes the client and transaction identification information. The second
argument contains the IAID.

% DHCP6_PROCESS_IA_PD_REQUEST %1: server is processing IA_PD option with iaid=%2 and hint=%3
This is a debug message that indicates a processing of received IA_PD
option. The first argument contains the client and the transaction
identification information. The second argument holds the IAID of the
IA_PD option. The third argument may hold the hint for the server
about the prefix that the client would like to have allocated.
If there is no hint, the argument should provide the text indicating
that the hint hasn't been sent.

% DHCP6_QUERY_DATA %1, packet details: %2
A debug message printing the details of the received packet. The first
argument includes the client and the transaction identification
information.

% DHCP6_RAPID_COMMIT %1: Rapid Commit option received, following 2-way exchange
This debug message is issued when the server found a Rapid Commit option
in the client's message and 2-way exchanges are supported by the
server for the subnet on which the client is connected. The argument
specifies the client and transaction identification information.

% DHCP6_RELEASE_NA %1: binding for address %2 and iaid=%3 was released properly
This informational message indicates that an address was released properly. It
is a normal operation during client shutdown.

% DHCP6_RELEASE_NA_FAIL %1: failed to remove address lease for address %2 and iaid=%3
This error message indicates that the software failed to remove an address
lease from the lease database.  It probably due to an error during a
database operation: resolution will most likely require administrator
intervention (e.g. check if DHCP process has sufficient privileges to
update the database). It may also be triggered if a lease was manually
removed from the database during RELEASE message processing. The first
argument holds the client and transaction identification information.
The second and third argument hold the released address and IAID
respectively.

% DHCP6_RELEASE_NA_FAIL_WRONG_DUID %1: client tried to release address %2, but it belongs to another client using duid=%3
This warning message indicates that a client tried to release an address
that belongs to a different client. This should not happen in normal
circumstances and may indicate a misconfiguration of the client.  However,
since the client releasing the address will stop using it anyway, there
is a good chance that the situation will correct itself.

% DHCP6_RELEASE_NA_FAIL_WRONG_IAID %1: client tried to release address %2, but it used wrong IAID (expected %3, but got %4)
This warning message indicates that client tried to release an address
that does belong to it, but the address was expected to be in a different
IA (identity association) container. This probably means that the client's
support for multiple addresses is flawed.

% DHCP6_RELEASE_PD %1: prefix %2/%3 for iaid=%4 was released properly
This informational message indicates that a prefix was released properly. It
is a normal operation during client shutdown. The first argument holds
the client and transaction identification information. The second and
third argument define the prefix and its length. The fourth argument
holds IAID.

% DHCP6_RELEASE_PD_FAIL %1: failed to release prefix %2/%3 for iaid=%4
This error message indicates that the software failed to remove a prefix
lease from the lease database.  It probably due to an error during a
database operation: resolution will most likely require administrator
intervention (e.g. check if DHCP process has sufficient privileges to
update the database). It may also be triggered if a lease was manually
removed from the database during RELEASE message processing. The
first argument hold the client and transaction identification
information. The second and third argument define the prefix and
its length. The fourth argument holds the IAID.

% DHCP6_RELEASE_PD_FAIL_WRONG_DUID %1: client tried to release prefix %2/%3, but it belongs to another client (duid=%4)
This warning message indicates that client tried to release a prefix
that belongs to a different client. This should not happen in normal
circumstances and may indicate a misconfiguration of the client.  However,
since the client releasing the prefix will stop using it anyway, there
is a good chance that the situation will correct itself. The first
argument includes the client and the transaction identification
information. The second and third argument include the prefix and
prefix length. The last argument holds the DUID of the client holding
the lease.

% DHCP6_RELEASE_PD_FAIL_WRONG_IAID %1: client tried to release prefix %2/%3, but it used wrong IAID (expected %4, but got %5)
This warning message indicates that client tried to release a prefix
that does belong to it, but the address was expected to be in a different
IA (identity association) container. This probably means that the client's
support for multiple prefixes is flawed. The first argument includes the
client and transaction identification information. The second and third
argument identify the prefix. The fourth and fifth argument hold the
expected IAID and IAID found respectively.

% DHCP6_REQUIRED_OPTIONS_CHECK_FAIL %1 message received from %2 failed the following check: %3
This message indicates that received DHCPv6 packet is invalid.  This may be due
to a number of reasons, e.g. the mandatory client-id option is missing,
the server-id forbidden in that particular type of message is present,
there is more than one instance of client-id or server-id present,
etc. The exact reason for rejecting the packet is included in the message.

% DHCP6_RESPONSE_DATA responding with packet type %1 data is %2
A debug message listing the data returned to the client.

% DHCP6_SERVER_FAILED server failed: %1
The IPv6 DHCP server has encountered a fatal error and is terminating.
The reason for the failure is included in the message.

% DHCP6_SHUTDOWN server shutdown
The IPv6 DHCP server has terminated normally.

% DHCP6_SHUTDOWN_REQUEST shutdown of server requested
This debug message indicates that a shutdown of the IPv6 server has
been requested via a call to the 'shutdown' method of the core Dhcpv6Srv
object.

% DHCP6_SOCKET_UNICAST server is about to open socket on address %1 on interface %2
This is a debug message that inform that a unicast socket will be opened.

% DHCP6_SRV_CONSTRUCT_ERROR error creating Dhcpv6Srv object, reason: %1
This error message indicates that during startup, the construction of a
core component within the IPv6 DHCP server (the Dhcpv6 server object)
has failed.  As a result, the server will exit.  The reason for the
failure is given within the message.

% DHCP6_SRV_D2STOP_ERROR error stopping IO with DHCP_DDNS during shutdown: %1
This error message indicates that during shutdown, an error occurred while
stopping IO between the DHCPv6 server and the DHCP_DDNS server.  This is
probably due to a programmatic error is not likely to impact either server
upon restart.  The reason for the failure is given within the message.

% DHCP6_STANDALONE skipping message queue, running standalone
This is a debug message indicating that the IPv6 server is running in
standalone mode, not connected to the message queue.  Standalone mode
is only useful during program development, and should not be used in a
production environment.

% DHCP6_STARTED Kea DHCPv6 server version %1 started
This informational message indicates that the IPv6 DHCP server has
processed all configuration information and is ready to process
DHCPv6 packets.  The version is also printed.

% DHCP6_STARTING Kea DHCPv6 server version %1 starting
This informational message indicates that the IPv6 DHCP server has
processed any command-line switches and is starting. The version
is also printed.

% DHCP6_START_INFO pid: %1, port: %2, verbose: %3
This is a debug message issued during the IPv6 DHCP server startup.
It lists some information about the parameters with which the server
is running.

% DHCP6_SUBNET_DATA %1: the selected subnet details: %2
This debug message includes the details of the subnet selected for
the client. The first argument includes the client and the
transaction identification information. The second argument
includes the subnet details.

% DHCP6_SUBNET_DYNAMICALLY_CHANGED %1: changed selected subnet %2 to subnet %3 from shared network %4 for client assignments
This debug message indicates that the server is using another subnet
than initially selected for client assignments. This newly selected
subnet belongs to the same shared network as the original subnet.
Some reasons why the new subnet was selected include: address pool
exhaustion in the original subnet or the fact that the new subnet
includes some static reservations for this client.

% DHCP6_SUBNET_SELECTED %1: the subnet with ID %2 was selected for client assignments
This is a debug message noting the selection of a subnet to be used for
address and option assignment. Subnet selection is one of the early
steps in the processing of incoming client message. The first
argument includes the client and the transaction identification
information. The second argument holds the selected subnet id.

% DHCP6_SUBNET_SELECTION_FAILED %1: failed to select subnet for the client
This debug message indicates that the server failed to select the
subnet for the client which has sent a message to the server.
The cause is likely due to a misconfiguration of the server. The packet
processing will continue, but the response will only contain generic
configuration and no addresses or prefixes. The argument includes
the client and the transaction identification information.

% DHCP6_UNKNOWN_MSG_RECEIVED received unknown message (type %1) on interface %2
This debug message is printed when server receives a message of unknown type.
That could either mean missing functionality or invalid or broken relay or client.
The list of formally defined message types is available here:
http://www.iana.org/assignments/dhcpv6-parameters.

% DHCP6_USING_SERVERID server is using server-id %1 and stores in the file %2
This info message is logged when the server reads its server-id from a
file or generates it. This message is a notification to the administrator
what server-id will be used and where it is persisted. Typically, there is
no need to modify the server id. However, it is possible to do it in the
Kea configuration file. It is important to understand the implications of
such modification. The clients will remember previous server-id, and will
use it to extend their leases. As a result, they will have to go through
a rebinding phase to re-acquire their leases and associate them with a
new server id.
