Lines Matching refs:intf

363 	vrrp_intf_t	*intf;  in vrrpd_lookup_if()  local
365 TAILQ_FOREACH(intf, &vrrp_intf_list, vvi_next) { in vrrpd_lookup_if()
366 if (strcmp(ifname, intf->vvi_ifname) == 0 && in vrrpd_lookup_if()
367 af == intf->vvi_af) { in vrrpd_lookup_if()
371 return (intf); in vrrpd_lookup_if()
378 vrrp_intf_t *intf; in vrrpd_create_if() local
389 intf = *intfp; in vrrpd_create_if()
390 TAILQ_INIT(&intf->vvi_iplist); in vrrpd_create_if()
391 (void) strlcpy(intf->vvi_ifname, ifname, sizeof (intf->vvi_ifname)); in vrrpd_create_if()
392 intf->vvi_af = af; in vrrpd_create_if()
393 intf->vvi_sockfd = -1; in vrrpd_create_if()
394 intf->vvi_nvr = 0; in vrrpd_create_if()
395 intf->vvi_eid = -1; in vrrpd_create_if()
396 intf->vvi_pip = NULL; in vrrpd_create_if()
397 intf->vvi_ifindex = ifindex; in vrrpd_create_if()
398 intf->vvi_state = NODE_STATE_NEW; in vrrpd_create_if()
399 intf->vvi_vr_state = VRRP_STATE_INIT; in vrrpd_create_if()
400 TAILQ_INSERT_TAIL(&vrrp_intf_list, intf, vvi_next); in vrrpd_create_if()
411 vrrpd_delete_if(vrrp_intf_t *intf, boolean_t update_vr) in vrrpd_delete_if() argument
416 intf->vvi_ifname, af_str(intf->vvi_af), update_vr ? "" : "no_"); in vrrpd_delete_if()
427 vrrpd_remove_if(intf, _B_FALSE); in vrrpd_delete_if()
433 while (!TAILQ_EMPTY(&intf->vvi_iplist)) { in vrrpd_delete_if()
434 ip = TAILQ_FIRST(&intf->vvi_iplist); in vrrpd_delete_if()
435 vrrpd_delete_ip(intf, ip); in vrrpd_delete_if()
441 TAILQ_REMOVE(&vrrp_intf_list, intf, vvi_next); in vrrpd_delete_if()
442 (void) free(intf); in vrrpd_delete_if()
446 vrrpd_create_ip(vrrp_intf_t *intf, const char *lifname, vrrp_addr_t *addr, in vrrpd_create_ip() argument
453 VRRPADDR2STR(intf->vvi_af, addr, abuf, INET6_ADDRSTRLEN, _B_FALSE); in vrrpd_create_ip()
455 intf->vvi_ifname, lifname, abuf, flags); in vrrpd_create_ip()
471 if (intf->vvi_af == AF_INET6 && in vrrpd_create_ip()
473 TAILQ_INSERT_HEAD(&intf->vvi_iplist, ip, vip_next); in vrrpd_create_ip()
475 TAILQ_INSERT_TAIL(&intf->vvi_iplist, ip, vip_next); in vrrpd_create_ip()
481 vrrpd_delete_ip(vrrp_intf_t *intf, vrrp_ip_t *ip) in vrrpd_delete_ip() argument
484 int af = intf->vvi_af; in vrrpd_delete_ip()
489 intf->vvi_ifname, ip->vip_lifname, abuf, in vrrpd_delete_ip()
490 intf->vvi_pip == ip ? "" : "not "); in vrrpd_delete_ip()
492 if (intf->vvi_pip == ip) in vrrpd_delete_ip()
493 intf->vvi_pip = NULL; in vrrpd_delete_ip()
495 TAILQ_REMOVE(&intf->vvi_iplist, ip, vip_next); in vrrpd_delete_ip()
873 vrrp_intf_t *intf; in vrrpd_cleanup() local
883 intf = TAILQ_FIRST(&vrrp_intf_list); in vrrpd_cleanup()
884 vrrpd_delete_if(intf, _B_FALSE); in vrrpd_cleanup()
1489 vrrp_intf_t *intf, *next_intf; in vrrpd_init_ipcache() local
1496 while ((intf = next_intf) != NULL) { in vrrpd_init_ipcache()
1497 next_intf = TAILQ_NEXT(intf, vvi_next); in vrrpd_init_ipcache()
1498 if (intf->vvi_af != af) in vrrpd_init_ipcache()
1514 if (intf->vvi_state == NODE_STATE_NEW) { in vrrpd_init_ipcache()
1516 "(%d), may be added later", intf->vvi_ifname, in vrrpd_init_ipcache()
1517 intf->vvi_ifindex); in vrrpd_init_ipcache()
1518 vrrpd_delete_if(intf, _B_FALSE); in vrrpd_init_ipcache()
1522 for (ip = TAILQ_FIRST(&intf->vvi_iplist); ip != NULL; in vrrpd_init_ipcache()
1531 "%s(%s/0x%x))", intf->vvi_ifname, in vrrpd_init_ipcache()
1532 intf->vvi_ifindex, ip->vip_lifname, in vrrpd_init_ipcache()
1548 "%s/%d , %s(%s)", intf->vvi_ifname, in vrrpd_init_ipcache()
1549 intf->vvi_ifindex, ip->vip_lifname, abuf); in vrrpd_init_ipcache()
1550 vrrpd_delete_ip(intf, ip); in vrrpd_init_ipcache()
1637 vrrp_intf_t *intf; in vrrpd_add_ipaddr() local
1654 if ((intf = vrrpd_lookup_if(ifname, af)) == NULL) { in vrrpd_add_ipaddr()
1656 err = vrrpd_create_if(ifname, af, ifindex, &intf); in vrrpd_add_ipaddr()
1659 } else if (intf->vvi_ifindex != ifindex) { in vrrpd_add_ipaddr()
1669 "from %d to %d", ifname, intf->vvi_ifindex, ifindex); in vrrpd_add_ipaddr()
1670 if (!IS_PRIMARY_INTF(intf) && !IS_VIRTUAL_INTF(intf)) { in vrrpd_add_ipaddr()
1671 intf->vvi_ifindex = ifindex; in vrrpd_add_ipaddr()
1678 vrrpd_delete_if(intf, _B_TRUE); in vrrpd_add_ipaddr()
1686 TAILQ_FOREACH(ip, &intf->vvi_iplist, vip_next) { in vrrpd_add_ipaddr()
1714 err = vrrpd_create_ip(intf, lifname, addr, flags); in vrrpd_add_ipaddr()
1729 vrrp_intf_t *intf, *nextif; in vrrpd_update_ipcache() local
1739 while ((intf = nextif) != NULL) { in vrrpd_update_ipcache()
1740 nextif = TAILQ_NEXT(intf, vvi_next); in vrrpd_update_ipcache()
1741 if (intf->vvi_af != af) in vrrpd_update_ipcache()
1747 primary_selected = (intf->vvi_pip != NULL); in vrrpd_update_ipcache()
1748 assert(!primary_selected || IS_PRIMARY_INTF(intf)); in vrrpd_update_ipcache()
1753 for (ip = TAILQ_FIRST(&intf->vvi_iplist); ip != NULL; in vrrpd_update_ipcache()
1763 "is removed over %s", abuf, intf->vvi_ifname); in vrrpd_update_ipcache()
1764 vrrpd_delete_ip(intf, ip); in vrrpd_update_ipcache()
1770 if (TAILQ_EMPTY(&intf->vvi_iplist)) { in vrrpd_update_ipcache()
1772 "no IP left over %s", intf->vvi_ifname); in vrrpd_update_ipcache()
1773 vrrpd_delete_if(intf, _B_TRUE); in vrrpd_update_ipcache()
1781 if (IS_PRIMARY_INTF(intf)) { in vrrpd_update_ipcache()
1782 vrrpd_reselect_primary(intf); in vrrpd_update_ipcache()
1783 primary_now_selected = (intf->vvi_pip != NULL); in vrrpd_update_ipcache()
1791 intf->vvi_ifname); in vrrpd_update_ipcache()
1792 vrrpd_remove_if(intf, _B_TRUE); in vrrpd_update_ipcache()
1816 for (ip = TAILQ_FIRST(&intf->vvi_iplist); ip != NULL; in vrrpd_update_ipcache()
1823 "IP %s over %s%s", abuf, intf->vvi_ifname, in vrrpd_update_ipcache()
1826 if (IS_VIRTUAL_INTF(intf)) { in vrrpd_update_ipcache()
1835 if (vrrpd_virtualip_updateone(intf, ip, in vrrpd_update_ipcache()
1841 intf->vvi_ifname); in vrrpd_update_ipcache()
1842 vrrpd_delete_ip(intf, ip); in vrrpd_update_ipcache()
1853 if (TAILQ_EMPTY(&intf->vvi_iplist)) { in vrrpd_update_ipcache()
1855 "no IP left over %s", intf->vvi_ifname); in vrrpd_update_ipcache()
1856 vrrpd_delete_if(intf, _B_TRUE); in vrrpd_update_ipcache()
1860 if (intf->vvi_state == NODE_STATE_NEW) { in vrrpd_update_ipcache()
1869 intf->vvi_state = NODE_STATE_NONE; in vrrpd_update_ipcache()
1885 vrrpd_reselect_primary(vrrp_intf_t *intf) in vrrpd_reselect_primary() argument
1890 assert(IS_PRIMARY_INTF(intf)); in vrrpd_reselect_primary()
1895 if (((ip = intf->vvi_pip) != NULL) && (QUALIFY_PRIMARY_ADDR(intf, ip))) in vrrpd_reselect_primary()
1900 VRRPADDR2STR(intf->vvi_af, &ip->vip_addr, abuf, in vrrpd_reselect_primary()
1903 "is no longer qualified", intf->vvi_ifname, abuf); in vrrpd_reselect_primary()
1906 ip = vrrpd_select_primary(intf); in vrrpd_reselect_primary()
1907 intf->vvi_pip = ip; in vrrpd_reselect_primary()
1911 VRRPADDR2STR(intf->vvi_af, &ip->vip_addr, abuf, in vrrpd_reselect_primary()
1914 "is selected", intf->vvi_ifname, abuf); in vrrpd_reselect_primary()
1978 vrrpd_remove_if(vrrp_intf_t *intf, boolean_t primary_addr_gone) in vrrpd_remove_if() argument
1982 vrrp_log(VRRP_DBG0, "vrrpd_remove_if(%s): %s", intf->vvi_ifname, in vrrpd_remove_if()
1987 vrrpd_disable_vr(vr, intf, primary_addr_gone); in vrrpd_remove_if()
2488 vrrpd_disable_vr(vrrp_vr_t *vr, vrrp_intf_t *intf, boolean_t primary_addr_gone) in vrrpd_disable_vr() argument
2491 intf == NULL ? "requested by admin" : intf->vvi_ifname, in vrrpd_disable_vr()
2492 intf == NULL ? "" : (primary_addr_gone ? "primary address gone" : in vrrpd_disable_vr()
2500 if (!primary_addr_gone && (intf != NULL) && (intf != vr->vvr_pif) && in vrrpd_disable_vr()
2501 (intf != vr->vvr_vif)) { in vrrpd_disable_vr()
2510 if (primary_addr_gone && intf != vr->vvr_pif) in vrrpd_disable_vr()
2522 if (intf == NULL) in vrrpd_disable_vr()
2539 } else if (intf == NULL) { in vrrpd_disable_vr()
2548 } else if (intf == vr->vvr_pif) { in vrrpd_disable_vr()
2550 "%s removed", vr->vvr_conf.vvc_name, intf->vvi_ifname); in vrrpd_disable_vr()
2553 } else if (intf == vr->vvr_vif) { in vrrpd_disable_vr()
2555 " removed", vr->vvr_conf.vvc_name, intf->vvi_ifname); in vrrpd_disable_vr()