[Kea-users] Need help assigning subnets by class with host reservations

MRob mrobti at insiberia.net
Mon Nov 14 22:05:48 UTC 2016

>>> 3. Is using "lease.decline(0)" the best (only) way, at least in this
>>> hook point, to turn away unknown clients? That's what I've done and
>>> it works, though the lease is still processed and sent to the
>>> client, but with what I think is a lease for zero seconds.
>>  Declining a lease is intended to be a client initiated action, so I
>> don't really think this is direction to go.  If you set the
>> lease4_select next step action to SKIP before returning from your
>> lease4_select hook:
>> "NEXT STEP STATUS: If any callout installed on the "lease4_select"
>> hook sets the next step action to SKIP, the server will not assign any
>> lease and the callouts become responsible for the lease assignment. If
>> the callouts fail to provide a lease, the packet processing will
>> continue, but client will not get an address."
>> If your callout does not then assign a lease using its own decision
>> making,  the server will generate a NAK to your client.
> This works much better (though again, would have not needed to bother
> you if I had been able to find the docs you quote here). Thanks again
> for all your help, it's working quite nicely now.

Caveat: when a lease is skipped, the server immediately tries again to 
allocate another lease for the client, and does this many more times in 
the same second, so much so that there are nearly 2000 lines of logging 
at maximum verbosity before a NAK is sent. Then it keeps trying many 
times per second for another few seconds.

This seems quite excessive. Shouldn't the server send the NAK and stop 
retrying after a lease is denied? At a minimum, retries should be rate 
limited or limited to X number of retries.

More information about the Kea-users mailing list