Lines Matching defs:intf

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