|
@@ -608,12 +608,15 @@ Dhcpv4Srv::assignLease(const Pkt4Ptr& question, Pkt4Ptr& answer) {
|
|
|
// allocation.
|
|
|
bool fake_allocation = (question->getType() == DHCPDISCOVER);
|
|
|
|
|
|
+ CalloutHandlePtr callout_handle = getCalloutHandle(question);
|
|
|
+
|
|
|
// Use allocation engine to pick a lease for this client. Allocation engine
|
|
|
// will try to honour the hint, but it is just a hint - some other address
|
|
|
// may be used instead. If fake_allocation is set to false, the lease will
|
|
|
// be inserted into the LeaseMgr as well.
|
|
|
Lease4Ptr lease = alloc_engine_->allocateAddress4(subnet, client_id, hwaddr,
|
|
|
- hint, fake_allocation);
|
|
|
+ hint, fake_allocation,
|
|
|
+ callout_handle);
|
|
|
|
|
|
if (lease) {
|
|
|
// We have a lease! Let's set it in the packet and send it back to
|