Lines Matching refs:pac
68 struct ipv6_ac_socklist *pac;
86 pac = sock_kmalloc(sk, sizeof(struct ipv6_ac_socklist), GFP_KERNEL);
87 if (!pac)
89 pac->acl_next = NULL;
90 pac->acl_addr = *addr;
125 pac->acl_ifindex = dev->ifindex;
141 pac->acl_next = np->ipv6_ac_list;
142 np->ipv6_ac_list = pac;
143 pac = NULL;
147 if (pac)
148 sock_kfree_s(sk, pac, sizeof(*pac));
159 struct ipv6_ac_socklist *pac, *prev_pac;
165 for (pac = np->ipv6_ac_list; pac; pac = pac->acl_next) {
166 if ((ifindex == 0 || pac->acl_ifindex == ifindex) &&
167 ipv6_addr_equal(&pac->acl_addr, addr))
169 prev_pac = pac;
171 if (!pac)
174 prev_pac->acl_next = pac->acl_next;
176 np->ipv6_ac_list = pac->acl_next;
178 dev = __dev_get_by_index(net, pac->acl_ifindex);
180 ipv6_dev_ac_dec(dev, &pac->acl_addr);
182 sock_kfree_s(sk, pac, sizeof(*pac));
190 struct ipv6_ac_socklist *pac;
195 pac = np->ipv6_ac_list;
199 while (pac) {
200 struct ipv6_ac_socklist *next = pac->acl_next;
202 if (pac->acl_ifindex != prev_index) {
203 dev = __dev_get_by_index(net, pac->acl_ifindex);
204 prev_index = pac->acl_ifindex;
207 ipv6_dev_ac_dec(dev, &pac->acl_addr);
208 sock_kfree_s(sk, pac, sizeof(*pac));
209 pac = next;