2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 13:37:55 +00:00

[master] Merge branch 'trac2704'

This commit is contained in:
Marcin Siodelski 2013-02-12 16:22:43 +01:00
commit 1cbacf19a2
2 changed files with 8 additions and 28 deletions

View File

@ -137,18 +137,6 @@ IPv6 DHCP server but it is not running.
During startup the IPv6 DHCP server failed to detect any network During startup the IPv6 DHCP server failed to detect any network
interfaces and is therefore shutting down. interfaces and is therefore shutting down.
% DHCP6_NO_SUBNET_DEF_OPT failed to find subnet for address %1 when adding default options
This warning message indicates that when attempting to add default options
to a response, the server found that it was not configured to support
the subnet from which the DHCPv6 request was received. The packet has
been ignored.
% DHCP6_NO_SUBNET_REQ_OPT failed to find subnet for address %1 when adding requested options
This warning message indicates that when attempting to add requested
options to a response, the server found that it was not configured
to support the subnet from which the DHCPv6 request was received.
The packet has been ignored.
% DHCP6_OPEN_SOCKET opening sockets on port %1 % DHCP6_OPEN_SOCKET opening sockets on port %1
A debug message issued during startup, this indicates that the IPv6 DHCP A debug message issued during startup, this indicates that the IPv6 DHCP
server is about to open sockets on the specified port. server is about to open sockets on the specified port.

View File

@ -408,29 +408,21 @@ Dhcpv6Srv::copyDefaultOptions(const Pkt6Ptr& question, Pkt6Ptr& answer) {
} }
void void
Dhcpv6Srv::appendDefaultOptions(const Pkt6Ptr& question, Pkt6Ptr& answer) { Dhcpv6Srv::appendDefaultOptions(const Pkt6Ptr&, Pkt6Ptr& answer) {
// add server-id // add server-id
answer->addOption(getServerID()); answer->addOption(getServerID());
// Get the subnet object. It holds options to be sent to the client
// that belongs to the particular subnet.
Subnet6Ptr subnet = CfgMgr::instance().getSubnet6(question->getRemoteAddr());
// Warn if subnet is not supported and quit.
if (!subnet) {
LOG_WARN(dhcp6_logger, DHCP6_NO_SUBNET_DEF_OPT)
.arg(question->getRemoteAddr().toText());
return;
}
} }
void void
Dhcpv6Srv::appendRequestedOptions(const Pkt6Ptr& question, Pkt6Ptr& answer) { Dhcpv6Srv::appendRequestedOptions(const Pkt6Ptr& question, Pkt6Ptr& answer) {
// Get the subnet for a particular address. // Get the configured subnet suitable for the incoming packet.
Subnet6Ptr subnet = CfgMgr::instance().getSubnet6(question->getRemoteAddr()); Subnet6Ptr subnet = selectSubnet(question);
// Leave if there is no subnet matching the incoming packet.
// There is no need to log the error message here because
// it will be logged in the assignLease() when it fails to
// pick the suitable subnet. We don't want to duplicate
// error messages in such case.
if (!subnet) { if (!subnet) {
LOG_WARN(dhcp6_logger, DHCP6_NO_SUBNET_REQ_OPT)
.arg(question->getRemoteAddr().toText());
return; return;
} }