#endif
/* Inherit some global defaults */
+ if (ctx->options & DHCPCD_CONFIGURE)
+ ifo->options |= DHCPCD_CONFIGURE;
if (ctx->options & DHCPCD_PERSISTENT)
ifo->options |= DHCPCD_PERSISTENT;
if (ctx->options & DHCPCD_SLAACPRIVATE)
if ((ifo = default_config(ctx)) == NULL)
return NULL;
if (default_options == 0) {
- default_options |= DHCPCD_DAEMONISE |
- DHCPCD_CONFIGURE | DHCPCD_GATEWAY;
+ default_options |= DHCPCD_CONFIGURE | DHCPCD_DAEMONISE |
+ DHCPCD_GATEWAY;
#ifdef INET
skip = socket(PF_INET, SOCK_DGRAM, 0);
if (skip != -1) {
#endif
RB_TREE_FOREACH_SAFE(rt, &routes, rtn) {
- if (rt->rt_ifp->active &&
- !(rt->rt_ifp->options->options & DHCPCD_CONFIGURE))
+ if (rt->rt_ifp->active) {
+ if (!(rt->rt_ifp->options->options & DHCPCD_CONFIGURE))
+ continue;
+ } else if (!(ctx->options & DHCPCD_CONFIGURE))
continue;
#ifdef BSD
if (rt_is_default(rt) &&