Lines Matching full:off

147 static int xsk_get_mmap_offsets(int fd, struct xdp_mmap_offsets *off)  in xsk_get_mmap_offsets()  argument
152 optlen = sizeof(*off); in xsk_get_mmap_offsets()
153 err = getsockopt(fd, SOL_XDP, XDP_MMAP_OFFSETS, off, &optlen); in xsk_get_mmap_offsets()
157 if (optlen == sizeof(*off)) in xsk_get_mmap_offsets()
167 struct xdp_mmap_offsets off; in xsk_create_umem_rings() local
183 err = xsk_get_mmap_offsets(fd, &off); in xsk_create_umem_rings()
187 map = mmap(NULL, off.fr.desc + umem->config.fill_size * sizeof(__u64), in xsk_create_umem_rings()
195 fill->producer = map + off.fr.producer; in xsk_create_umem_rings()
196 fill->consumer = map + off.fr.consumer; in xsk_create_umem_rings()
197 fill->flags = map + off.fr.flags; in xsk_create_umem_rings()
198 fill->ring = map + off.fr.desc; in xsk_create_umem_rings()
201 map = mmap(NULL, off.cr.desc + umem->config.comp_size * sizeof(__u64), in xsk_create_umem_rings()
211 comp->producer = map + off.cr.producer; in xsk_create_umem_rings()
212 comp->consumer = map + off.cr.consumer; in xsk_create_umem_rings()
213 comp->flags = map + off.cr.flags; in xsk_create_umem_rings()
214 comp->ring = map + off.cr.desc; in xsk_create_umem_rings()
219 munmap(map, off.fr.desc + umem->config.fill_size * sizeof(__u64)); in xsk_create_umem_rings()
479 struct xdp_mmap_offsets off; in xsk_put_ctx() local
488 err = xsk_get_mmap_offsets(umem->fd, &off); in xsk_put_ctx()
492 munmap(ctx->fill->ring - off.fr.desc, off.fr.desc + umem->config.fill_size * in xsk_put_ctx()
494 munmap(ctx->comp->ring - off.cr.desc, off.cr.desc + umem->config.comp_size * in xsk_put_ctx()
550 struct xdp_mmap_offsets off; in xsk_socket__create_shared() local
618 err = xsk_get_mmap_offsets(xsk->fd, &off); in xsk_socket__create_shared()
625 rx_map = mmap(NULL, off.rx.desc + in xsk_socket__create_shared()
636 rx->producer = rx_map + off.rx.producer; in xsk_socket__create_shared()
637 rx->consumer = rx_map + off.rx.consumer; in xsk_socket__create_shared()
638 rx->flags = rx_map + off.rx.flags; in xsk_socket__create_shared()
639 rx->ring = rx_map + off.rx.desc; in xsk_socket__create_shared()
646 tx_map = mmap(NULL, off.tx.desc + in xsk_socket__create_shared()
657 tx->producer = tx_map + off.tx.producer; in xsk_socket__create_shared()
658 tx->consumer = tx_map + off.tx.consumer; in xsk_socket__create_shared()
659 tx->flags = tx_map + off.tx.flags; in xsk_socket__create_shared()
660 tx->ring = tx_map + off.tx.desc; in xsk_socket__create_shared()
692 munmap(tx_map, off.tx.desc + in xsk_socket__create_shared()
696 munmap(rx_map, off.rx.desc + in xsk_socket__create_shared()
723 struct xdp_mmap_offsets off; in xsk_umem__delete() local
732 err = xsk_get_mmap_offsets(umem->fd, &off); in xsk_umem__delete()
734 munmap(umem->fill_save->ring - off.fr.desc, in xsk_umem__delete()
735 off.fr.desc + umem->config.fill_size * sizeof(__u64)); in xsk_umem__delete()
736 munmap(umem->comp_save->ring - off.cr.desc, in xsk_umem__delete()
737 off.cr.desc + umem->config.comp_size * sizeof(__u64)); in xsk_umem__delete()
749 struct xdp_mmap_offsets off; in xsk_socket__delete() local
762 err = xsk_get_mmap_offsets(xsk->fd, &off); in xsk_socket__delete()
765 munmap(xsk->rx->ring - off.rx.desc, in xsk_socket__delete()
766 off.rx.desc + xsk->config.rx_size * desc_sz); in xsk_socket__delete()
769 munmap(xsk->tx->ring - off.tx.desc, in xsk_socket__delete()
770 off.tx.desc + xsk->config.tx_size * desc_sz); in xsk_socket__delete()