Lines Matching refs:umem

83 	struct xsk_umem *umem;  member
90 struct xsk_umem_info *umem; member
198 struct xsk_umem *umem = xsks[0]->umem->umem; in int_exit() local
204 (void)xsk_umem__delete(umem); in int_exit()
276 static size_t gen_eth_frame(struct xsk_umem_info *umem, u64 addr) in gen_eth_frame() argument
278 memcpy(xsk_umem__get_data(umem->buffer, addr), pkt_data, in gen_eth_frame()
285 struct xsk_umem_info *umem; in xsk_configure_umem() local
296 umem = calloc(1, sizeof(*umem)); in xsk_configure_umem()
297 if (!umem) in xsk_configure_umem()
300 ret = xsk_umem__create(&umem->umem, buffer, size, &umem->fq, &umem->cq, in xsk_configure_umem()
306 umem->buffer = buffer; in xsk_configure_umem()
307 return umem; in xsk_configure_umem()
310 static struct xsk_socket_info *xsk_configure_socket(struct xsk_umem_info *umem) in xsk_configure_socket() argument
322 xsk->umem = umem; in xsk_configure_socket()
328 ret = xsk_socket__create(&xsk->xsk, opt_if, opt_queue, umem->umem, in xsk_configure_socket()
337 ret = xsk_ring_prod__reserve(&xsk->umem->fq, in xsk_configure_socket()
343 *xsk_ring_prod__fill_addr(&xsk->umem->fq, idx++) = in xsk_configure_socket()
345 xsk_ring_prod__submit(&xsk->umem->fq, in xsk_configure_socket()
489 struct xsk_umem_info *umem = xsk->umem; in complete_tx_l2fwd() local
504 rcvd = xsk_ring_cons__peek(&umem->cq, ndescs, &idx_cq); in complete_tx_l2fwd()
509 ret = xsk_ring_prod__reserve(&umem->fq, rcvd, &idx_fq); in complete_tx_l2fwd()
513 if (xsk_ring_prod__needs_wakeup(&umem->fq)) in complete_tx_l2fwd()
515 ret = xsk_ring_prod__reserve(&umem->fq, rcvd, &idx_fq); in complete_tx_l2fwd()
519 *xsk_ring_prod__fill_addr(&umem->fq, idx_fq++) = in complete_tx_l2fwd()
520 *xsk_ring_cons__comp_addr(&umem->cq, idx_cq++); in complete_tx_l2fwd()
522 xsk_ring_prod__submit(&xsk->umem->fq, rcvd); in complete_tx_l2fwd()
523 xsk_ring_cons__release(&xsk->umem->cq, rcvd); in complete_tx_l2fwd()
540 rcvd = xsk_ring_cons__peek(&xsk->umem->cq, BATCH_SIZE, &idx); in complete_tx_only()
542 xsk_ring_cons__release(&xsk->umem->cq, rcvd); in complete_tx_only()
556 if (xsk_ring_prod__needs_wakeup(&xsk->umem->fq)) in rx_drop()
561 ret = xsk_ring_prod__reserve(&xsk->umem->fq, rcvd, &idx_fq); in rx_drop()
565 if (xsk_ring_prod__needs_wakeup(&xsk->umem->fq)) in rx_drop()
567 ret = xsk_ring_prod__reserve(&xsk->umem->fq, rcvd, &idx_fq); in rx_drop()
576 char *pkt = xsk_umem__get_data(xsk->umem->buffer, addr); in rx_drop()
579 *xsk_ring_prod__fill_addr(&xsk->umem->fq, idx_fq++) = orig; in rx_drop()
582 xsk_ring_prod__submit(&xsk->umem->fq, rcvd); in rx_drop()
671 if (xsk_ring_prod__needs_wakeup(&xsk->umem->fq)) in l2fwd()
691 char *pkt = xsk_umem__get_data(xsk->umem->buffer, addr); in l2fwd()
734 struct xsk_umem_info *umem; in main() local
756 umem = xsk_configure_umem(bufs, NUM_FRAMES * opt_xsk_frame_size); in main()
757 xsks[num_socks++] = xsk_configure_socket(umem); in main()
763 (void)gen_eth_frame(umem, i * opt_xsk_frame_size); in main()