Lines Matching full:off

145 static int xsk_get_mmap_offsets(int fd, struct xdp_mmap_offsets *off)  in xsk_get_mmap_offsets()  argument
150 optlen = sizeof(*off); in xsk_get_mmap_offsets()
151 err = getsockopt(fd, SOL_XDP, XDP_MMAP_OFFSETS, off, &optlen); in xsk_get_mmap_offsets()
155 if (optlen == sizeof(*off)) in xsk_get_mmap_offsets()
165 struct xdp_mmap_offsets off; in xsk_create_umem_rings() local
181 err = xsk_get_mmap_offsets(fd, &off); in xsk_create_umem_rings()
185 map = mmap(NULL, off.fr.desc + umem->config.fill_size * sizeof(__u64), in xsk_create_umem_rings()
193 fill->producer = map + off.fr.producer; in xsk_create_umem_rings()
194 fill->consumer = map + off.fr.consumer; in xsk_create_umem_rings()
195 fill->flags = map + off.fr.flags; in xsk_create_umem_rings()
196 fill->ring = map + off.fr.desc; in xsk_create_umem_rings()
199 map = mmap(NULL, off.cr.desc + umem->config.comp_size * sizeof(__u64), in xsk_create_umem_rings()
209 comp->producer = map + off.cr.producer; in xsk_create_umem_rings()
210 comp->consumer = map + off.cr.consumer; in xsk_create_umem_rings()
211 comp->flags = map + off.cr.flags; in xsk_create_umem_rings()
212 comp->ring = map + off.cr.desc; in xsk_create_umem_rings()
217 munmap(map, off.fr.desc + umem->config.fill_size * sizeof(__u64)); in xsk_create_umem_rings()
477 struct xdp_mmap_offsets off; in xsk_put_ctx() local
486 err = xsk_get_mmap_offsets(umem->fd, &off); in xsk_put_ctx()
490 munmap(ctx->fill->ring - off.fr.desc, off.fr.desc + umem->config.fill_size * in xsk_put_ctx()
492 munmap(ctx->comp->ring - off.cr.desc, off.cr.desc + umem->config.comp_size * in xsk_put_ctx()
548 struct xdp_mmap_offsets off; in xsk_socket__create_shared() local
616 err = xsk_get_mmap_offsets(xsk->fd, &off); in xsk_socket__create_shared()
623 rx_map = mmap(NULL, off.rx.desc + in xsk_socket__create_shared()
634 rx->producer = rx_map + off.rx.producer; in xsk_socket__create_shared()
635 rx->consumer = rx_map + off.rx.consumer; in xsk_socket__create_shared()
636 rx->flags = rx_map + off.rx.flags; in xsk_socket__create_shared()
637 rx->ring = rx_map + off.rx.desc; in xsk_socket__create_shared()
644 tx_map = mmap(NULL, off.tx.desc + in xsk_socket__create_shared()
655 tx->producer = tx_map + off.tx.producer; in xsk_socket__create_shared()
656 tx->consumer = tx_map + off.tx.consumer; in xsk_socket__create_shared()
657 tx->flags = tx_map + off.tx.flags; in xsk_socket__create_shared()
658 tx->ring = tx_map + off.tx.desc; in xsk_socket__create_shared()
690 munmap(tx_map, off.tx.desc + in xsk_socket__create_shared()
694 munmap(rx_map, off.rx.desc + in xsk_socket__create_shared()
721 struct xdp_mmap_offsets off; in xsk_umem__delete() local
730 err = xsk_get_mmap_offsets(umem->fd, &off); in xsk_umem__delete()
732 munmap(umem->fill_save->ring - off.fr.desc, in xsk_umem__delete()
733 off.fr.desc + umem->config.fill_size * sizeof(__u64)); in xsk_umem__delete()
734 munmap(umem->comp_save->ring - off.cr.desc, in xsk_umem__delete()
735 off.cr.desc + umem->config.comp_size * sizeof(__u64)); in xsk_umem__delete()
747 struct xdp_mmap_offsets off; in xsk_socket__delete() local
760 err = xsk_get_mmap_offsets(xsk->fd, &off); in xsk_socket__delete()
763 munmap(xsk->rx->ring - off.rx.desc, in xsk_socket__delete()
764 off.rx.desc + xsk->config.rx_size * desc_sz); in xsk_socket__delete()
767 munmap(xsk->tx->ring - off.tx.desc, in xsk_socket__delete()
768 off.tx.desc + xsk->config.tx_size * desc_sz); in xsk_socket__delete()