<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>