14 #include <linux/list.h>
16 #include <linux/module.h>
19 #include <linux/random.h>
21 #include <linux/rtnetlink.h>
22 #include <linux/slab.h>
26 static void inet_frag_secret_rebuild(
unsigned long dummy)
39 unsigned int hval = f->
hashfn(q);
45 hlist_add_head(&q->
list, &f->
hash[hval]);
68 f->secret_timer.expires =
jiffies + f->secret_interval;
100 hlist_del(&fq->
list);
146 frag_kfree_skb(nf, f, fp, work);
164 int work, evicted = 0;
187 spin_unlock(&q->
lock);
221 if (qp->
net == nf && f->
match(qp, arg)) {
225 inet_frag_put(qp_in, f);
235 hlist_add_head(&qp->
list, &f->
hash[hash]);
266 q = inet_frag_alloc(nf, f, arg);
270 return inet_frag_intern(nf, q, f, arg);
289 return inet_frag_create(nf, f,
key);