extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_DROP = "DHCP6_HOOK_PACKET_SEND_DROP";
extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_SKIP = "DHCP6_HOOK_PACKET_SEND_SKIP";
extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_DROP = "DHCP6_HOOK_SUBNET6_SELECT_DROP";
+extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_PARK = "DHCP6_HOOK_SUBNET6_SELECT_PARK";
extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_SKIP = "DHCP6_HOOK_SUBNET6_SELECT_SKIP";
extern const isc::log::MessageID DHCP6_INIT_FAIL = "DHCP6_INIT_FAIL";
extern const isc::log::MessageID DHCP6_LEASE_ADVERT = "DHCP6_LEASE_ADVERT";
"DHCP6_HOOK_PACKET_SEND_DROP", "%1: prepared DHCPv6 response was not sent because a callout set the next ste to DROP",
"DHCP6_HOOK_PACKET_SEND_SKIP", "%1: prepared DHCPv6 response is not built because a callout set the next step to SKIP",
"DHCP6_HOOK_SUBNET6_SELECT_DROP", "%1: packet was dropped because a callout set the drop flag",
+ "DHCP6_HOOK_SUBNET6_SELECT_PARK", "%1: packet was parked",
"DHCP6_HOOK_SUBNET6_SELECT_SKIP", "%1: no subnet was selected because a callout set the next step to SKIP",
"DHCP6_INIT_FAIL", "failed to initialize Kea server: %1",
"DHCP6_LEASE_ADVERT", "%1: lease for address %2 and iaid=%3 will be advertised",
extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_DROP;
extern const isc::log::MessageID DHCP6_HOOK_PACKET_SEND_SKIP;
extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_DROP;
+extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_PARK;
extern const isc::log::MessageID DHCP6_HOOK_SUBNET6_SELECT_SKIP;
extern const isc::log::MessageID DHCP6_INIT_FAIL;
extern const isc::log::MessageID DHCP6_LEASE_ADVERT;
received packet. The argument holds the client and transaction
identification information.
+% DHCP6_HOOK_SUBNET6_SELECT_PARK %1: packet was parked
+This debug message is printed when a callout installed on the
+subnet6_select hook point set the park flag. 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
return (Subnet6Ptr());
}
+ // Callouts parked the packet. Same as drop but callouts will resume
+ // processing or drop the packet later.
+ if (callout_handle->getStatus() == CalloutHandle::NEXT_STEP_PARK) {
+ LOG_DEBUG(hooks_logger, DBG_DHCP6_HOOKS, DHCP6_HOOK_SUBNET6_SELECT_PARK)
+ .arg(question->getLabel());
+ drop = true;
+ return (Subnet6Ptr());
+ }
+
// Use whatever subnet was specified by the callout
callout_handle->getArgument("subnet6", subnet);
}