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