<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 10/10/2014 5:28 AM, Ronnie Flink
wrote:<br>
</div>
<blockquote
cite="mid:CAP5qVWb4KK7T4aa5K6CD+=_nmhr7CSG2dDJ1_Sh5+P-4fxasyA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>Hi All.</div>
<div><br>
</div>
<div><br>
</div>
<div>I'm working at a small ISP where we among other access
technologies use DOCSIS and every modem receives a ip and
download its configuration from tftp based on information the
modem gets from dhcp.</div>
<div><br>
</div>
<div>I have been having a problem since upgrading to dhcpd 4.2.4
(Ubuntu 14.04 stock) from dhcpd 3.0.5 (on FreeBSD).</div>
<div>The problem that occurs is when we make changes to the
configuration of dhcpd and restart it the client that should
have been affected isn't (other clients that shouldn't be
affected remain unaffected) and other normal dhcp operation
works as expected.</div>
<div><br>
</div>
<div><br>
</div>
<div>Steps taken we take to notice the problem:</div>
<div><br>
</div>
<div>We take a modems mac address (as listed below) and change
the class it is associated with (to get the modem to load a
different configuration file) and then restart the dhcp server
to activate this change.</div>
<div>Next we restart the modem to force it to make a new
dhcp-request and in the dhcp-reply we send the name of the
configuration file the modem should download but the modem
doesn't download this file, looking at the reply we still see
the old filename.</div>
<div>The only way to force the modem to download the new file is
to manually remove all objects associated with the modems
mac-address from the dhcpd.leases file (with dhcp-server
stoped and using a text editor), then when we have saved the
edited dhcpd.leases file, started dhcpd again and finally
restarted the modem again it downloads the correct file.</div>
<div>If we look inside dhcpd.leases before and after this manual
update the modem is associated with one class before and
another after.</div>
<div><br>
</div>
<div>Each class has a option set to so that each modem assigned
to that class should use a for the class specific
configuration file.</div>
<div>Does anyone know if there a way we can get this working as
before again so that what is in dhcpd.conf doesn't get
overridden by what's in dhcpd.leases or have any input on the
issue?</div>
<div><br>
</div>
<div><br>
</div>
<div>In the config-extract below 10.10.10.10 is the tftp-server
that serves the modem configuration files and 172.16.x.x is
used to represent public addresses.</div>
<div>There is a section from dhcpd.leases for a modem at the end
for reference.</div>
<div><br>
</div>
<div>class "bf83941a-5e71-7628-e049-13413865ccbf" {</div>
<div> match option dhcp-client-identifier;</div>
<div> filename "<a moz-do-not-send="true"
href="http://8000-800-2.cm">8000-800-2.cm</a>";</div>
<div> lease limit 4000;</div>
<div>}</div>
<div><br>
</div>
<div>class "772d4661-9dd6-5228-3342-6547a59a980b" {</div>
<div> match option dhcp-client-identifier;</div>
<div> filename "<a moz-do-not-send="true"
href="http://8000-4000-2.cm">8000-4000-2.cm</a>";</div>
<div> lease limit 4000;</div>
<div>}</div>
<div><br>
</div>
<div>class "none-docsis" {</div>
<div> match if not (substring (option
vendor-class-identifier, 0, 6) = "docsis");</div>
<div>}</div>
<div><br>
</div>
<div>shared-network DOCSISNET-CABLENETWORK-2-XYZ {</div>
<div>subnet 192.168.192.0 netmask 255.255.252.0 {</div>
<div><span class="" style="white-space:pre"> </span>option
subnet-mask 255.255.252.0;</div>
<div><span class="" style="white-space:pre"> </span>option
routers 192.168.195.254;</div>
<div><span class="" style="white-space:pre"> </span>next-server
10.10.10.10;</div>
<div><span class="" style="white-space:pre"> </span>pool {</div>
<div><span class="" style="white-space:pre"> </span># Class
Pool (START)</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "bf83941a-5e71-7628-e049-13413865ccbf";</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "772d4661-9dd6-5228-3342-6547a59a980b";</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "77e0e1ee-96b0-f6c4-40f8-6abcb23db39d";</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "e9fee5ad-0a10-de2e-82d2-98ec10e7f920";</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "1d66adaf-d85d-fbfd-93b5-7d842d398208";</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "20615bd4-23a5-d873-3f23-65df6a131944";</div>
<div><span class="" style="white-space:pre"> </span># Class
Pool (END)</div>
<div><span class="" style="white-space:pre"> </span>range
192.168.192.1 192.168.195.250;</div>
<div><span class="" style="white-space:pre"> </span>}</div>
<div>}</div>
<div><br>
</div>
<div>subnet 172.16.165.0 netmask 255.255.255.0 {</div>
<div><span class="" style="white-space:pre"> </span>option
subnet-mask 255.255.255.0;</div>
<div><span class="" style="white-space:pre"> </span>option
domain-name "domain.tld";</div>
<div><span class="" style="white-space:pre"> </span>option
routers 172.16.165.254;</div>
<div><span class="" style="white-space:pre"> </span>pool {</div>
<div><span class="" style="white-space:pre"> </span>deny
members of "docsis";</div>
<div><span class="" style="white-space:pre"> </span>allow
members of "none-docsis";</div>
<div><span class="" style="white-space:pre"> </span>range
172.16.165.1 172.16.165.253;</div>
<div><span class="" style="white-space:pre"> </span>}</div>
<div>log (info, concat("cmts-2-xyz (EuroDOCSIS): CM Mac =
",binary-to-ascii(16, 8, ":", option agent.remote-id), "; CPE
IP = ",binary-to-ascii (10, 8, ".", leased-address)));</div>
<div>}</div>
<div><br>
</div>
<div>}</div>
<div><br>
</div>
<div># Modems with DOCSIS 8/4</div>
<div>subclass "772d4661-9dd6-5228-3342-6547a59a980b"
1:e4:48:c7:b3:c7:86;</div>
<div>subclass "772d4661-9dd6-5228-3342-6547a59a980b"
1:00:23:ed:21:dc:01;</div>
<div>subclass "772d4661-9dd6-5228-3342-6547a59a980b"
1:e4:48:c7:b3:b1:46;</div>
<div><br>
</div>
<div># Modems with DOCSIS 8</div>
<div>subclass "bf83941a-5e71-7628-e049-13413865ccbf"
1:00:23:ed:21:d5:9a;</div>
<div>subclass "bf83941a-5e71-7628-e049-13413865ccbf"
1:00:23:ed:21:dc:9f;</div>
<div>subclass "bf83941a-5e71-7628-e049-13413865ccbf"
1:00:23:ed:9b:0a:d9;</div>
<div>subclass "bf83941a-5e71-7628-e049-13413865ccbf"
1:00:23:ed:21:d7:99;</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>lease 192.168.192.210 {</div>
<div> starts 4 2014/10/09 08:55:19;</div>
<div> ends 4 2014/10/09 14:55:19;</div>
<div> tstp 4 2014/10/09 14:55:19;</div>
<div> cltt 4 2014/10/09 08:55:19;</div>
<div> binding state active;</div>
<div> next binding state free;</div>
<div> billing subclass "772d4661-9dd6-5228-3342-6547a59a980b"
01:e4:48:c7:b3:c7:86;</div>
<div> hardware ethernet e4:48:c7:b3:c7:86;</div>
<div> uid "\001\344H\307\263\307\206";</div>
<div> option agent.circuit-id 80:2:4:12;</div>
<div> option agent.remote-id e4:48:c7:b3:c7:86;</div>
<div> option agent.unknown-9 0:0:11:8b:6:1:4:1:2:3:0;</div>
<div>}</div>
<div><br>
</div>
<div><br>
</div>
<div>/BR,</div>
<div>Ronnie F</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
dhcp-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dhcp-users@lists.isc.org">dhcp-users@lists.isc.org</a>
<a class="moz-txt-link-freetext" href="https://lists.isc.org/mailman/listinfo/dhcp-users">https://lists.isc.org/mailman/listinfo/dhcp-users</a></pre>
</blockquote>
<br>
<tt>Is there an DHCP option called 'filename'? I don't see it here:<br>
<a class="moz-txt-link-freetext" href="http://www.ipamworldwide.com/dhcp-options/isc-dhcpv4-options.html">http://www.ipamworldwide.com/dhcp-options/isc-dhcpv4-options.html</a><br>
<br>
There is an option bootfile-name. I would think your class should
be:<br>
</tt><br>
<div><font color="#993300">class
"bf83941a-5e71-7628-e049-13413865ccbf" {</font></div>
<div><font color="#993300"> match option dhcp-client-identifier;</font></div>
<div><font color="#993300"> option bootfile-name "<a
href="http://8000-800-2.cm">8000-800-2.cm</a>";</font></div>
<div><font color="#993300"> lease limit 4000;</font></div>
<div><font color="#993300">}</font></div>
<div><br>
Also, I don't see anything about filename in the lease you
provided. If you restarted dhcpd, how could it remember the old
filename?<br>
<br>
Bill<br>
<br>
<br>
</div>
</body>
</html>