Print this page
OS-4741 Add support for multiple addresses & IPv6 to lx-branded zones
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>

*** 34,43 **** --- 34,44 ---- #include <libcontract_priv.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> + #include <zone.h> #include "dhcpagent_ipc.h" #include "dhcpagent_util.h" /*
*** 123,133 **** --- 124,140 ---- dhcp_ipc_request_t *request; dhcp_ipc_reply_t *reply; int ctfd; pid_t childpid; ctid_t ct; + char dhcpcmd[MAXPATHLEN]; + const char *zroot = zone_get_nroot(); + /* Prepend the root of the native code in the brand to the command */ + (void) snprintf(dhcpcmd, sizeof (dhcpcmd), "%s%s", zroot != NULL ? + zroot : "", DHCP_AGENT_PATH); + /* * just send a dummy request to the agent to find out if it's * up. we do this instead of directly connecting to it since * we want to make sure we follow its IPC conventions * (otherwise, it will log warnings to syslog).
*** 158,168 **** switch (childpid) { case -1: goto fail; case 0: ! (void) execl(DHCP_AGENT_PATH, DHCP_AGENT_PATH, (char *)0); _exit(EXIT_FAILURE); default: break; } --- 165,175 ---- switch (childpid) { case -1: goto fail; case 0: ! (void) execl(dhcpcmd, dhcpcmd, (char *)0); _exit(EXIT_FAILURE); default: break; }