Lines Matching defs:group

41 				 struct psample_group *group,
52 ret = nla_put_u32(msg, PSAMPLE_ATTR_SAMPLE_GROUP, group->group_num);
56 ret = nla_put_u32(msg, PSAMPLE_ATTR_GROUP_REFCOUNT, group->refcount);
60 ret = nla_put_u32(msg, PSAMPLE_ATTR_GROUP_SEQ, group->seq);
75 struct psample_group *group;
81 list_for_each_entry(group, &psample_groups_list, list) {
82 if (!net_eq(group->net, sock_net(msg->sk)))
88 err = psample_group_nl_fill(msg, group, PSAMPLE_CMD_NEW_GROUP,
123 static void psample_group_notify(struct psample_group *group,
133 err = psample_group_nl_fill(msg, group, cmd, 0, 0, NLM_F_MULTI);
135 genlmsg_multicast_netns(&psample_nl_family, group->net, msg, 0,
144 struct psample_group *group;
146 group = kzalloc(sizeof(*group), GFP_ATOMIC);
147 if (!group)
150 group->net = net;
151 group->group_num = group_num;
152 list_add_tail(&group->list, &psample_groups_list);
154 psample_group_notify(group, PSAMPLE_CMD_NEW_GROUP);
155 return group;
158 static void psample_group_destroy(struct psample_group *group)
160 psample_group_notify(group, PSAMPLE_CMD_DEL_GROUP);
161 list_del(&group->list);
162 kfree_rcu(group, rcu);
168 struct psample_group *group;
170 list_for_each_entry(group, &psample_groups_list, list)
171 if ((group->group_num == group_num) && (group->net == net))
172 return group;
178 struct psample_group *group;
182 group = psample_group_lookup(net, group_num);
183 if (!group) {
184 group = psample_group_create(net, group_num);
185 if (!group)
188 group->refcount++;
192 return group;
196 void psample_group_take(struct psample_group *group)
199 group->refcount++;
204 void psample_group_put(struct psample_group *group)
208 if (--group->refcount == 0)
209 psample_group_destroy(group);
363 void psample_sample_packet(struct psample_group *group, struct sk_buff *skb,
431 ret = nla_put_u32(nl_skb, PSAMPLE_ATTR_SAMPLE_GROUP, group->group_num);
435 ret = nla_put_u32(nl_skb, PSAMPLE_ATTR_GROUP_SEQ, group->seq++);
490 genlmsg_multicast_netns(&psample_nl_family, group->net, nl_skb, 0,