Multilple leases with same client identifier

Christian Kratzer ck-lists at
Wed Oct 24 20:25:41 UTC 2012


we have a setup where we have customer cpe getting several leases for the specific vlans they are on for management, voip or internet access etc...

Most CPE we have tested either have a different ethernet hardware address on each vlan and/or they send a different uid for each of the vlans.

We have one specific device that sends identical ethernet addresses and uid for all the requests the different vlans.

When the device requests 3 leases one for each vlan it is on. The DHCP server releases the previously assigned leases as it assumes that the device has moved to a another network.

For n requests in n different vlans we get left with one valid and and n-1 released leases.  We noticed when trying to query the leases by ip over omapi.

I have traced the releasing of the leases to find_lease() in dhcp.c

|                if (uid_lease -> subnet -> shared_network != share) {
| #if defined (DEBUG_FIND_LEASE)
|                        log_info ("wrong network segment: %s",
|                                  piaddr (uid_lease -> ip_addr));
| #endif
|                        goto n_uid;
|                }

I have two questions:

1. Can I safely claim that the CPE is violating the specs by advertising equal identical uid for multiple concurrent leases.

2. Any ideas for a workaround until we get the cpe fixed ? Perhaps we could ignore the uid for the specific vendor ?

Christian Kratzer
CK Software GmbH

Christian Kratzer                      CK Software GmbH
Email:   ck at                  Wildberger Weg 24/2
Phone:   +49 7032 893 997 - 0          D-71126 Gaeufelden
Fax:     +49 7032 893 997 - 9          HRB 245288, Amtsgericht Stuttgart
Web:         Geschaeftsfuehrer: Christian Kratzer

More information about the dhcp-users mailing list