Lines Matching refs:inm
849 struct in6_multi *inm; in mld_v1_input_query() local
926 IN6_FIRST_MULTI(step, inm); in mld_v1_input_query()
927 while (inm != NULL) { in mld_v1_input_query()
928 IN6M_LOCK(inm); in mld_v1_input_query()
929 if (inm->in6m_ifp == ifp) { in mld_v1_input_query()
930 mtp.cst += mld_v1_update_group(inm, timer); in mld_v1_input_query()
932 IN6M_UNLOCK(inm); in mld_v1_input_query()
933 IN6_NEXT_MULTI(step, inm); in mld_v1_input_query()
943 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_query()
946 if (inm != NULL) { in mld_v1_input_query()
947 IN6M_LOCK(inm); in mld_v1_input_query()
952 mtp.cst = mld_v1_update_group(inm, timer); in mld_v1_input_query()
953 IN6M_UNLOCK(inm); in mld_v1_input_query()
954 IN6M_REMREF(inm); /* from IN6_LOOKUP_MULTI */ in mld_v1_input_query()
981 mld_v1_update_group(struct in6_multi *inm, const int timer) in mld_v1_update_group() argument
983 IN6M_LOCK_ASSERT_HELD(inm); in mld_v1_update_group()
986 ip6_sprintf(&inm->in6m_addr), in mld_v1_update_group()
987 if_name(inm->in6m_ifp), timer)); in mld_v1_update_group()
989 switch (inm->in6m_state) { in mld_v1_update_group()
994 if (inm->in6m_timer != 0 && in mld_v1_update_group()
995 inm->in6m_timer <= timer) { in mld_v1_update_group()
1007 inm->in6m_state = MLD_REPORTING_MEMBER; in mld_v1_update_group()
1008 inm->in6m_timer = MLD_RANDOM_DELAY(timer); in mld_v1_update_group()
1012 inm->in6m_state = MLD_AWAKENING_MEMBER; in mld_v1_update_group()
1018 return inm->in6m_timer; in mld_v1_update_group()
1035 struct in6_multi *inm; in mld_v2_input_query() local
1177 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v2_input_query()
1179 if (inm == NULL) { in mld_v2_input_query()
1183 IN6M_LOCK(inm); in mld_v2_input_query()
1185 if (!ratecheck(&inm->in6m_lastgsrtv, in mld_v2_input_query()
1189 IN6M_UNLOCK(inm); in mld_v2_input_query()
1190 IN6M_REMREF(inm); /* from IN6_LOOKUP_MULTI */ in mld_v2_input_query()
1207 (void) mld_v2_process_group_query(inm, timer, m, off); in mld_v2_input_query()
1208 mtp.cst = inm->in6m_timer; in mld_v2_input_query()
1210 IN6M_UNLOCK(inm); in mld_v2_input_query()
1211 IN6M_REMREF(inm); /* from IN6_LOOKUP_MULTI */ in mld_v2_input_query()
1232 mld_v2_process_group_query(struct in6_multi *inm, int timer, struct mbuf *m0, in mld_v2_process_group_query() argument
1239 IN6M_LOCK_ASSERT_HELD(inm); in mld_v2_process_group_query()
1244 switch (inm->in6m_state) { in mld_v2_process_group_query()
1268 if (inm->in6m_state == MLD_G_QUERY_PENDING_MEMBER || in mld_v2_process_group_query()
1269 inm->in6m_state == MLD_SG_QUERY_PENDING_MEMBER) { in mld_v2_process_group_query()
1270 in6m_clear_recorded(inm); in mld_v2_process_group_query()
1271 timer = min(inm->in6m_timer, timer); in mld_v2_process_group_query()
1273 inm->in6m_state = MLD_G_QUERY_PENDING_MEMBER; in mld_v2_process_group_query()
1274 inm->in6m_timer = MLD_RANDOM_DELAY(timer); in mld_v2_process_group_query()
1282 if (inm->in6m_state == MLD_G_QUERY_PENDING_MEMBER) { in mld_v2_process_group_query()
1283 timer = min(inm->in6m_timer, timer); in mld_v2_process_group_query()
1284 inm->in6m_timer = MLD_RANDOM_DELAY(timer); in mld_v2_process_group_query()
1299 if (inm->in6m_nsrc > 0) { in mld_v2_process_group_query()
1310 retval = in6m_record_source(inm, &addr); in mld_v2_process_group_query()
1330 inm->in6m_state = MLD_SG_QUERY_PENDING_MEMBER; in mld_v2_process_group_query()
1331 inm->in6m_timer = MLD_RANDOM_DELAY(timer); in mld_v2_process_group_query()
1351 struct in6_multi *inm; in mld_v1_input_report() local
1434 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_report()
1437 if (inm != NULL) { in mld_v1_input_report()
1440 IN6M_LOCK(inm); in mld_v1_input_report()
1441 mli = inm->in6m_mli; in mld_v1_input_report()
1451 IN6M_UNLOCK(inm); in mld_v1_input_report()
1452 IN6M_REMREF(inm); /* from IN6_LOOKUP_MULTI */ in mld_v1_input_report()
1457 inm->in6m_timer = 0; in mld_v1_input_report()
1459 switch (inm->in6m_state) { in mld_v1_input_report()
1473 inm->in6m_state = MLD_LAZY_MEMBER; in mld_v1_input_report()
1480 IN6M_UNLOCK(inm); in mld_v1_input_report()
1481 IN6M_REMREF(inm); /* from IN6_LOOKUP_MULTI */ in mld_v1_input_report()
1620 struct in6_multi *inm; in mld_timeout() local
1760 IN6_FIRST_MULTI(step, inm); in mld_timeout()
1761 while (inm != NULL) { in mld_timeout()
1762 IN6M_LOCK(inm); in mld_timeout()
1763 if (inm->in6m_ifp != ifp) { in mld_timeout()
1770 mld_v1_process_group_timer(inm, in mld_timeout()
1775 &scq, inm, uri_sec); in mld_timeout()
1780 IN6M_UNLOCK(inm); in mld_timeout()
1781 IN6_NEXT_MULTI(step, inm); in mld_timeout()
1907 mld_append_relq(struct mld_ifinfo *mli, struct in6_multi *inm) in mld_append_relq() argument
1910 if (inm->in6m_in_nrele) { in mld_append_relq()
1912 __func__, (uint64_t)VM_KERNEL_ADDRPERM(inm), in mld_append_relq()
1917 __func__, (uint64_t)VM_KERNEL_ADDRPERM(inm), in mld_append_relq()
1919 inm->in6m_in_nrele = true; in mld_append_relq()
1920 SLIST_INSERT_HEAD(&mli->mli_relinmhead, inm, in6m_nrele); in mld_append_relq()
1931 struct in6_multi *inm; in mld_flush_relq() local
1941 while ((inm = SLIST_FIRST(&mli->mli_relinmhead)) != NULL) { in mld_flush_relq()
1943 SLIST_INSERT_HEAD(&temp_relinmhead, inm, in6m_nrele); in mld_flush_relq()
1947 while ((inm = SLIST_FIRST(&temp_relinmhead)) != NULL) { in mld_flush_relq()
1951 IN6M_LOCK(inm); in mld_flush_relq()
1953 __func__, (uint64_t)VM_KERNEL_ADDRPERM(inm), in mld_flush_relq()
1954 inm->in6m_ifp != NULL ? if_name(inm->in6m_ifp) : "<null>"); in mld_flush_relq()
1955 VERIFY(inm->in6m_in_nrele == true); in mld_flush_relq()
1956 inm->in6m_in_nrele = false; in mld_flush_relq()
1957 VERIFY(inm->in6m_nrelecnt != 0); in mld_flush_relq()
1958 inm->in6m_nrelecnt--; in mld_flush_relq()
1959 lastref = in6_multi_detach(inm); in mld_flush_relq()
1960 VERIFY(!lastref || (!(inm->in6m_debug & IFD_ATTACHED) && in mld_flush_relq()
1961 inm->in6m_reqcnt == 0)); in mld_flush_relq()
1962 IN6M_UNLOCK(inm); in mld_flush_relq()
1964 IN6M_REMREF(inm); in mld_flush_relq()
1975 MLD_ADD_DETACHED_IN6M(in6m_dthead, inm); in mld_flush_relq()
1987 mld_v1_process_group_timer(struct in6_multi *inm, const int mld_version) in mld_v1_process_group_timer() argument
1993 IN6M_LOCK_ASSERT_HELD(inm); in mld_v1_process_group_timer()
1994 MLI_LOCK_ASSERT_HELD(inm->in6m_mli); in mld_v1_process_group_timer()
1996 if (inm->in6m_timer == 0) { in mld_v1_process_group_timer()
1998 } else if (--inm->in6m_timer == 0) { in mld_v1_process_group_timer()
2006 switch (inm->in6m_state) { in mld_v1_process_group_timer()
2016 inm->in6m_state = MLD_IDLE_MEMBER; in mld_v1_process_group_timer()
2017 (void) mld_v1_transmit_report(inm, in mld_v1_process_group_timer()
2019 IN6M_LOCK_ASSERT_HELD(inm); in mld_v1_process_group_timer()
2020 MLI_LOCK_ASSERT_HELD(inm->in6m_mli); in mld_v1_process_group_timer()
2038 struct in6_multi *inm, const int uri_sec) in mld_v2_process_group_timers() argument
2044 IN6M_LOCK_ASSERT_HELD(inm); in mld_v2_process_group_timers()
2046 VERIFY(mli == inm->in6m_mli); in mld_v2_process_group_timers()
2057 if (inm->in6m_timer == 0) { in mld_v2_process_group_timers()
2059 } else if (--inm->in6m_timer == 0) { in mld_v2_process_group_timers()
2066 if (inm->in6m_sctimer == 0) { in mld_v2_process_group_timers()
2068 } else if (--inm->in6m_sctimer == 0) { in mld_v2_process_group_timers()
2081 switch (inm->in6m_state) { in mld_v2_process_group_timers()
2100 retval = mld_v2_enqueue_group_record(qrq, inm, 0, 1, in mld_v2_process_group_timers()
2101 (inm->in6m_state == MLD_SG_QUERY_PENDING_MEMBER), in mld_v2_process_group_timers()
2105 inm->in6m_state = MLD_REPORTING_MEMBER; in mld_v2_process_group_timers()
2106 in6m_clear_recorded(inm); in mld_v2_process_group_timers()
2118 if (--inm->in6m_scrv > 0) { in mld_v2_process_group_timers()
2119 inm->in6m_sctimer = (uint16_t)uri_sec; in mld_v2_process_group_timers()
2130 (void) mld_v2_merge_state_changes(inm, scq); in mld_v2_process_group_timers()
2132 in6m_commit(inm); in mld_v2_process_group_timers()
2134 ip6_sprintf(&inm->in6m_addr), in mld_v2_process_group_timers()
2135 if_name(inm->in6m_ifp))); in mld_v2_process_group_timers()
2144 if (inm->in6m_state == MLD_LEAVING_MEMBER && in mld_v2_process_group_timers()
2145 inm->in6m_scrv == 0) { in mld_v2_process_group_timers()
2146 inm->in6m_state = MLD_NOT_MEMBER; in mld_v2_process_group_timers()
2156 VERIFY(inm->in6m_nrelecnt != 0); in mld_v2_process_group_timers()
2157 mld_append_relq(mli, inm); in mld_v2_process_group_timers()
2210 struct in6_multi *inm; in mld_v2_cancel_link_timers() local
2233 IN6_FIRST_MULTI(step, inm); in mld_v2_cancel_link_timers()
2234 while (inm != NULL) { in mld_v2_cancel_link_timers()
2235 IN6M_LOCK(inm); in mld_v2_cancel_link_timers()
2236 if (inm->in6m_ifp != ifp) { in mld_v2_cancel_link_timers()
2240 switch (inm->in6m_state) { in mld_v2_cancel_link_timers()
2262 VERIFY(inm->in6m_nrelecnt != 0); in mld_v2_cancel_link_timers()
2264 mld_append_relq(mli, inm); in mld_v2_cancel_link_timers()
2269 in6m_clear_recorded(inm); in mld_v2_cancel_link_timers()
2272 inm->in6m_state = MLD_REPORTING_MEMBER; in mld_v2_cancel_link_timers()
2279 inm->in6m_sctimer = 0; in mld_v2_cancel_link_timers()
2280 inm->in6m_timer = 0; in mld_v2_cancel_link_timers()
2281 IF_DRAIN(&inm->in6m_scq); in mld_v2_cancel_link_timers()
2283 IN6M_UNLOCK(inm); in mld_v2_cancel_link_timers()
2284 IN6_NEXT_MULTI(step, inm); in mld_v2_cancel_link_timers()
2433 mld_change_state(struct in6_multi *inm, struct mld_tparams *mtp, in mld_change_state() argument
2443 IN6M_LOCK_ASSERT_HELD(inm); in mld_change_state()
2444 VERIFY(inm->in6m_mli != NULL); in mld_change_state()
2445 MLI_LOCK_ASSERT_NOTHELD(inm->in6m_mli); in mld_change_state()
2451 VERIFY(inm->in6m_ifma != NULL); in mld_change_state()
2452 ifp = inm->in6m_ifma->ifma_ifp; in mld_change_state()
2456 VERIFY(inm->in6m_ifp == ifp); in mld_change_state()
2466 if (inm->in6m_st[1].iss_fmode != inm->in6m_st[0].iss_fmode) { in mld_change_state()
2468 inm->in6m_st[0].iss_fmode, inm->in6m_st[1].iss_fmode)); in mld_change_state()
2469 if (inm->in6m_st[0].iss_fmode == MCAST_UNDEFINED) { in mld_change_state()
2471 error = mld_initial_join(inm, mli, mtp, delay); in mld_change_state()
2473 } else if (inm->in6m_st[1].iss_fmode == MCAST_UNDEFINED) { in mld_change_state()
2475 mld_final_leave(inm, mli, mtp); in mld_change_state()
2482 error = mld_handle_state_change(inm, mli, mtp); in mld_change_state()
2500 mld_initial_join(struct in6_multi *inm, struct mld_ifinfo *mli, in mld_initial_join() argument
2508 IN6M_LOCK_ASSERT_HELD(inm); in mld_initial_join()
2513 __func__, ip6_sprintf(&inm->in6m_addr), in mld_initial_join()
2514 (uint64_t)VM_KERNEL_ADDRPERM(inm->in6m_ifp), in mld_initial_join()
2515 if_name(inm->in6m_ifp))); in mld_initial_join()
2520 ifp = inm->in6m_ifp; in mld_initial_join()
2539 …(IN6_IS_ADDR_MC_LINKLOCAL(&inm->in6m_addr) || IN6_IS_ADDR_MC_UNICAST_BASED_LINKLOCAL(&inm->in6m_ad… in mld_initial_join()
2540 !mld_is_addr_reported(&inm->in6m_addr)) { in mld_initial_join()
2543 inm->in6m_state = MLD_SILENT_MEMBER; in mld_initial_join()
2544 inm->in6m_timer = 0; in mld_initial_join()
2555 inm->in6m_state == MLD_LEAVING_MEMBER) { in mld_initial_join()
2556 VERIFY(inm->in6m_nrelecnt != 0); in mld_initial_join()
2557 mld_append_relq(mli, inm); in mld_initial_join()
2560 inm->in6m_state = MLD_REPORTING_MEMBER; in mld_initial_join()
2573 inm->in6m_timer = max(delay, odelay); in mld_initial_join()
2576 inm->in6m_state = MLD_IDLE_MEMBER; in mld_initial_join()
2577 error = mld_v1_transmit_report(inm, in mld_initial_join()
2580 IN6M_LOCK_ASSERT_HELD(inm); in mld_initial_join()
2584 inm->in6m_timer = odelay; in mld_initial_join()
2603 ifq = &inm->in6m_scq; in mld_initial_join()
2605 retval = mld_v2_enqueue_group_record(ifq, inm, 1, in mld_initial_join()
2625 inm->in6m_scrv = (uint16_t)mli->mli_rv; in mld_initial_join()
2627 if (inm->in6m_sctimer > 1) { in mld_initial_join()
2628 inm->in6m_sctimer = in mld_initial_join()
2629 MIN(inm->in6m_sctimer, (uint16_t)delay); in mld_initial_join()
2631 inm->in6m_sctimer = (uint16_t)delay; in mld_initial_join()
2634 inm->in6m_sctimer = 1; in mld_initial_join()
2649 in6m_commit(inm); in mld_initial_join()
2651 ip6_sprintf(&inm->in6m_addr), in mld_initial_join()
2652 if_name(inm->in6m_ifp))); in mld_initial_join()
2662 mld_handle_state_change(struct in6_multi *inm, struct mld_ifinfo *mli, in mld_handle_state_change() argument
2668 IN6M_LOCK_ASSERT_HELD(inm); in mld_handle_state_change()
2673 __func__, ip6_sprintf(&inm->in6m_addr), in mld_handle_state_change()
2674 (uint64_t)VM_KERNEL_ADDRPERM(inm->in6m_ifp), in mld_handle_state_change()
2675 if_name(inm->in6m_ifp))); in mld_handle_state_change()
2677 ifp = inm->in6m_ifp; in mld_handle_state_change()
2684 !mld_is_addr_reported(&inm->in6m_addr) || in mld_handle_state_change()
2687 if (!mld_is_addr_reported(&inm->in6m_addr)) { in mld_handle_state_change()
2692 in6m_commit(inm); in mld_handle_state_change()
2694 ip6_sprintf(&inm->in6m_addr), in mld_handle_state_change()
2695 if_name(inm->in6m_ifp))); in mld_handle_state_change()
2699 IF_DRAIN(&inm->in6m_scq); in mld_handle_state_change()
2701 retval = mld_v2_enqueue_group_record(&inm->in6m_scq, inm, 1, 0, 0, in mld_handle_state_change()
2703 mtp->cst = (inm->in6m_scq.ifq_len > 0); in mld_handle_state_change()
2717 inm->in6m_scrv = (uint16_t)mli->mli_rv; in mld_handle_state_change()
2718 inm->in6m_sctimer = 1; in mld_handle_state_change()
2735 mld_final_leave(struct in6_multi *inm, struct mld_ifinfo *mli, in mld_final_leave() argument
2740 IN6M_LOCK_ASSERT_HELD(inm); in mld_final_leave()
2745 __func__, ip6_sprintf(&inm->in6m_addr), in mld_final_leave()
2746 (uint64_t)VM_KERNEL_ADDRPERM(inm->in6m_ifp), in mld_final_leave()
2747 if_name(inm->in6m_ifp))); in mld_final_leave()
2749 switch (inm->in6m_state) { in mld_final_leave()
2763 if (inm->in6m_state == MLD_G_QUERY_PENDING_MEMBER || in mld_final_leave()
2764 inm->in6m_state == MLD_SG_QUERY_PENDING_MEMBER) { in mld_final_leave()
2770 mtp->cst = (mld_v1_transmit_report(inm, in mld_final_leave()
2773 IN6M_LOCK_ASSERT_HELD(inm); in mld_final_leave()
2776 inm->in6m_state = MLD_NOT_MEMBER; in mld_final_leave()
2784 IF_DRAIN(&inm->in6m_scq); in mld_final_leave()
2785 inm->in6m_timer = 0; in mld_final_leave()
2786 inm->in6m_scrv = (uint16_t)mli->mli_rv; in mld_final_leave()
2789 ip6_sprintf(&inm->in6m_addr), in mld_final_leave()
2790 if_name(inm->in6m_ifp), in mld_final_leave()
2791 inm->in6m_scrv)); in mld_final_leave()
2792 if (inm->in6m_scrv == 0) { in mld_final_leave()
2793 inm->in6m_state = MLD_NOT_MEMBER; in mld_final_leave()
2794 inm->in6m_sctimer = 0; in mld_final_leave()
2803 IN6M_ADDREF_LOCKED(inm); in mld_final_leave()
2804 VERIFY(inm->in6m_debug & IFD_ATTACHED); in mld_final_leave()
2805 inm->in6m_reqcnt++; in mld_final_leave()
2806 VERIFY(inm->in6m_reqcnt >= 1); in mld_final_leave()
2807 inm->in6m_nrelecnt++; in mld_final_leave()
2808 VERIFY(inm->in6m_nrelecnt != 0); in mld_final_leave()
2811 &inm->in6m_scq, inm, 1, 0, 0, in mld_final_leave()
2813 mtp->cst = (inm->in6m_scq.ifq_len > 0); in mld_final_leave()
2818 inm->in6m_state = MLD_LEAVING_MEMBER; in mld_final_leave()
2819 inm->in6m_sctimer = 1; in mld_final_leave()
2834 in6m_commit(inm); in mld_final_leave()
2836 ip6_sprintf(&inm->in6m_addr), in mld_final_leave()
2837 if_name(inm->in6m_ifp))); in mld_final_leave()
2838 inm->in6m_st[1].iss_fmode = MCAST_UNDEFINED; in mld_final_leave()
2840 __func__, (uint64_t)VM_KERNEL_ADDRPERM(&inm->in6m_addr), in mld_final_leave()
2841 if_name(inm->in6m_ifp))); in mld_final_leave()
2873 mld_v2_enqueue_group_record(struct ifqueue *ifq, struct in6_multi *inm, in mld_v2_enqueue_group_record() argument
2889 IN6M_LOCK_ASSERT_HELD(inm); in mld_v2_enqueue_group_record()
2890 MLI_LOCK_ASSERT_HELD(inm->in6m_mli); in mld_v2_enqueue_group_record()
2893 ifp = inm->in6m_ifp; in mld_v2_enqueue_group_record()
2904 mode = (uint8_t)inm->in6m_st[1].iss_fmode; in mld_v2_enqueue_group_record()
2911 if (inm->in6m_st[0].iss_asm > 0 && inm->in6m_st[1].iss_asm > 0 && in mld_v2_enqueue_group_record()
2912 inm->in6m_nsrc == 0) { in mld_v2_enqueue_group_record()
2933 if (mode != inm->in6m_st[0].iss_fmode) { in mld_v2_enqueue_group_record()
2978 VERIFY(inm->in6m_st[1].iss_asm == 0); in mld_v2_enqueue_group_record()
2986 return mld_v2_enqueue_filter_change(ifq, inm); in mld_v2_enqueue_group_record()
2991 __func__, ip6_sprintf(&inm->in6m_addr), in mld_v2_enqueue_group_record()
2992 if_name(inm->in6m_ifp))); in mld_v2_enqueue_group_record()
3007 ip6_sprintf(&inm->in6m_addr), in mld_v2_enqueue_group_record()
3008 if_name(inm->in6m_ifp))); in mld_v2_enqueue_group_record()
3060 mr.mr_addr = inm->in6m_addr; in mld_v2_enqueue_group_record()
3098 RB_FOREACH_SAFE(ims, ip6_msource_tree, &inm->in6m_srcs, in mld_v2_enqueue_group_record()
3102 now = im6s_get_mode(inm, ims, 1); in mld_v2_enqueue_group_record()
3202 now = im6s_get_mode(inm, ims, 1); in mld_v2_enqueue_group_record()
3273 mld_v2_enqueue_filter_change(struct ifqueue *ifq, struct in6_multi *inm) in mld_v2_enqueue_filter_change() argument
3287 IN6M_LOCK_ASSERT_HELD(inm); in mld_v2_enqueue_filter_change()
3289 if (inm->in6m_nsrc == 0 || in mld_v2_enqueue_filter_change()
3290 (inm->in6m_st[0].iss_asm > 0 && inm->in6m_st[1].iss_asm > 0)) { in mld_v2_enqueue_filter_change()
3294 ifp = inm->in6m_ifp; /* interface */ in mld_v2_enqueue_filter_change()
3295 mode = (uint8_t)inm->in6m_st[1].iss_fmode; /* filter mode at t1 */ in mld_v2_enqueue_filter_change()
3356 mr.mr_addr = inm->in6m_addr; in mld_v2_enqueue_filter_change()
3392 &inm->in6m_srcs); in mld_v2_enqueue_filter_change()
3397 now = im6s_get_mode(inm, ims, 1); in mld_v2_enqueue_filter_change()
3398 then = im6s_get_mode(inm, ims, 0); in mld_v2_enqueue_filter_change()
3482 mld_v2_merge_state_changes(struct in6_multi *inm, struct ifqueue *ifscq) in mld_v2_merge_state_changes() argument
3492 IN6M_LOCK_ASSERT_HELD(inm); in mld_v2_merge_state_changes()
3502 if (inm->in6m_scrv > 0) { in mld_v2_merge_state_changes()
3506 gq = &inm->in6m_scq; in mld_v2_merge_state_changes()
3510 __func__, (uint64_t)VM_KERNEL_ADDRPERM(inm))); in mld_v2_merge_state_changes()
3537 (inm->in6m_ifp->if_mtu - MLD_MTUSPACE))) { in mld_v2_merge_state_changes()
3605 struct in6_multi *inm; in mld_v2_dispatch_general_query() local
3617 IN6_FIRST_MULTI(step, inm); in mld_v2_dispatch_general_query()
3618 while (inm != NULL) { in mld_v2_dispatch_general_query()
3619 IN6M_LOCK(inm); in mld_v2_dispatch_general_query()
3620 if (inm->in6m_ifp != ifp) { in mld_v2_dispatch_general_query()
3624 switch (inm->in6m_state) { in mld_v2_dispatch_general_query()
3633 inm->in6m_state = MLD_REPORTING_MEMBER; in mld_v2_dispatch_general_query()
3636 inm, 0, 0, 0, 0); in mld_v2_dispatch_general_query()
3647 IN6M_UNLOCK(inm); in mld_v2_dispatch_general_query()
3648 IN6_NEXT_MULTI(step, inm); in mld_v2_dispatch_general_query()