Lines Matching refs:af6
283 struct ip6asfrag *af6 = NULL, *ip6af = NULL, *af6dwn = NULL; in frag6_input() local
580 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6; in frag6_input()
581 af6 = af6dwn) { in frag6_input()
582 af6dwn = af6->ip6af_down; in frag6_input()
584 if (local_ip6q_unfrglen + af6->ip6af_off + af6->ip6af_frglen > in frag6_input()
586 struct mbuf *merr = IP6_REASS_MBUF(af6); in frag6_input()
588 int erroff = af6->ip6af_offset; in frag6_input()
591 frag6_deq(af6); in frag6_input()
592 ip6af_free(af6); in frag6_input()
626 af6 = (struct ip6asfrag *)q6; in frag6_input()
654 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6; in frag6_input()
655 af6 = af6->ip6af_down) { in frag6_input()
656 if (af6->ip6af_off > ip6af->ip6af_off) { in frag6_input()
670 if (af6->ip6af_up != (struct ip6asfrag *)q6) { in frag6_input()
671 if (af6->ip6af_up->ip6af_off == ip6af->ip6af_off) { in frag6_input()
672 if (af6->ip6af_up->ip6af_frglen != ip6af->ip6af_frglen) { in frag6_input()
684 i = af6->ip6af_up->ip6af_off + af6->ip6af_up->ip6af_frglen in frag6_input()
692 if (af6 != (struct ip6asfrag *)q6) { in frag6_input()
698 VERIFY(af6->ip6af_off != ip6af->ip6af_off); in frag6_input()
699 i = (ip6af->ip6af_off + ip6af->ip6af_frglen) - af6->ip6af_off; in frag6_input()
723 frag6_enq(ip6af, af6->ip6af_up); in frag6_input()
741 af6 = NULL; in frag6_input()
781 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6; in frag6_input()
782 af6 = af6->ip6af_down) { in frag6_input()
783 if (af6->ip6af_off != next) { in frag6_input()
789 next += af6->ip6af_frglen; in frag6_input()
791 if (af6->ip6af_up->ip6af_mff) { in frag6_input()
803 af6 = ip6af->ip6af_down; in frag6_input()
805 while (af6 != (struct ip6asfrag *)q6) { in frag6_input()
806 af6dwn = af6->ip6af_down; in frag6_input()
807 frag6_deq(af6); in frag6_input()
811 t->m_next = IP6_REASS_MBUF(af6); in frag6_input()
812 m_adj(t->m_next, af6->ip6af_offset); in frag6_input()
813 ip6af_free(af6); in frag6_input()
814 af6 = af6dwn; in frag6_input()
960 struct ip6asfrag *af6 = NULL; in frag6_purgef() local
965 for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6; in frag6_purgef()
966 af6 = down6) { in frag6_purgef()
967 struct mbuf *m = IP6_REASS_MBUF(af6); in frag6_purgef()
969 down6 = af6->ip6af_down; in frag6_purgef()
970 frag6_deq(af6); in frag6_purgef()
978 if (af6->ip6af_off == 0 && diq6 != NULL) { in frag6_purgef()
993 ip6af_free(af6); in frag6_purgef()
1022 frag6_enq(struct ip6asfrag *af6, struct ip6asfrag *up6) in frag6_enq() argument
1026 af6->ip6af_up = up6; in frag6_enq()
1027 af6->ip6af_down = up6->ip6af_down; in frag6_enq()
1028 up6->ip6af_down->ip6af_up = af6; in frag6_enq()
1029 up6->ip6af_down = af6; in frag6_enq()
1036 frag6_deq(struct ip6asfrag *af6) in frag6_deq() argument
1040 af6->ip6af_up->ip6af_down = af6->ip6af_down; in frag6_deq()
1041 af6->ip6af_down->ip6af_up = af6->ip6af_up; in frag6_deq()
1220 struct ip6asfrag *af6; in ip6af_alloc() local
1231 af6 = kalloc_type(struct ip6asfrag, Z_NOWAIT | Z_ZERO); in ip6af_alloc()
1232 if (af6 != NULL) { in ip6af_alloc()
1235 return af6; in ip6af_alloc()
1239 ip6af_free(struct ip6asfrag *af6) in ip6af_free() argument
1241 kfree_type(struct ip6asfrag, af6); in ip6af_free()