How does DHCPD determine what IP address to assign and...

Ryan McCain Ryan.McCain at
Thu Dec 27 20:02:31 UTC 2007

>>> On Wed, Dec 26, 2007 at  3:07 PM, in message <20071226210716.GA3736 at>,
"David W. Hankins" <David_Hankins at> wrote: 
> On Wed, Dec 26, 2007 at 01:15:44PM -0600, Ryan McCain wrote:
>> The UID always looks something like this in the lease file:: 
>> uid "\000cisco-"
> it's kind of unfortunate that in dhcpd.leases it was called 'uid', but
> what it means is 'dhcp-client-identifier'.
> i gather from comments there was some hope that people would soon be
> calling these "globally unique identifiers," but it's clear this has
> not panned out.

Here is a snip from my leases file:

lease {
  starts 0 2007/11/11 01:44:43;
  ends 0 2007/11/11 01:45:02;
  tstp 0 2007/11/11 01:45:02;
  binding state free;
  hardware ethernet 00:10:7b:4d:73:c6;
  uid "\000cisco-";
lease {
  starts 1 2007/11/12 03:23:15;
  ends 2 2007/11/13 03:23:15;
  tstp 2 2007/11/13 03:23:15;
  binding state free;
  hardware ethernet 00:10:7b:4d:73:c6;
  uid "\000cisco-";

So, its  not always Async32, but it will always contain "-Async".

If I understand you correctly the syntax would be:

match if substring(option dhcp-client-identifier, 3,5) = "Async";


I know the 3,5 are wrong based on the other post but as far as using the right option, dhcp-client-identifier is the correct one to use in this scenario?

>> Would this then be the correct syntax:?
>> class "DialUp" {
>>     match if substring(option vendor-class-identifier, 3,5) = "Async";
> the vendor-class-identifier is not the dhcp-client-identifier.  you'd
> have to show us the vendor-class-identifier this device is emitting if
> you wanted to match clients this way.

More information about the dhcp-users mailing list