performance with 20000 classes; release a lease manually

Randall C Grimshaw rgrimsha at
Wed Jun 10 21:40:09 UTC 2009

would it be just as useful to lease according to client mac and log the cable mac?
or would it be worth customizing your server to sub the cable mac for the client mac and function normally otherwaise?


From: dhcp-users-bounces at [dhcp-users-bounces at] On Behalf Of stefan novak [lms.brubaker at]
Sent: Wednesday, June 10, 2009 4:48 PM
To: Users of ISC DHCP
Subject: Re: performance with 20000 classes; release a lease manually

At the end of my post is a sample of my config as it is now.
I dont think that i can use subclasses, because i want to have fixed
ip adresses based on the cable modem mac.
Is there any scaleable option in isc dhcpd to do this with 20000
customers with one dhcpd server? If not is there a feature planning on
fix host ips with remote-id?

Another user if isc dhcpd has also the same problems:

And now he wants several dhcpd on a single machine, i thinks so for
each cable interface one. I also thought about something like that,
but seams to be not a clean solution:

Sample config from our cable provisioning: (just random macs and ips
for sale tests...)

root at dhcp-test:~/stefan# head -n 20 dhcpd.class.conf
class "customer 3" { match if option agent.remote-id = 01:EA:68:f5:4c:E5;}
class "customer 4" { match if option agent.remote-id = 01:73:6D:eF:5E:bD;}
class "customer 5" { match if option agent.remote-id = 01:c3:51:a2:f1:5c;}
class "customer 6" { match if option agent.remote-id = 01:db:71:6E:82:32;}
class "customer 7" { match if option agent.remote-id = 01:36:77:76:c2:3C;}
class "customer 8" { match if option agent.remote-id = 01:86:F5:96:e1:3f;}
class "customer 9" { match if option agent.remote-id = 01:d6:51:5E:A2:6d;}
class "customer 10" { match if option agent.remote-id = 01:6b:5E:34:05:B7;}
class "customer 11" { match if option agent.remote-id = 01:7A:E7:34:C3:93;}
class "customer 12" { match if option agent.remote-id = 01:97:ba:E0:89:91;}
class "customer 13" { match if option agent.remote-id = 01:e0:c2:57:C6:8a;}
class "customer 14" { match if option agent.remote-id = 01:40:41:48:99:63;}
class "customer 15" { match if option agent.remote-id = 01:9D:E7:2b:0b:7C;}
class "customer 16" { match if option agent.remote-id = 01:A4:05:14:d3:e1;}
class "customer 17" { match if option agent.remote-id = 01:41:4f:68:1D:8D;}
class "customer 18" { match if option agent.remote-id = 01:DF:f9:4C:44:0e;}
class "customer 19" { match if option agent.remote-id = 01:FE:fE:CE:DF:C1;}
class "customer 20" { match if option agent.remote-id = 01:82:B2:65:cf:4a;}
class "customer 21" { match if option agent.remote-id = 01:88:c0:2a:eb:AD;}
class "customer 22" { match if option agent.remote-id = 01:9b:bc:D3:c7:ce;}

root at dhcp-test:~/stefan# head -n 20 dhcpd.subnet.conf
shared-network network-91-62-1 {

  subnet netmask {
    option routers;
    option broadcast-address;
    option time-servers;

  subnet netmask {
    option routers;
    option broadcast-address;
    pool { allow members of "customer 3"; range;}
    pool { allow members of "customer 4"; range;}
    pool { allow members of "customer 5"; range;}
    pool { allow members of "customer 6"; range;}
    pool { allow members of "customer 7"; range;}
    pool { allow members of "customer 8"; range;}
    pool { allow members of "customer 9"; range;}
    pool { allow members of "customer 10"; range;}

root at dhcp-test:~/stefan# head -n 20 dhcpd.modem.conf
host testmodem3 { hardware ethernet 01:EA:68:f5:4c:E5; fixed-address; filename "testmodem3.cfg";}
host mtamodem3 { hardware ethernet 01:C2:C5:1e:6f:A1; fixed-address; filename "macmodem3.cfg";}
host testmodem4 { hardware ethernet 01:73:6D:eF:5E:bD; fixed-address; filename "testmodem4.cfg";}
host mtamodem4 { hardware ethernet 01:0d:a2:3E:7a:52; fixed-address; filename "macmodem4.cfg";}
host testmodem5 { hardware ethernet 01:c3:51:a2:f1:5c; fixed-address; filename "testmodem5.cfg";}
host mtamodem5 { hardware ethernet 01:f5:8F:fb:63:48; fixed-address; filename "macmodem5.cfg";}
host testmodem6 { hardware ethernet 01:db:71:6E:82:32; fixed-address; filename "testmodem6.cfg";}
host mtamodem6 { hardware ethernet 01:e6:Ec:bb:46:3f; fixed-address; filename "macmodem6.cfg";}
host testmodem7 { hardware ethernet 01:36:77:76:c2:3C; fixed-address; filename "testmodem7.cfg";}
host mtamodem7 { hardware ethernet 01:64:88:01:d2:A6; fixed-address; filename "macmodem7.cfg";}
host testmodem8 { hardware ethernet 01:86:F5:96:e1:3f; fixed-address; filename "testmodem8.cfg";}
host mtamodem8 { hardware ethernet 01:c6:e2:0f:Fc:2D; fixed-address; filename "macmodem8.cfg";}
host testmodem9 { hardware ethernet 01:d6:51:5E:A2:6d; fixed-address; filename "testmodem9.cfg";}
host mtamodem9 { hardware ethernet 01:00:39:0D:Da:14; fixed-address; filename "macmodem9.cfg";}
host testmodem10 { hardware ethernet 01:6b:5E:34:05:B7; fixed-address; filename "testmodem10.cfg";}
host mtamodem10 { hardware ethernet 01:31:Af:B1:e8:27; fixed-address; filename "macmodem10.cfg";}
host testmodem11 { hardware ethernet 01:7A:E7:34:C3:93; fixed-address; filename "testmodem11.cfg";}
host mtamodem11 { hardware ethernet 01:e2:52:88:A7:f7; fixed-address; filename "macmodem11.cfg";}
host testmodem12 { hardware ethernet 01:97:ba:E0:89:91; fixed-address; filename "testmodem12.cfg";}
host mtamodem12 { hardware ethernet 01:3c:6F:1b:51:00; fixed-address; filename "macmodem12.cfg";}
root at dhcp-test:~/stefan#
dhcp-users mailing list
dhcp-users at

More information about the dhcp-users mailing list