Lines Matching refs:q

78 	fq = container_of(frag, struct frag_queue, q);  in ip6_frag_expire()
80 ip6frag_expire_frag_queue(fq->q.fqdir->net, fq); in ip6_frag_expire()
93 struct inet_frag_queue *q; in fq_find() local
99 q = inet_frag_find(net->ipv6.fqdir, &key); in fq_find()
100 if (!q) in fq_find()
103 return container_of(q, struct frag_queue, q); in fq_find()
119 if (fq->q.flags & INET_FRAG_COMPLETE) { in ip6_frag_queue()
151 if (end < fq->q.len || in ip6_frag_queue()
152 ((fq->q.flags & INET_FRAG_LAST_IN) && end != fq->q.len)) in ip6_frag_queue()
154 fq->q.flags |= INET_FRAG_LAST_IN; in ip6_frag_queue()
155 fq->q.len = end; in ip6_frag_queue()
167 if (end > fq->q.len) { in ip6_frag_queue()
169 if (fq->q.flags & INET_FRAG_LAST_IN) in ip6_frag_queue()
171 fq->q.len = end; in ip6_frag_queue()
192 prev_tail = fq->q.fragments_tail; in ip6_frag_queue()
193 err = inet_frag_queue_insert(&fq->q, skb, offset, end); in ip6_frag_queue()
200 fq->q.stamp = skb->tstamp; in ip6_frag_queue()
201 fq->q.mono_delivery_time = skb->mono_delivery_time; in ip6_frag_queue()
202 fq->q.meat += skb->len; in ip6_frag_queue()
204 add_frag_mem_limit(fq->q.fqdir, skb->truesize); in ip6_frag_queue()
207 if (fragsize > fq->q.max_size) in ip6_frag_queue()
208 fq->q.max_size = fragsize; in ip6_frag_queue()
215 fq->q.flags |= INET_FRAG_FIRST_IN; in ip6_frag_queue()
218 if (fq->q.flags == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) && in ip6_frag_queue()
219 fq->q.meat == fq->q.len) { in ip6_frag_queue()
241 inet_frag_kill(&fq->q); in ip6_frag_queue()
259 struct net *net = fq->q.fqdir->net; in ip6_frag_reasm()
265 inet_frag_kill(&fq->q); in ip6_frag_reasm()
271 reasm_data = inet_frag_reasm_prepare(&fq->q, skb, prev_tail); in ip6_frag_reasm()
276 sizeof(struct ipv6hdr) + fq->q.len - in ip6_frag_reasm()
293 inet_frag_reasm_finish(&fq->q, skb, reasm_data, true); in ip6_frag_reasm()
300 IP6CB(skb)->frag_max_size = fq->q.max_size; in ip6_frag_reasm()
309 fq->q.rb_fragments = RB_ROOT; in ip6_frag_reasm()
310 fq->q.fragments_tail = NULL; in ip6_frag_reasm()
311 fq->q.last_run_head = NULL; in ip6_frag_reasm()
323 inet_frag_kill(&fq->q); in ip6_frag_reasm()
385 spin_lock(&fq->q.lock); in ipv6_frag_rcv()
391 spin_unlock(&fq->q.lock); in ipv6_frag_rcv()
392 inet_frag_put(&fq->q); in ipv6_frag_rcv()