Using libbsd dhcpcd options

Peter Dufault dufault at hda.com
Fri Aug 20 11:37:43 UTC 2021



> On Aug 19, 2021, at 20:02 , Chris Johns <chrisj at rtems.org> wrote:
> 
> On 20/8/21 1:45 am, junkes wrote:
>> Hallo Peter,
>> I do not know if this is best practice but I run the following code:
>> 
>> static void
>> default_network_dhcpcd(void)
>> {
>>     static const char default_cfg[] = "clientid test client\n";
>>     rtems_status_code sc;
>>     int fd;
>>     int rv;
>>     ssize_t n;
>>     struct stat statbuf;
>> 
>>     if (ENOENT == stat("/etc/dhcpcd.conf", &statbuf)) {
>>         fd = open("/etc/dhcpcd.conf", O_CREAT | O_WRONLY,
>>                   S_IRWXU | S_IRWXG | S_IRWXO);
>>         assert(fd >= 0);
>> 
>>         n = write(fd, default_cfg, sizeof(default_cfg) - 1);
>>         assert(n == (ssize_t) sizeof(default_cfg) - 1);
>> 
>>         static const char fhi_cfg[] =
>>             "nodhcp6\n"
>>             "ipv4only\n"
>>             "option ntp_servers\n"
>>             "option rtems_cmdline\n"
>>             "option tftp_server_name\n"
>>             "option bootfile_name\n"
>>             "define 129 string rtems_cmdline\n"
>>             "timeout 0";
>> 
>>         n = write(fd, fhi_cfg, sizeof(fhi_cfg) - 1);
>>         assert(n == (ssize_t) sizeof(fhi_cfg) - 1);
>> 
>>         rv = close(fd);
>>         assert(rv == 0);
>>     }
>> 
>>     sc = rtems_dhcpcd_start(NULL);
>>     assert(sc == RTEMS_SUCCESSFUL);
>> }
> Hienz, this is a good solution and using a file best solution.
> 
> Chris

I see online that DHCP option 129 has three definitions: "PXE - undefined (vendor specific)", "Kernel options Variable length string", and "Call Server IP address".

Above does "option rtems_cmdline" and "define 129 string rtems_cmdline" set option 129 to correspond to "Kernel options"?  There's no "DHO_" define for 129 in dhcp.h so I assume that's why you need the "define 129".

Option 17 is defined in dhcp.h ("#define DHO_ROOT_PATH 17") so I assume I just add "option root_path".  I'll try it later today.

Peter
-----------------
Peter Dufault
HD Associates, Inc.      Software and System Engineering



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 235 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210820/523904c1/attachment.bin>


More information about the devel mailing list