Lines Matching refs:ifp
229 make_env(const struct interface *ifp, const char *reason, char ***argv) in make_env() argument
236 const struct if_options *ifo = ifp->options; in make_env()
251 state = D_STATE(ifp); in make_env()
252 istate = IPV4LL_CSTATE(ifp); in make_env()
256 d6_state = D6_CSTATE(ifp); in make_env()
263 else if (ipv6nd_hasra(ifp)) in make_env()
297 if (ifp->ctx->options & DHCPCD_DUMPLEASE) in make_env()
307 e = strlen("interface") + strlen(ifp->name) + 2; in make_env()
309 snprintf(env[0], e, "interface=%s", ifp->name); in make_env()
313 if (ifp->ctx->options & DHCPCD_DUMPLEASE) in make_env()
320 ifp->carrier == LINK_UNKNOWN ? "unknown" : in make_env()
321 ifp->carrier == LINK_UP ? "up" : "down"); in make_env()
323 snprintf(env[4], e, "ifmetric=%d", ifp->metric); in make_env()
325 snprintf(env[5], e, "ifwireless=%d", ifp->wireless); in make_env()
327 snprintf(env[6], e, "ifflags=%u", ifp->flags); in make_env()
329 snprintf(env[7], e, "ifmtu=%d", if_getmtu(ifp)); in make_env()
331 TAILQ_FOREACH(ifp2, ifp->ctx->ifaces, next) { in make_env()
339 TAILQ_FOREACH(ifp2, ifp->ctx->ifaces, next) { in make_env()
363 || (ipv4ll && IPV4LL_STATE_RUNNING(ifp)) in make_env()
367 || (ra && ipv6nd_hasra(ifp)) in make_env()
379 if ((af = dhcpcd_ifafwaiting(ifp)) != AF_MAX) { in make_env()
384 if ((af = dhcpcd_afwaiting(ifp->ctx)) != AF_MAX) { in make_env()
385 TAILQ_FOREACH(ifp2, ifp->ctx->ifaces, next) { in make_env()
400 if (*ifp->profile) { in make_env()
401 e = strlen("profile=") + strlen(ifp->profile) + 1; in make_env()
403 snprintf(env[elen++], e, "profile=%s", ifp->profile); in make_env()
405 if (ifp->wireless) { in make_env()
412 (const uint8_t *)ifp->ssid, ifp->ssid_len); in make_env()
418 (const uint8_t *)ifp->ssid, ifp->ssid_len); in make_env()
424 n = dhcp_env(NULL, NULL, state->old, ifp); in make_env()
433 n = dhcp_env(env + elen, "old", state->old, ifp); in make_env()
438 if (append_config(ifp->ctx, &env, &elen, "old", in make_env()
445 n = dhcp6_env(NULL, NULL, ifp, in make_env()
453 n = dhcp6_env(env + elen, "old", ifp, in make_env()
465 n = ipv4ll_env(NULL, NULL, ifp); in make_env()
473 istate->down ? "old" : "new", ifp)) == -1) in make_env()
479 n = dhcp_env(NULL, NULL, state->new, ifp); in make_env()
487 state->new, ifp); in make_env()
492 if (append_config(ifp->ctx, &env, &elen, "new", in make_env()
498 if (dhcp6 && D6_STATE_RUNNING(ifp)) { in make_env()
499 n = dhcp6_env(NULL, NULL, ifp, in make_env()
507 n = dhcp6_env(env + elen, "new", ifp, in make_env()
515 n = ipv6nd_env(NULL, NULL, ifp); in make_env()
522 n = ipv6nd_env(env + elen, NULL, ifp); in make_env()
554 logger(ifp->ctx, LOG_ERR, "%s: %m", __func__); in make_env()
589 send_interface(struct fd_list *fd, const struct interface *ifp) in send_interface() argument
600 switch (ifp->carrier) { in send_interface()
611 if (send_interface1(fd, ifp, reason) == -1) in send_interface()
614 if (D_STATE_RUNNING(ifp)) { in send_interface()
615 d = D_CSTATE(ifp); in send_interface()
616 if (send_interface1(fd, ifp, d->reason) == -1) in send_interface()
619 if (IPV4LL_STATE_RUNNING(ifp)) { in send_interface()
620 if (send_interface1(fd, ifp, "IPV4LL") == -1) in send_interface()
626 if (RS_STATE_RUNNING(ifp)) { in send_interface()
627 if (send_interface1(fd, ifp, "ROUTERADVERT") == -1) in send_interface()
630 if (D6_STATE_RUNNING(ifp)) { in send_interface()
631 d6 = D6_CSTATE(ifp); in send_interface()
632 if (send_interface1(fd, ifp, d6->reason) == -1) in send_interface()
641 script_runreason(const struct interface *ifp, const char *reason) in script_runreason() argument
651 if (ifp->options->script && in script_runreason()
652 (ifp->options->script[0] == '\0' || in script_runreason()
653 strcmp(ifp->options->script, "/dev/null") == 0) && in script_runreason()
654 TAILQ_FIRST(&ifp->ctx->control_fds) == NULL) in script_runreason()
658 elen = (size_t)make_env(ifp, reason, &env); in script_runreason()
660 logger(ifp->ctx, LOG_ERR, "%s: make_env: %m", ifp->name); in script_runreason()
664 if (ifp->options->script && in script_runreason()
665 (ifp->options->script[0] == '\0' || in script_runreason()
666 strcmp(ifp->options->script, "/dev/null") == 0)) in script_runreason()
669 argv[0] = ifp->options->script ? ifp->options->script : UNCONST(SCRIPT); in script_runreason()
671 logger(ifp->ctx, LOG_DEBUG, "%s: executing `%s' %s", in script_runreason()
672 ifp->name, argv[0], reason); in script_runreason()
710 pid = exec_script(ifp->ctx, argv, env); in script_runreason()
712 logger(ifp->ctx, LOG_ERR, "%s: %s: %m", __func__, argv[0]); in script_runreason()
717 logger(ifp->ctx, LOG_ERR, "waitpid: %m"); in script_runreason()
724 logger(ifp->ctx, LOG_ERR, in script_runreason()
728 logger(ifp->ctx, LOG_ERR, "%s: %s: %s", in script_runreason()
736 TAILQ_FOREACH(fd, &ifp->ctx->control_fds, next) { in script_runreason()
743 logger(ifp->ctx, LOG_ERR, "%s: arraytostr: %m", in script_runreason()
744 ifp->name); in script_runreason()
749 logger(ifp->ctx, LOG_ERR, in script_runreason()