Lines Matching refs:ipif

600 ipmp_illgrp_add_ipif(ipmp_illgrp_t *illg, ipif_t *ipif)  in ipmp_illgrp_add_ipif()  argument
605 ASSERT(IAM_WRITER_IPIF(ipif)); in ipmp_illgrp_add_ipif()
606 ASSERT(ipmp_ipif_is_dataaddr(ipif)); in ipmp_illgrp_add_ipif()
612 if (!ipif->ipif_isv6) { in ipmp_illgrp_add_ipif()
613 entp = ipmp_illgrp_lookup_arpent(illg, &ipif->ipif_lcl_addr); in ipmp_illgrp_add_ipif()
619 ipmp_ill_bind_ipif(minill, ipif, Res_act_none); in ipmp_illgrp_add_ipif()
621 return (ipif->ipif_bound ? ipif->ipif_bound_ill : NULL); in ipmp_illgrp_add_ipif()
630 ipmp_illgrp_del_ipif(ipmp_illgrp_t *illg, ipif_t *ipif) in ipmp_illgrp_del_ipif() argument
632 ill_t *maxill, *boundill = ipif->ipif_bound_ill; in ipmp_illgrp_del_ipif()
634 ASSERT(IAM_WRITER_IPIF(ipif)); in ipmp_illgrp_del_ipif()
637 (void) ipmp_ill_unbind_ipif(boundill, ipif, B_FALSE); in ipmp_illgrp_del_ipif()
641 ipif = ipmp_ill_unbind_ipif(maxill, NULL, B_TRUE); in ipmp_illgrp_del_ipif()
642 ipmp_ill_bind_ipif(boundill, ipif, Res_act_rebind); in ipmp_illgrp_del_ipif()
1107 ipif_t *ipif; in ipmp_ill_join_illgrp() local
1151 ipif = ill->ill_ipif; in ipmp_ill_join_illgrp()
1152 for (; ipif != NULL; ipif = ipif->ipif_next) { in ipmp_ill_join_illgrp()
1153 reset_mrt_vif_ipif(ipif); in ipmp_ill_join_illgrp()
1226 ipif_t *ipif; in ipmp_ill_leave_illgrp() local
1252 for (ipif = ill->ill_ipif; ipif != NULL; ipif = ipif->ipif_next) in ipmp_ill_leave_illgrp()
1253 if (ipif->ipif_flags & IPIF_UP) in ipmp_ill_leave_illgrp()
1254 ipif_multicast_down(ipif); in ipmp_ill_leave_illgrp()
1280 for (ipif = ill->ill_ipif; ipif != NULL; ipif = ipif->ipif_next) in ipmp_ill_leave_illgrp()
1281 if (ipif->ipif_flags & IPIF_UP) in ipmp_ill_leave_illgrp()
1282 ipif_multicast_up(ipif); in ipmp_ill_leave_illgrp()
1425 ipif_t *ipif; in ipmp_ill_activate() local
1460 ipif = illg->ig_ipmp_ill->ill_ipif; in ipmp_ill_activate()
1461 for (; ipif != NULL; ipif = ipif->ipif_next) in ipmp_ill_activate()
1462 if (ipmp_ipif_is_up_dataaddr(ipif)) in ipmp_ill_activate()
1463 ipmp_ill_bind_ipif(ill, ipif, Res_act_initial); in ipmp_ill_activate()
1475 ipif = ipmp_ill_unbind_ipif(maxill, NULL, B_TRUE); in ipmp_ill_activate()
1476 ipmp_ill_bind_ipif(ill, ipif, Res_act_rebind); in ipmp_ill_activate()
1517 ipif_t *ipif, *ubnextipif, *ubheadipif = NULL; in ipmp_ill_deactivate() local
1558 while ((ipif = ipmp_ill_unbind_ipif(ill, NULL, B_TRUE)) != NULL) { in ipmp_ill_deactivate()
1559 ipif->ipif_bound_next = ubheadipif; in ipmp_ill_deactivate()
1560 ubheadipif = ipif; in ipmp_ill_deactivate()
1575 for (ipif = ubheadipif; ipif != NULL; ipif = ubnextipif) { in ipmp_ill_deactivate()
1576 ubnextipif = ipif->ipif_bound_next; in ipmp_ill_deactivate()
1577 ipif->ipif_bound_next = NULL; in ipmp_ill_deactivate()
1580 ipmp_ill_bind_ipif(minill, ipif, Res_act_rebind); in ipmp_ill_deactivate()
1610 ipif_t *ipif; in ipmp_ill_rtsaddrmsg() local
1633 for (ipif = ill->ill_ipif; ipif != NULL; ipif = ipif->ipif_next) in ipmp_ill_rtsaddrmsg()
1634 if (ipif->ipif_flags & IPIF_UP) in ipmp_ill_rtsaddrmsg()
1635 ip_rts_newaddrmsg(cmd, 0, ipif, RTSQ_NORMAL); in ipmp_ill_rtsaddrmsg()
1648 ipmp_ill_bind_ipif(ill_t *ill, ipif_t *ipif, enum ip_resolver_action act) in ipmp_ill_bind_ipif() argument
1653 ASSERT(IAM_WRITER_ILL(ill) && IAM_WRITER_IPIF(ipif)); in ipmp_ill_bind_ipif()
1654 ASSERT(IS_UNDER_IPMP(ill) && IS_IPMP(ipif->ipif_ill)); in ipmp_ill_bind_ipif()
1655 ASSERT(act == Res_act_none || ipmp_ipif_is_up_dataaddr(ipif)); in ipmp_ill_bind_ipif()
1656 ASSERT(ipif->ipif_bound_ill == NULL); in ipmp_ill_bind_ipif()
1657 ASSERT(ipif->ipif_bound_next == NULL); in ipmp_ill_bind_ipif()
1659 ipif->ipif_bound_next = ill->ill_bound_ipif; in ipmp_ill_bind_ipif()
1660 ill->ill_bound_ipif = ipif; in ipmp_ill_bind_ipif()
1663 ipif->ipif_bound_ill = ill; in ipmp_ill_bind_ipif()
1672 VERIFY(ipif_resolver_up(ipif, act) == 0); in ipmp_ill_bind_ipif()
1673 err = ipif_ndp_up(ipif, act == Res_act_initial); in ipmp_ill_bind_ipif()
1675 err = ipif_resolver_up(ipif, act); in ipmp_ill_bind_ipif()
1687 ipif->ipif_bound = (err == 0); in ipmp_ill_bind_ipif()
1697 ipmp_ill_unbind_ipif(ill_t *ill, ipif_t *ipif, boolean_t notifyres) in ipmp_ill_unbind_ipif() argument
1708 if (ipif == NULL) { in ipmp_ill_unbind_ipif()
1709 if ((ipif = ill->ill_bound_ipif) == NULL) { in ipmp_ill_unbind_ipif()
1715 ASSERT(IAM_WRITER_IPIF(ipif)); in ipmp_ill_unbind_ipif()
1716 ASSERT(IS_IPMP(ipif->ipif_ill)); in ipmp_ill_unbind_ipif()
1717 ASSERT(ipif->ipif_bound_ill == ill); in ipmp_ill_unbind_ipif()
1724 ipif->ipif_bound_ill = NULL; in ipmp_ill_unbind_ipif()
1728 if (ill->ill_bound_ipif == ipif) { in ipmp_ill_unbind_ipif()
1729 ill->ill_bound_ipif = ipif->ipif_bound_next; in ipmp_ill_unbind_ipif()
1732 while (previpif->ipif_bound_next != ipif) in ipmp_ill_unbind_ipif()
1735 previpif->ipif_bound_next = ipif->ipif_bound_next; in ipmp_ill_unbind_ipif()
1737 ipif->ipif_bound_next = NULL; in ipmp_ill_unbind_ipif()
1742 if (notifyres && ipif->ipif_bound) { in ipmp_ill_unbind_ipif()
1744 ipif_ndp_down(ipif); in ipmp_ill_unbind_ipif()
1746 (void) ipif_arp_down(ipif); in ipmp_ill_unbind_ipif()
1748 ipif->ipif_bound = B_FALSE; in ipmp_ill_unbind_ipif()
1750 return (ipif); in ipmp_ill_unbind_ipif()
2085 ipmp_ipif_hold_bound_ill(const ipif_t *ipif) in ipmp_ipif_hold_bound_ill() argument
2088 ip_stack_t *ipst = ipif->ipif_ill->ill_ipst; in ipmp_ipif_hold_bound_ill()
2090 ASSERT(IS_IPMP(ipif->ipif_ill)); in ipmp_ipif_hold_bound_ill()
2093 boundill = ipif->ipif_bound_ill; in ipmp_ipif_hold_bound_ill()
2107 ipmp_ipif_bound_ill(const ipif_t *ipif) in ipmp_ipif_bound_ill() argument
2109 ASSERT(IAM_WRITER_ILL(ipif->ipif_ill)); in ipmp_ipif_bound_ill()
2110 ASSERT(IS_IPMP(ipif->ipif_ill)); in ipmp_ipif_bound_ill()
2112 return (ipif->ipif_bound_ill); in ipmp_ipif_bound_ill()
2119 ipmp_ipif_is_stubaddr(const ipif_t *ipif) in ipmp_ipif_is_stubaddr() argument
2121 if (ipif->ipif_flags & IPIF_UP) in ipmp_ipif_is_stubaddr()
2123 if (ipif->ipif_ill->ill_isv6) in ipmp_ipif_is_stubaddr()
2124 return (IN6_IS_ADDR_UNSPECIFIED(&ipif->ipif_v6lcl_addr)); in ipmp_ipif_is_stubaddr()
2126 return (ipif->ipif_lcl_addr == INADDR_ANY); in ipmp_ipif_is_stubaddr()
2133 ipmp_ipif_is_dataaddr(const ipif_t *ipif) in ipmp_ipif_is_dataaddr() argument
2135 if (ipif->ipif_flags & IPIF_NOFAILOVER) in ipmp_ipif_is_dataaddr()
2137 if (ipif->ipif_ill->ill_isv6) in ipmp_ipif_is_dataaddr()
2138 return (!IN6_IS_ADDR_UNSPECIFIED(&ipif->ipif_v6lcl_addr)); in ipmp_ipif_is_dataaddr()
2140 return (ipif->ipif_lcl_addr != INADDR_ANY); in ipmp_ipif_is_dataaddr()
2147 ipmp_ipif_is_up_dataaddr(const ipif_t *ipif) in ipmp_ipif_is_up_dataaddr() argument
2149 return (ipmp_ipif_is_dataaddr(ipif) && (ipif->ipif_flags & IPIF_UP)); in ipmp_ipif_is_up_dataaddr()