Using libbsd dhcpcd options

junkes junkes at fhi-berlin.mpg.de
Thu Aug 19 15:45:31 UTC 2021


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);
}

Heinz

On 2021-08-19 12:16, Peter Dufault wrote:
> I'd like to use the DHCP option 17 (Root Path) to get a mount point
> for NFS from the DHCP server.
> 
> I'm starting dhcp with "rtems_dhcpcd_start(NULL)" so it's starting
> with only the argv array of {"dhcpcd", NULL }.
> 
> I *think* I need to start it with a customized rtems_dhcpcd_config
> that would maybe include a "--option" argument, and retrieve it in a
> run hook (I'm using the run hook already to wait for an IP address to
> be assigned).  The FreeBSD "--option" documentation is:
> 
> -o, --option "option"
> Request the DHCP "option" variable for use in
> "/usr/local/libexec/dhcpcd-run-hooks".
> 
> which would be an argv of {"dhcpcd", "--option", "17", NULL }.
> 
> Or is best practice to do something with "rtems-bsd-rc-conf-net.c"?
> 
> Peter
> -----------------
> Peter Dufault
> HD Associates, Inc.      Software and System Engineering
> 
> 
> 
> 
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list