Lines Matching refs:pif

1924 vrrpd_select_primary(vrrp_intf_t *pif)  in vrrpd_select_primary()  argument
1929 vrrp_log(VRRP_DBG1, "vrrpd_select_primary(%s)", pif->vvi_ifname); in vrrpd_select_primary()
1931 TAILQ_FOREACH(pip, &pif->vvi_iplist, vip_next) { in vrrpd_select_primary()
1935 VRRPADDR2STR(pif->vvi_af, &pip->vip_addr, abuf, in vrrpd_select_primary()
1938 pif->vvi_ifname, abuf, in vrrpd_select_primary()
1948 if (pip == NULL || !QUALIFY_PRIMARY_ADDR(pif, pip)) { in vrrpd_select_primary()
1950 pif->vvi_ifname, af_str(pif->vvi_af)); in vrrpd_select_primary()
3347 vrrpd_process_vrrp(vrrp_intf_t *pif, vrrp_pkt_t *vp, size_t len, in vrrpd_process_vrrp() argument
3356 VRRPADDR2STR(pif->vvi_af, from, peer, INET6_ADDRSTRLEN, _B_FALSE); in vrrpd_process_vrrp()
3357 vrrp_log(VRRP_DBG0, "vrrpd_process_vrrp(%s) from %s", pif->vvi_ifname, in vrrpd_process_vrrp()
3372 "version %d", pif->vvi_ifname, vers_type); in vrrpd_process_vrrp()
3378 pif->vvi_ifname); in vrrpd_process_vrrp()
3383 vp->vp_ipnum * (pif->vvi_af == AF_INET ? sizeof (struct in_addr) : in vrrpd_process_vrrp()
3386 " %d", pif->vvi_ifname, vp->vp_ipnum); in vrrpd_process_vrrp()
3398 if (pif->vvi_af == AF_INET) { in vrrpd_process_vrrp()
3408 "checksum: expected/real(0x%x/0x%x)", pif->vvi_ifname, in vrrpd_process_vrrp()
3413 if ((vr = vrrpd_lookup_vr_by_vrid(pif->vvi_ifname, vp->vp_vrid, in vrrpd_process_vrrp()
3414 pif->vvi_af)) != NULL && vers_type == VRRP_PKT_ADVERT) { in vrrpd_process_vrrp()
3418 "not configured", pif->vvi_ifname, vp->vp_vrid, in vrrpd_process_vrrp()
3419 af_str(pif->vvi_af)); in vrrpd_process_vrrp()
3428 vrrpd_process_adv_v4(vrrp_intf_t *pif, struct msghdr *msgp, size_t len) in vrrpd_process_adv_v4() argument
3434 pif->vvi_ifname, len); in vrrpd_process_adv_v4()
3441 "%d", pif->vvi_ifname, len); in vrrpd_process_adv_v4()
3451 "destination %s", pif->vvi_ifname, in vrrpd_process_adv_v4()
3452 inet_ntop(pif->vvi_af, &(ip->ip_dst), abuf, sizeof (abuf))); in vrrpd_process_adv_v4()
3458 "ttl %d", pif->vvi_ifname, ip->ip_ttl); in vrrpd_process_adv_v4()
3465 return (vrrpd_process_vrrp(pif, in vrrpd_process_adv_v4()
3475 vrrpd_process_adv_v6(vrrp_intf_t *pif, struct msghdr *msgp, size_t len) in vrrpd_process_adv_v6() argument
3484 pif->vvi_ifname, len); in vrrpd_process_adv_v6()
3489 "%d", pif->vvi_ifname, len); in vrrpd_process_adv_v6()
3507 "ttl %d", pif->vvi_ifname, ttl); in vrrpd_process_adv_v6()
3518 "destination %s", pif->vvi_ifname, in vrrpd_process_adv_v6()
3519 inet_ntop(pif->vvi_af, &pktinfop->ipi6_addr, abuf, in vrrpd_process_adv_v6()
3525 return (vrrpd_process_vrrp(pif, msgp->msg_iov->iov_base, len, in vrrpd_process_adv_v6()
3538 vrrp_intf_t *pif = arg; in vrrpd_sock_handler() local
3539 int af = pif->vvi_af; in vrrpd_sock_handler()
3543 vrrp_log(VRRP_DBG1, "vrrpd_sock_handler(%s)", pif->vvi_ifname); in vrrpd_sock_handler()
3557 "failed: %s", pif->vvi_ifname, strerror(errno)); in vrrpd_sock_handler()
3566 "big enough", pif->vvi_ifname); in vrrpd_sock_handler()
3571 (void) vrrpd_process_adv_v4(pif, &msg, len); in vrrpd_sock_handler()
3573 (void) vrrpd_process_adv_v6(pif, &msg, len); in vrrpd_sock_handler()
3583 vrrp_intf_t *pif; /* Physical interface used to recv packets */ in vrrpd_init_rxsock() local
3595 if ((pif = vr->vvr_pif) != NULL) { in vrrpd_init_rxsock()
3597 vr->vvr_conf.vvc_name, pif->vvi_ifname); in vrrpd_init_rxsock()
3598 assert(pif->vvi_sockfd != -1); in vrrpd_init_rxsock()
3607 pif = vrrpd_lookup_if(vr->vvr_conf.vvc_link, af); in vrrpd_init_rxsock()
3608 if (pif == NULL) { in vrrpd_init_rxsock()
3616 if (pif->vvi_nvr++ == 0) { in vrrpd_init_rxsock()
3617 assert(pif->vvi_sockfd < 0); in vrrpd_init_rxsock()
3618 pif->vvi_sockfd = socket(af, SOCK_RAW, IPPROTO_VRRP); in vrrpd_init_rxsock()
3619 if (pif->vvi_sockfd < 0) { in vrrpd_init_rxsock()
3638 greq.gr_interface = pif->vvi_ifindex; in vrrpd_init_rxsock()
3641 if (setsockopt(pif->vvi_sockfd, proto, MCAST_JOIN_GROUP, &greq, in vrrpd_init_rxsock()
3645 pif->vvi_ifindex, strerror(errno)); in vrrpd_init_rxsock()
3651 pif->vvi_ifindex); in vrrpd_init_rxsock()
3663 if (setsockopt(pif->vvi_sockfd, proto, IPV6_RECVPKTINFO, in vrrpd_init_rxsock()
3675 if (setsockopt(pif->vvi_sockfd, proto, in vrrpd_init_rxsock()
3685 if ((pif->vvi_eid = iu_register_event(vrrpd_eh, in vrrpd_init_rxsock()
3686 pif->vvi_sockfd, POLLIN, vrrpd_sock_handler, pif)) == -1) { in vrrpd_init_rxsock()
3695 "done %d", vr->vvr_conf.vvc_name, pif->vvi_ifname, in vrrpd_init_rxsock()
3696 pif->vvi_nvr); in vrrpd_init_rxsock()
3697 assert(IS_PRIMARY_INTF(pif)); in vrrpd_init_rxsock()
3701 vr->vvr_pif = pif; in vrrpd_init_rxsock()
3717 vrrp_intf_t *pif = vr->vvr_pif; in vrrpd_fini_rxsock() local
3721 if (pif == NULL) in vrrpd_fini_rxsock()
3724 if (--pif->vvi_nvr == 0) { in vrrpd_fini_rxsock()
3726 vr->vvr_conf.vvc_name, pif->vvi_ifname); in vrrpd_fini_rxsock()
3727 (void) iu_unregister_event(vrrpd_eh, pif->vvi_eid, NULL); in vrrpd_fini_rxsock()
3728 (void) close(pif->vvi_sockfd); in vrrpd_fini_rxsock()
3729 pif->vvi_pip = NULL; in vrrpd_fini_rxsock()
3730 pif->vvi_sockfd = -1; in vrrpd_fini_rxsock()
3731 pif->vvi_eid = -1; in vrrpd_fini_rxsock()
3734 vr->vvr_conf.vvc_name, pif->vvi_ifname, pif->vvi_nvr); in vrrpd_fini_rxsock()