<div dir="ltr"><div>Hello,</div><div><br></div><div>I'm currently running version isc-dhcpd-4.4.1 on Ubuntu 20.04. I'm planning to migrate to Kea but having tried the configuration assistant left me with more questions than answers to I will need to manually build this config and it will be a month long project.</div><div><br></div><div>I'm trying to set the boot file name for my clients dhcp6 to be dynamically generated based on the client-id. I have a similar setup working on dhcp4 but can't get it to work on IPv6. These are DOCSIS cable modems trying to boot and acquire their config.</div><div><br></div><div>What I have setup is the following</div><div><br></div><div># declare the option space where the CableLabs options live<br>option space docsis code width 2 length width 2 hash size 100;<br>option docsis.tftp-servers code 32 = array of ip6-address;<br>option docsis.configuration-file code 33 = text;<br>option docsis.syslog-servers code 34 = array of ip6-address;<br>option docsis.time-servers code 37 = array of ip6-address;<br>option docsis.time-offset code 38 = signed integer 32;</div><div>option vsio.docsis code 4491 = encapsulate docsis;</div><div><br></div><div>subnet6 2001:428:XXXX:1300::/64 {<br>        range6 2001:428:XXXX:1300::ff01 2001:428:XXXX:1300::ffff;<br>        set hw_mac_short = concat (<br>              suffix(concat("0", binary-to-ascii (16, 8, "", substring(suffix(option dhcp6.client-id, 6),0,1))),2),<br>              suffix(concat("0", binary-to-ascii (16, 8, "", substring(suffix(option dhcp6.client-id, 6),1,1))),2),<br>              suffix(concat("0", binary-to-ascii (16, 8, "", substring(suffix(option dhcp6.client-id, 6),2,1))),2),<br>              suffix(concat("0", binary-to-ascii (16, 8, "", substring(suffix(option dhcp6.client-id, 6),3,1))),2),<br>              suffix(concat("0", binary-to-ascii (16, 8, "", substring(suffix(option dhcp6.client-id, 6),4,1))),2),<br>              suffix(concat("0", binary-to-ascii (16, 8, "", substring(suffix(option dhcp6.client-id, 6),5,1))),2)<br>              );<br>        set configfile = concat(hw_mac_short, ".cfg");<br>        log (info, "Sending config...");<br>        log (info, concat ("Sending config file ", configfile, " to device ", hw_mac_short));<br>        option dhcp6.domain-search "<a href="http://cm.den.company.com">cm.den.company.com</a>";<br>        option docsis.time-offset -24200;<br>        option docsis.configuration-file = concat("cache/ONU-", configfile);<br>        #option docsis.configuration-file "cache/3basic_OLT.cfg";<br>        option docsis.tftp-servers 2001:428:XXXX:100:172:19:0:200;<br>        option docsis.time-servers 2001:428:XXXX:100:172:19:0:200;<br>        on commit {<br>                execute("/etc/dhcp/htprov_defaultolt.sh", configfile);<br>        }<br>}</div><div><br></div><div>I added the log entries to confirm that the data was correctly calculated and it works:</div><div>Oct 30 05:55:01 hus-provserver dhcpd[3162636]: Sending config...<br>Oct 30 05:55:01 hus-provserver dhcpd[3162636]: Sending config file f8345a7e48e2.cfg to device f8345a7e48e2</div><div><br></div><div>But in the packet trace, the config file field is always missing</div><div><div>Vendor-specific Information<br>    Option: Vendor-specific Information (17)<br>    Length: 52<br>    Enterprise ID: Cable Television Laboratories, Inc. (4491)<br>    Suboption: TFTP Server Addresses :  (32)</div><div>        2001:428:XXXX:100:172:19:0:200<br>    Suboption: Time Protocol Servers :  (37)</div><div>        2001:428:XXXX:100:172:19:0:200</div><div>    Suboption: Time Offset =  (38)-24200</div></div><div><br></div><div>When I comment out the dynamic filename and enable the static one</div><div>        #option docsis.configuration-file = concat("cache/ONU-", configfile);<br>        option docsis.configuration-file "cache/3basic_OLT.cfg";</div><div><br></div><div>Then the static name is sent as expected:</div><div>Vendor-specific Information<br>    Option: Vendor-specific Information (17)<br>    Length: 76<br>    Enterprise ID: Cable Television Laboratories, Inc. (4491)<br>    Suboption: TFTP Server Addresses :  (32)</div><div>        2001:428:XXXX:100:172:19:0:200<br></div><div>    Suboption: Configuration File Name =  (33)"cache/3basic_OLT.cfg"<br>    Suboption: Time Protocol Servers :  (37)</div><div>        2001:428:XXXX:100:172:19:0:200</div><div>    Suboption: Time Offset =  (38)-24200</div><div><br></div><div>Would anybody have a possible pointer at what I'm doing wrong?</div><div><br></div><div>Thanks</div><div><br></div><div>Dave M.<br></div><div><br></div></div>