Lines Matching refs:frea
506 struct pf_frent *frea, *next; in pf_reassemble() local
630 LIST_FOREACH(frea, &(*frag)->fr_queue, fr_next) { in pf_reassemble()
631 if (FR_IP_OFF(frea) > off) { in pf_reassemble()
634 frep = frea; in pf_reassemble()
637 VERIFY(frep != NULL || frea != NULL); in pf_reassemble()
658 for (; frea != NULL && ip_len + off > FR_IP_OFF(frea); in pf_reassemble()
659 frea = next) { in pf_reassemble()
662 aftercut = ip_len + off - FR_IP_OFF(frea); in pf_reassemble()
664 if (aftercut < ntohs(frea->fr_ip->ip_len) - frea->fr_ip->ip_hl in pf_reassemble()
666 frea->fr_ip->ip_len = in pf_reassemble()
667 htons(ntohs(frea->fr_ip->ip_len) - aftercut); in pf_reassemble()
668 frea->fr_ip->ip_off = htons(ntohs(frea->fr_ip->ip_off) + in pf_reassemble()
670 m_adj(frea->fr_m, aftercut); in pf_reassemble()
675 next = LIST_NEXT(frea, fr_next); in pf_reassemble()
676 m_freem(frea->fr_m); in pf_reassemble()
677 LIST_REMOVE(frea, fr_next); in pf_reassemble()
678 pool_put(&pf_frent_pl, frea); in pf_reassemble()
1119 struct pf_frent *frea, *frep, *next; in pf_reassemble6() local
1262 LIST_FOREACH(frea, &(*frag)->fr_queue, fr_next) { in pf_reassemble6()
1263 if (FR_IP6_OFF(frea) > off) { in pf_reassemble6()
1266 frep = frea; in pf_reassemble6()
1269 VERIFY(frep != NULL || frea != NULL); in pf_reassemble6()
1291 for (; frea != NULL && plen + off > FR_IP6_OFF(frea); frea = next) { in pf_reassemble6()
1294 aftercut = plen + off - FR_IP6_OFF(frea); in pf_reassemble6()
1296 if (aftercut < FR_IP6_PLEN(frea) - frea->fr_ip6f_hlen) { in pf_reassemble6()
1297 frea->fr_ip6->ip6_plen = htons(FR_IP6_PLEN(frea) - in pf_reassemble6()
1299 frea->fr_ip6f_opt.ip6f_offlg = in pf_reassemble6()
1300 htons(ntohs(frea->fr_ip6f_opt.ip6f_offlg) + in pf_reassemble6()
1302 m_adj(frea->fr_m, aftercut); in pf_reassemble6()
1307 next = LIST_NEXT(frea, fr_next); in pf_reassemble6()
1308 m_freem(frea->fr_m); in pf_reassemble6()
1309 LIST_REMOVE(frea, fr_next); in pf_reassemble6()
1310 pool_put(&pf_frent_pl, frea); in pf_reassemble6()