Lines Matching defs:fq

126 static int nf_ct_frag6_reasm(struct frag_queue *fq, struct sk_buff *skb,
137 struct frag_queue *fq;
139 fq = container_of(frag, struct frag_queue, q);
141 ip6frag_expire_frag_queue(fq->q.fqdir->net, fq);
166 static int nf_ct_frag6_queue(struct frag_queue *fq, struct sk_buff *skb,
175 if (fq->q.flags & INET_FRAG_COMPLETE) {
205 if (end < fq->q.len ||
206 ((fq->q.flags & INET_FRAG_LAST_IN) && end != fq->q.len)) {
210 fq->q.flags |= INET_FRAG_LAST_IN;
211 fq->q.len = end;
221 inet_frag_kill(&fq->q);
224 if (end > fq->q.len) {
226 if (fq->q.flags & INET_FRAG_LAST_IN) {
230 fq->q.len = end;
252 prev = fq->q.fragments_tail;
253 err = inet_frag_queue_insert(&fq->q, skb, offset, end);
264 fq->iif = dev->ifindex;
266 fq->q.stamp = skb->tstamp;
267 fq->q.mono_delivery_time = skb->mono_delivery_time;
268 fq->q.meat += skb->len;
269 fq->ecn |= ecn;
270 if (payload_len > fq->q.max_size)
271 fq->q.max_size = payload_len;
272 add_frag_mem_limit(fq->q.fqdir, skb->truesize);
278 fq->nhoffset = nhoff;
279 fq->q.flags |= INET_FRAG_FIRST_IN;
282 if (fq->q.flags == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) &&
283 fq->q.meat == fq->q.len) {
287 err = nf_ct_frag6_reasm(fq, skb, prev, dev);
301 inet_frag_kill(&fq->q);
310 * It is called with locked fq, and caller must check that
314 static int nf_ct_frag6_reasm(struct frag_queue *fq, struct sk_buff *skb,
321 inet_frag_kill(&fq->q);
323 ecn = ip_frag_ecn_table[fq->ecn];
327 reasm_data = inet_frag_reasm_prepare(&fq->q, skb, prev_tail);
332 sizeof(struct ipv6hdr) + fq->q.len -
342 skb_network_header(skb)[fq->nhoffset] = skb_transport_header(skb)[0];
350 inet_frag_reasm_finish(&fq->q, skb, reasm_data, false);
356 IP6CB(skb)->frag_max_size = sizeof(struct ipv6hdr) + fq->q.max_size;
365 fq->q.rb_fragments = RB_ROOT;
366 fq->q.fragments_tail = NULL;
367 fq->q.last_run_head = NULL;
372 inet_frag_kill(&fq->q);
445 struct frag_queue *fq;
473 fq = fq_find(net, fhdr->identification, user, hdr,
475 if (fq == NULL) {
480 spin_lock_bh(&fq->q.lock);
482 ret = nf_ct_frag6_queue(fq, skb, fhdr, nhoff);
488 spin_unlock_bh(&fq->q.lock);
489 inet_frag_put(&fq->q);