Lines Matching refs:fragment
53 static struct ip_frag fragment[FRAG_MAX]; /* ip fragment buffers */ variable
84 if (fragment[i].mp == NULL) in frag_disp()
86 printf("%d\t%d\t0x%x\t%d\t\t%d\t%d\n", fragment[i].more, in frag_disp()
87 fragment[i].offset, fragment[i].mp->b_rptr, in frag_disp()
88 fragment[i].ipid, fragment[i].iplen, fragment[i].iphlen); in frag_disp()
89 total += (fragment[i].iplen - fragment[i].iphlen); in frag_disp()
109 if (fragment[i].mp != NULL && fragment[i].offset == 0) in frag_first()
129 if (fragment[i].mp != NULL && !fragment[i].more) in frag_last()
149 if (fragment[i].mp != NULL && in frag_add()
150 fragment[i].offset == true_offset) in frag_add()
156 if (fragment[i].mp == NULL) { in frag_add()
157 fragment[i].more = (offset & IP_MF); in frag_add()
158 fragment[i].offset = true_offset; in frag_add()
159 fragment[i].mp = mp; in frag_add()
160 fragment[i].ipid = ipid; in frag_add()
161 fragment[i].iplen = iplen; in frag_add()
162 fragment[i].iphlen = iphlen; in frag_add()
163 fragment[i].ipp = ipp; in frag_add()
177 if (fragment[index].mp != NULL) { in frag_free()
178 freeb(fragment[index].mp); in frag_free()
181 bzero((caddr_t)&fragment[index], sizeof (struct ip_frag)); in frag_free()
220 ip_id = fragment[first_frag].ipid; in frag_chk()
221 ipp = fragment[first_frag].ipp; in frag_chk()
223 if (fragment[i].mp != NULL && ip_id != fragment[i].ipid && in frag_chk()
224 fragment[i].ipp != ipp) { in frag_chk()
227 fragment[i].ipid, ip_id); in frag_chk()
236 total = fragment[last_frag].offset + fragment[last_frag].iplen - in frag_chk()
237 fragment[last_frag].iphlen; in frag_chk()
240 actual += (fragment[i].iplen - fragment[i].iphlen); in frag_chk()
271 first_iph_len = fragment[i].iphlen; in frag_load()
273 if (fragment[i].mp != NULL) { in frag_load()
279 if (fragment[i].offset == 0) { in frag_load()
280 len = fragment[i].iplen; in frag_load()
283 len = fragment[i].iplen - fragment[i].iphlen; in frag_load()
289 bcopy((caddr_t)(fragment[i].mp->b_rptr), in frag_load()
293 bcopy((caddr_t)(fragment[i].mp->b_rptr + in frag_load()
294 fragment[i].iphlen), in frag_load()
296 fragment[i].offset), len); in frag_load()
604 trans_len = fragment[last_frag].offset + in make_trans_datagram()
605 fragment[last_frag].iplen - fragment[last_frag].iphlen; in make_trans_datagram()
611 trans_len += fragment[first_frag].iphlen; in make_trans_datagram()
612 transp = (uint16_t *)(fragment[first_frag].mp->b_rptr + in make_trans_datagram()
613 fragment[first_frag].iphlen); in make_trans_datagram()