Lines Matching refs:fi
288 struct fragment_info *fi; in purge_partial_datagram() local
293 fi = list_entry(lh, struct fragment_info, list); in purge_partial_datagram()
295 kfree(fi); in purge_partial_datagram()
914 struct fragment_info *fi; in fragment_overlap() local
917 list_for_each_entry(fi, frag_list, list) in fragment_overlap()
918 if (offset < fi->offset + fi->len && end > fi->offset) in fragment_overlap()
939 struct fragment_info *fi, *fi2, *new; in new_fragment() local
942 fi = list_entry(lh, struct fragment_info, list); in new_fragment()
943 if (fi->offset + fi->len == offset) { in new_fragment()
945 fi->len += len; in new_fragment()
948 if (fi->offset + fi->len == fi2->offset) { in new_fragment()
950 fi->len += fi2->len; in new_fragment()
955 } else if (offset + len == fi->offset) { in new_fragment()
957 fi->offset = offset; in new_fragment()
958 fi->len += len; in new_fragment()
961 if (fi2->offset + fi2->len == fi->offset) { in new_fragment()
963 fi2->len += fi->len; in new_fragment()
965 kfree(fi); in new_fragment()
968 } else if (offset > fi->offset + fi->len) { in new_fragment()
970 } else if (offset + len < fi->offset) { in new_fragment()
1009 struct fragment_info *fi = list_entry(new->frag_info.next, in new_partial_datagram() local
1012 kfree(fi); in new_partial_datagram()
1045 struct fragment_info *fi; in is_datagram_complete() local
1048 fi = list_entry(pd->frag_info.next, struct fragment_info, list); in is_datagram_complete()
1050 return (fi->len == dg_size); in is_datagram_complete()