Lines Matching refs:msfr
1736 struct __msfilterreq64 msfr = {}, msfr64; in inp_get_source_filters() local
1765 memcpy(&msfr, &msfr64, sizeof(msfr64)); in inp_get_source_filters()
1774 memcpy(&msfr, &msfr32, sizeof(msfr32)); in inp_get_source_filters()
1778 if (msfr.msfr_ifindex == 0 || !IF_INDEX_IN_RANGE(msfr.msfr_ifindex)) { in inp_get_source_filters()
1783 ifp = ifindex2ifnet[msfr.msfr_ifindex]; in inp_get_source_filters()
1790 if ((size_t) msfr.msfr_nsrcs > in inp_get_source_filters()
1792 msfr.msfr_nsrcs = UINT32_MAX / sizeof(struct sockaddr_storage); in inp_get_source_filters()
1795 if (msfr.msfr_nsrcs > in_mcast_maxsocksrc) { in inp_get_source_filters()
1796 msfr.msfr_nsrcs = in_mcast_maxsocksrc; in inp_get_source_filters()
1803 gsa = SIN(&msfr.msfr_group); in inp_get_source_filters()
1819 msfr.msfr_fmode = imf->imf_st[1]; in inp_get_source_filters()
1836 if (tmp_ptr != USER_ADDR_NULL && msfr.msfr_nsrcs > 0) { in inp_get_source_filters()
1837 tss = kalloc_data((size_t)msfr.msfr_nsrcs * sizeof(*tss), in inp_get_source_filters()
1849 nsrcs = msfr.msfr_nsrcs; in inp_get_source_filters()
1874 kfree_data(tss, (size_t)msfr.msfr_nsrcs * sizeof(*tss)); in inp_get_source_filters()
1880 msfr.msfr_nsrcs = ncsrcs; in inp_get_source_filters()
1882 msfr64.msfr_ifindex = msfr.msfr_ifindex; in inp_get_source_filters()
1883 msfr64.msfr_fmode = msfr.msfr_fmode; in inp_get_source_filters()
1884 msfr64.msfr_nsrcs = msfr.msfr_nsrcs; in inp_get_source_filters()
1885 memcpy(&msfr64.msfr_group, &msfr.msfr_group, in inp_get_source_filters()
1890 msfr32.msfr_ifindex = msfr.msfr_ifindex; in inp_get_source_filters()
1891 msfr32.msfr_fmode = msfr.msfr_fmode; in inp_get_source_filters()
1892 msfr32.msfr_nsrcs = msfr.msfr_nsrcs; in inp_get_source_filters()
1893 memcpy(&msfr32.msfr_group, &msfr.msfr_group, in inp_get_source_filters()
2777 struct __msfilterreq64 msfr = {}, msfr64; in inp_set_source_filters() local
2801 memcpy(&msfr, &msfr64, sizeof(msfr64)); in inp_set_source_filters()
2810 memcpy(&msfr, &msfr32, sizeof(msfr32)); in inp_set_source_filters()
2813 if ((size_t) msfr.msfr_nsrcs > in inp_set_source_filters()
2815 msfr.msfr_nsrcs = UINT32_MAX / sizeof(struct sockaddr_storage); in inp_set_source_filters()
2818 if (msfr.msfr_nsrcs > in_mcast_maxsocksrc) { in inp_set_source_filters()
2822 if ((msfr.msfr_fmode != MCAST_EXCLUDE && in inp_set_source_filters()
2823 msfr.msfr_fmode != MCAST_INCLUDE)) { in inp_set_source_filters()
2827 if (msfr.msfr_group.ss_family != AF_INET || in inp_set_source_filters()
2828 msfr.msfr_group.ss_len != sizeof(struct sockaddr_in)) { in inp_set_source_filters()
2832 gsa = SIN(&msfr.msfr_group); in inp_set_source_filters()
2840 if (msfr.msfr_ifindex == 0 || !IF_INDEX_IN_RANGE(msfr.msfr_ifindex)) { in inp_set_source_filters()
2845 ifp = ifindex2ifnet[msfr.msfr_ifindex]; in inp_set_source_filters()
2872 imf->imf_st[1] = (uint8_t)msfr.msfr_fmode; in inp_set_source_filters()
2880 if (msfr.msfr_nsrcs > 0) { in inp_set_source_filters()
2893 __func__, (unsigned long)msfr.msfr_nsrcs)); in inp_set_source_filters()
2894 kss = kalloc_data((size_t)msfr.msfr_nsrcs * sizeof(*kss), Z_WAITOK); in inp_set_source_filters()
2900 (size_t) msfr.msfr_nsrcs * sizeof(*kss)); in inp_set_source_filters()
2902 kfree_data(kss, (size_t)msfr.msfr_nsrcs * sizeof(*kss)); in inp_set_source_filters()
2912 imf->imf_st[1] = (uint8_t)msfr.msfr_fmode; in inp_set_source_filters()
2925 for (i = 0, pkss = kss; (u_int)i < msfr.msfr_nsrcs; in inp_set_source_filters()
2942 kfree_data(kss, (size_t)msfr.msfr_nsrcs * sizeof(*kss)); in inp_set_source_filters()