Lines Matching full:ring
176 struct netmap_ring *ring; in netmap_send() local
184 ring = priv->tx; in netmap_send()
185 head = ring->head; in netmap_send()
186 if (head == ring->tail) { in netmap_send()
190 nm_buf = NETMAP_BUF(ring, ring->slot[head].buf_idx); in netmap_send()
191 nm_buf_size = ring->nr_buf_size; in netmap_send()
220 ring->slot[head].len = nm_buf_len; in netmap_send()
221 ring->slot[head].flags = NS_MOREFRAG; in netmap_send()
222 head = nm_ring_next(ring, head); in netmap_send()
223 if (head == ring->tail) { in netmap_send()
232 nm_buf = NETMAP_BUF(ring, ring->slot[head].buf_idx); in netmap_send()
233 nm_buf_size = ring->nr_buf_size; in netmap_send()
239 ring->slot[head].len = nm_buf_len; in netmap_send()
240 ring->slot[head].flags = 0; in netmap_send()
241 head = nm_ring_next(ring, head); in netmap_send()
243 /* Now update ring->head and ring->cur. */ in netmap_send()
244 ring->head = ring->cur = head; in netmap_send()
255 struct netmap_ring *ring = priv->rx; in netmap_peek_recvlen() local
256 uint32_t head = ring->head; in netmap_peek_recvlen()
259 while (head != ring->tail) { in netmap_peek_recvlen()
260 struct netmap_slot *slot = ring->slot + head; in netmap_peek_recvlen()
265 head = nm_ring_next(ring, head); in netmap_peek_recvlen()
276 struct netmap_ring *ring; in netmap_recv() local
284 ring = priv->rx; in netmap_recv()
285 head = ring->head; in netmap_recv()
293 if (head == ring->tail) { in netmap_recv()
297 slot = ring->slot + head; in netmap_recv()
298 nm_buf = NETMAP_BUF(ring, slot->buf_idx); in netmap_recv()
328 head = nm_ring_next(ring, head); in netmap_recv()
333 ring->head = ring->cur = head; in netmap_recv()