Home | History | Annotate | Download | only in net

Lines Matching refs:iobuf

8 #include <gpxe/iobuf.h>
186 * @v iobuf I/O buffer
192 static int udp_tx ( struct udp_connection *udp, struct io_buffer *iobuf,
200 if ( ( rc = iob_ensure_headroom ( iobuf, UDP_MAX_HLEN ) ) != 0 ) {
201 free_iob ( iobuf );
212 udphdr = iob_push ( iobuf, sizeof ( *udphdr ) );
213 len = iob_len ( iobuf );
226 if ( ( rc = tcpip_tx ( iobuf, &udp_protocol, src, dest, netdev,
264 * @v iobuf I/O buffer
270 static int udp_rx ( struct io_buffer *iobuf, struct sockaddr_tcpip *st_src,
272 struct udp_header *udphdr = iobuf->data;
280 if ( iob_len ( iobuf ) < sizeof ( *udphdr ) ) {
282 iob_len ( iobuf ), sizeof ( *udphdr ) );
294 if ( ulen > iob_len ( iobuf ) ) {
296 "bytes)\n", ulen, iob_len ( iobuf ) );
301 csum = tcpip_continue_chksum ( pshdr_csum, iobuf->data, ulen );
314 iob_unput ( iobuf, ( iob_len ( iobuf ) - ulen ) );
315 iob_pull ( iobuf, sizeof ( *udphdr ) );
333 rc = xfer_deliver_iob_meta ( &udp->xfer, iob_disown ( iobuf ), &meta );
336 free_iob ( iobuf );
372 * @ret iobuf I/O buffer, or NULL
378 struct io_buffer *iobuf;
380 iobuf = alloc_iob ( UDP_MAX_HLEN + len );
381 if ( ! iobuf ) {
386 iob_reserve ( iobuf, UDP_MAX_HLEN );
387 return iobuf;
394 * @v iobuf Datagram I/O buffer
399 struct io_buffer *iobuf,
405 udp_tx ( udp, iobuf, ( ( struct sockaddr_tcpip * ) meta->src ),