Lines Matching refs:im

731 static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im)  in mld_add_delrec()  argument
745 spin_lock_bh(&im->mca_lock); in mld_add_delrec()
747 pmc->idev = im->idev; in mld_add_delrec()
749 pmc->mca_addr = im->mca_addr; in mld_add_delrec()
751 pmc->mca_sfmode = im->mca_sfmode; in mld_add_delrec()
755 pmc->mca_tomb = im->mca_tomb; in mld_add_delrec()
756 pmc->mca_sources = im->mca_sources; in mld_add_delrec()
757 im->mca_tomb = im->mca_sources = NULL; in mld_add_delrec()
761 spin_unlock_bh(&im->mca_lock); in mld_add_delrec()
769 static void mld_del_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im) in mld_del_delrec() argument
773 struct in6_addr *pmca = &im->mca_addr; in mld_del_delrec()
790 spin_lock_bh(&im->mca_lock); in mld_del_delrec()
792 im->idev = pmc->idev; in mld_del_delrec()
793 if (im->mca_sfmode == MCAST_INCLUDE) { in mld_del_delrec()
794 im->mca_tomb = pmc->mca_tomb; in mld_del_delrec()
795 im->mca_sources = pmc->mca_sources; in mld_del_delrec()
796 for (psf = im->mca_sources; psf; psf = psf->sf_next) in mld_del_delrec()
799 im->mca_crcount = idev->mc_qrv; in mld_del_delrec()
804 spin_unlock_bh(&im->mca_lock); in mld_del_delrec()
2677 struct ifmcaddr6 *im = NULL; in igmp6_mc_get_first() local
2688 im = idev->mc_list; in igmp6_mc_get_first()
2689 if (im) { in igmp6_mc_get_first()
2695 return im; in igmp6_mc_get_first()
2698 static struct ifmcaddr6 *igmp6_mc_get_next(struct seq_file *seq, struct ifmcaddr6 *im) in igmp6_mc_get_next() argument
2702 im = im->next; in igmp6_mc_get_next()
2703 while (!im) { in igmp6_mc_get_next()
2716 im = state->idev->mc_list; in igmp6_mc_get_next()
2718 return im; in igmp6_mc_get_next()
2723 struct ifmcaddr6 *im = igmp6_mc_get_first(seq); in igmp6_mc_get_idx() local
2724 if (im) in igmp6_mc_get_idx()
2725 while (pos && (im = igmp6_mc_get_next(seq, im)) != NULL) in igmp6_mc_get_idx()
2727 return pos ? NULL : im; in igmp6_mc_get_idx()
2739 struct ifmcaddr6 *im = igmp6_mc_get_next(seq, v); in igmp6_mc_seq_next() local
2742 return im; in igmp6_mc_seq_next()
2760 struct ifmcaddr6 *im = (struct ifmcaddr6 *)v; in igmp6_mc_seq_show() local
2766 &im->mca_addr, in igmp6_mc_seq_show()
2767 im->mca_users, im->mca_flags, in igmp6_mc_seq_show()
2768 (im->mca_flags&MAF_TIMER_RUNNING) ? in igmp6_mc_seq_show()
2769 jiffies_to_clock_t(im->mca_timer.expires-jiffies) : 0); in igmp6_mc_seq_show()
2784 struct ifmcaddr6 *im; member
2792 struct ifmcaddr6 *im = NULL; in igmp6_mcf_get_first() local
2797 state->im = NULL; in igmp6_mcf_get_first()
2804 im = idev->mc_list; in igmp6_mcf_get_first()
2805 if (likely(im)) { in igmp6_mcf_get_first()
2806 spin_lock_bh(&im->mca_lock); in igmp6_mcf_get_first()
2807 psf = im->mca_sources; in igmp6_mcf_get_first()
2809 state->im = im; in igmp6_mcf_get_first()
2813 spin_unlock_bh(&im->mca_lock); in igmp6_mcf_get_first()
2826 spin_unlock_bh(&state->im->mca_lock); in igmp6_mcf_get_next()
2827 state->im = state->im->next; in igmp6_mcf_get_next()
2828 while (!state->im) { in igmp6_mcf_get_next()
2841 state->im = state->idev->mc_list; in igmp6_mcf_get_next()
2843 if (!state->im) in igmp6_mcf_get_next()
2845 spin_lock_bh(&state->im->mca_lock); in igmp6_mcf_get_next()
2846 psf = state->im->mca_sources; in igmp6_mcf_get_next()
2883 if (likely(state->im)) { in igmp6_mcf_seq_stop()
2884 spin_unlock_bh(&state->im->mca_lock); in igmp6_mcf_seq_stop()
2885 state->im = NULL; in igmp6_mcf_seq_stop()
2906 &state->im->mca_addr, in igmp6_mcf_seq_show()