Lines Matching refs:fragbuf
155 static void free_fragbuf ( struct frag_buffer *fragbuf ) { in free_fragbuf() argument
156 free ( fragbuf ); in free_fragbuf()
167 struct frag_buffer *fragbuf; in ipv4_reassemble() local
172 list_for_each_entry ( fragbuf, &frag_buffers, list ) { in ipv4_reassemble()
173 if ( fragbuf->ident == iphdr->ident && in ipv4_reassemble()
174 fragbuf->src.s_addr == iphdr->src.s_addr ) { in ipv4_reassemble()
182 if ( iob_len ( fragbuf->frag_iob ) == in ipv4_reassemble()
189 memcpy ( iob_put ( fragbuf->frag_iob, in ipv4_reassemble()
196 iobuf = fragbuf->frag_iob; in ipv4_reassemble()
197 free_fragbuf ( fragbuf ); in ipv4_reassemble()
203 free_fragbuf ( fragbuf ); in ipv4_reassemble()
215 fragbuf = ( struct frag_buffer* ) malloc ( sizeof( *fragbuf ) ); in ipv4_reassemble()
216 fragbuf->ident = iphdr->ident; in ipv4_reassemble()
217 fragbuf->src = iphdr->src; in ipv4_reassemble()
220 fragbuf->frag_iob = alloc_iob ( IP_FRAG_IOB_SIZE ); in ipv4_reassemble()
222 memcpy ( iob_put ( fragbuf->frag_iob, iob_len ( iobuf ) ), in ipv4_reassemble()
227 fragbuf->frag_timer.timeout = IP_FRAG_TIMEOUT; in ipv4_reassemble()
228 fragbuf->frag_timer.expired = ipv4_frag_expired; in ipv4_reassemble()
229 start_timer ( &fragbuf->frag_timer ); in ipv4_reassemble()
232 list_add ( &fragbuf->list, &frag_buffers ); in ipv4_reassemble()