{
unsigned long long opts;
- if (!ifp->active)
+ if (ifp->active != IF_ACTIVE_USER)
return AF_MAX;
opts = ifp->options->options;
eloop_q_timeout_delete(ctx->eloop, 0, NULL, ifp);
/* De-activate the interface */
- ifp->active = 0;
+ ifp->active = IF_INACTIVE;
stop:
if (!(ctx->options & (DHCPCD_MASTER | DHCPCD_TEST)))
{
if (!ifp->active) {
- ifp->active = 1;
+ ifp->active = IF_ACTIVE;
dhcpcd_initstate(ifp, 0);
run_preinit(ifp);
dhcpcd_prestartinterface(ifp);
if (strcmp(ctx->ifv[i], ifname) == 0)
break;
if (i >= ctx->ifc)
- ifp->active = 0;
+ ifp->active = IF_INACTIVE;
}
i = 0;
else
ipv4_applyaddr(ifp);
} else if (i != argc) {
- ifp->active = 1;
+ ifp->active = IF_ACTIVE_USER;
dhcpcd_initstate1(ifp, argc, argv, 0);
run_preinit(ifp);
dhcpcd_prestartinterface(ifp);
ctx.ifv[i]);
}
TAILQ_FOREACH(ifp, ctx.ifaces, next) {
- if (ifp->active)
+ if (ifp->active == IF_ACTIVE_USER)
break;
}
if (ifp == NULL) {
/*
* dhcpcd - DHCP client daemon
- * Copyright (c) 2006-2015 Roy Marples <roy@marples.name>
+ * Copyright (c) 2006-2016 Roy Marples <roy@marples.name>
* All rights reserved
* Redistribution and use in source and binary forms, with or without
if (ifp)
continue;
- active = 1;
+ active = IF_ACTIVE_USER;
if (argc > 0) {
for (i = 0; i < argc; i++) {
#ifdef __linux__
#endif
}
if (i == argc) {
- active = 0;
+ active = IF_INACTIVE;
p = ifa->ifa_name;
#ifdef __linux__
strlcpy(ifn, ifa->ifa_name, sizeof(ifn));
if (!fnmatch(ctx->ifdv[i], p, 0))
break;
if (i < ctx->ifdc)
- active = 0;
+ active = IF_INACTIVE;
for (i = 0; i < ctx->ifac; i++)
if (!fnmatch(ctx->ifav[i], p, 0))
break;
if (ctx->ifac && i == ctx->ifac)
- active = 0;
+ active = IF_INACTIVE;
#ifdef PLUGIN_DEV
/* Ensure that the interface name has settled */
if (ifa->ifa_flags & (IFF_LOOPBACK | IFF_POINTOPOINT)) {
if ((argc == 0 || argc == -1) &&
ctx->ifac == 0 && !if_hasconf(ctx, p))
- active = 0;
+ active = IF_INACTIVE;
}
if (if_vimaster(ctx, p) == 1) {
" interface type and"
" no config",
ifp->name);
- active = 0;
+ active = IF_INACTIVE;
}
/* FALLTHROUGH */
#endif
if ((argc == 0 || argc == -1) &&
ctx->ifac == 0 &&
!if_hasconf(ctx, ifp->name))
- active = 0;
+ active = IF_INACTIVE;
if (active)
logger(ifp->ctx, LOG_WARNING,
"%s: unsupported"
if (ifp->family != ARPHRD_ETHER) {
if ((argc == 0 || argc == -1) &&
ctx->ifac == 0 && !if_hasconf(ctx, ifp->name))
- active = 0;
+ active = IF_INACTIVE;
switch (ifp->family) {
case ARPHRD_IEEE1394:
case ARPHRD_INFINIBAND:
#endif
/* Check active first */
- if (si->active && !ti->active)
+ if (si->active > ti->active)
return -1;
- if (!si->active && ti->active)
+ if (si->active < ti->active)
return 1;
/* Check carrier status next */