group_filter
extern int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf,
struct group_filter;
int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf,
int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
(sizeof(struct group_filter) - sizeof(struct __kernel_sockaddr_storage) \
unsigned int group_filter; /* UMP group filter bitmap
int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf,
const int size0 = offsetof(struct group_filter, gf_slist_flex);
struct group_filter gsf;
offsetof(struct group_filter, gf_slist_flex));
struct group_filter gf;
struct group_filter *gsf = NULL;
bool group_filter;
if (filter->group_filter && !nh->is_group)
filter->group_filter = nla_get_flag(tb[NHA_GROUPS]);
const int size0 = offsetof(struct group_filter, gf_slist_flex);
struct group_filter gsf;
struct group_filter gf;
struct group_filter *gsf;
ret = ip6_mc_msfilter(sk, &(struct group_filter){
int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf,
int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
info->group_filter = cptr->group_filter;
client->group_filter = client_info->group_filter;
unsigned short group_filter;
cptr->group_filter = filter;
if (dest->group_filter & (1U << dest_port->ump_group))
return dest->group_filter & (1U << 0);
return dest->group_filter & (1U << (group + 1));
(sizeof(struct group_filter) - sizeof(struct __kernel_sockaddr_storage) \