Lines Matching refs:pif

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