Lines Matching defs:q6
124 frag6_dropfrag(struct ip6q *q6)
126 frag6_remque(q6);
127 frag6_nfrags -= q6->ip6q_nfrag;
128 kmem_intr_free(q6, sizeof(*q6));
172 struct ip6q *q6;
256 for (q6 = ip6q.ip6q_next; q6 != &ip6q; q6 = q6->ip6q_next)
257 if (ip6f->ip6f_ident == q6->ip6q_ident &&
258 IN6_ARE_ADDR_EQUAL(&ip6->ip6_src, &q6->ip6q_src) &&
259 IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, &q6->ip6q_dst))
262 if (q6 != &ip6q) {
264 if (q6->ip6q_ipsec != ipsecflags) {
269 if (q6 == &ip6q) {
288 q6 = kmem_intr_zalloc(sizeof(struct ip6q), KM_NOSLEEP);
289 if (q6 == NULL) {
292 frag6_insque(q6, &ip6q);
295 q6->ip6q_down = q6->ip6q_up = (struct ip6asfrag *)q6;
296 q6->ip6q_ident = ip6f->ip6f_ident;
297 q6->ip6q_ttl = IPV6_FRAGTTL;
298 q6->ip6q_src = ip6->ip6_src;
299 q6->ip6q_dst = ip6->ip6_dst;
300 q6->ip6q_unfrglen = -1; /* The 1st fragment has not arrived. */
301 q6->ip6q_nfrag = 0;
302 q6->ip6q_ipsec = ipsecflags;
310 q6->ip6q_unfrglen = offset - sizeof(struct ip6_hdr) -
312 q6->ip6q_nxt = ip6f->ip6f_nxt;
320 if (q6->ip6q_unfrglen >= 0) {
322 if (q6->ip6q_unfrglen + fragoff + frgpartlen > IPV6_MAXPACKET) {
342 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6;
346 if (q6->ip6q_unfrglen + af6->ip6af_off + af6->ip6af_frglen >
363 ip6err->ip6_src = q6->ip6q_src;
364 ip6err->ip6_dst = q6->ip6q_dst;
389 af6 = (struct ip6asfrag *)q6;
396 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6;
405 if (af6->ip6af_up != (struct ip6asfrag *)q6) {
413 if (af6 != (struct ip6asfrag *)q6) {
427 q6->ip6q_nfrag++;
433 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6;
449 ip6af = q6->ip6q_down;
453 while (af6 != (struct ip6asfrag *)q6) {
470 frag6_dropfrag(q6);
475 ip6->ip6_src = q6->ip6q_src;
476 ip6->ip6_dst = q6->ip6q_dst;
477 nxt = q6->ip6q_nxt;
489 frag6_dropfrag(q6);
496 frag6_dropfrag(q6);
561 frag6_freef(struct ip6q *q6)
567 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6;
585 ip6->ip6_src = q6->ip6q_src;
586 ip6->ip6_dst = q6->ip6q_dst;
596 frag6_dropfrag(q6);
678 struct ip6q *q6;
683 q6 = ip6q.ip6q_next;
684 if (q6) {
685 while (q6 != &ip6q) {
686 --q6->ip6q_ttl;
687 q6 = q6->ip6q_next;
688 if (q6->ip6q_prev->ip6q_ttl == 0) {
691 frag6_freef(q6->ip6q_prev);