Lines Matching refs:msfr

1623 	struct __msfilterreq64  msfr = {}, msfr64;  in in6p_get_source_filters()  local
1651 memcpy(&msfr, &msfr64, sizeof(msfr64)); in in6p_get_source_filters()
1660 memcpy(&msfr, &msfr32, sizeof(msfr32)); in in6p_get_source_filters()
1663 if (msfr.msfr_group.ss_family != AF_INET6 || in in6p_get_source_filters()
1664 msfr.msfr_group.ss_len != sizeof(struct sockaddr_in6)) { in in6p_get_source_filters()
1668 gsa = (struct sockaddr_in6 *)&msfr.msfr_group; in in6p_get_source_filters()
1674 if (msfr.msfr_ifindex == 0 || (u_int)if_index < msfr.msfr_ifindex) { in in6p_get_source_filters()
1678 ifp = ifindex2ifnet[msfr.msfr_ifindex]; in in6p_get_source_filters()
1685 if ((size_t) msfr.msfr_nsrcs > in in6p_get_source_filters()
1687 msfr.msfr_nsrcs = UINT32_MAX / sizeof(struct sockaddr_storage); in in6p_get_source_filters()
1690 if (msfr.msfr_nsrcs > in6_mcast_maxsocksrc) { in in6p_get_source_filters()
1691 msfr.msfr_nsrcs = (uint32_t)in6_mcast_maxsocksrc; in in6p_get_source_filters()
1714 msfr.msfr_fmode = imf->im6f_st[1]; in in6p_get_source_filters()
1731 if (tmp_ptr != USER_ADDR_NULL && msfr.msfr_nsrcs > 0) { in in6p_get_source_filters()
1732 tss = kalloc_data((size_t) msfr.msfr_nsrcs * sizeof(*tss), in in6p_get_source_filters()
1744 nsrcs = msfr.msfr_nsrcs; in in6p_get_source_filters()
1769 kfree_data(tss, (size_t) msfr.msfr_nsrcs * sizeof(*tss)); in in6p_get_source_filters()
1775 msfr.msfr_nsrcs = (uint32_t)ncsrcs; in in6p_get_source_filters()
1777 msfr64.msfr_ifindex = msfr.msfr_ifindex; in in6p_get_source_filters()
1778 msfr64.msfr_fmode = msfr.msfr_fmode; in in6p_get_source_filters()
1779 msfr64.msfr_nsrcs = msfr.msfr_nsrcs; in in6p_get_source_filters()
1780 memcpy(&msfr64.msfr_group, &msfr.msfr_group, in in6p_get_source_filters()
1785 msfr32.msfr_ifindex = msfr.msfr_ifindex; in in6p_get_source_filters()
1786 msfr32.msfr_fmode = msfr.msfr_fmode; in in6p_get_source_filters()
1787 msfr32.msfr_nsrcs = msfr.msfr_nsrcs; in in6p_get_source_filters()
1788 memcpy(&msfr32.msfr_group, &msfr.msfr_group, in in6p_get_source_filters()
2705 struct __msfilterreq64 msfr = {}, msfr64; in in6p_set_source_filters() local
2729 memcpy(&msfr, &msfr64, sizeof(msfr64)); in in6p_set_source_filters()
2738 memcpy(&msfr, &msfr32, sizeof(msfr32)); in in6p_set_source_filters()
2741 if ((size_t) msfr.msfr_nsrcs > in in6p_set_source_filters()
2743 msfr.msfr_nsrcs = UINT32_MAX / sizeof(struct sockaddr_storage); in in6p_set_source_filters()
2746 if (msfr.msfr_nsrcs > in6_mcast_maxsocksrc) { in in6p_set_source_filters()
2750 if (msfr.msfr_fmode != MCAST_EXCLUDE && in in6p_set_source_filters()
2751 msfr.msfr_fmode != MCAST_INCLUDE) { in in6p_set_source_filters()
2755 if (msfr.msfr_group.ss_family != AF_INET6 || in in6p_set_source_filters()
2756 msfr.msfr_group.ss_len != sizeof(struct sockaddr_in6)) { in in6p_set_source_filters()
2760 gsa = (struct sockaddr_in6 *)&msfr.msfr_group; in in6p_set_source_filters()
2768 if (msfr.msfr_ifindex == 0 || (u_int)if_index < msfr.msfr_ifindex) { in in6p_set_source_filters()
2772 ifp = ifindex2ifnet[msfr.msfr_ifindex]; in in6p_set_source_filters()
2802 imf->im6f_st[1] = (uint8_t)msfr.msfr_fmode; in in6p_set_source_filters()
2810 if (msfr.msfr_nsrcs > 0) { in in6p_set_source_filters()
2823 __func__, (unsigned long)msfr.msfr_nsrcs)); in in6p_set_source_filters()
2824 kss = kalloc_data((size_t) msfr.msfr_nsrcs * sizeof(*kss), Z_WAITOK); in in6p_set_source_filters()
2831 (size_t) msfr.msfr_nsrcs * sizeof(*kss)); in in6p_set_source_filters()
2833 kfree_data(kss, (size_t) msfr.msfr_nsrcs * sizeof(*kss)); in in6p_set_source_filters()
2843 imf->im6f_st[1] = (uint8_t)msfr.msfr_fmode; in in6p_set_source_filters()
2856 for (i = 0, pkss = kss; i < msfr.msfr_nsrcs; i++, pkss++) { in in6p_set_source_filters()
2882 kfree_data(kss, (size_t) msfr.msfr_nsrcs * sizeof(*kss)); in in6p_set_source_filters()