# SPDX-License-Identifier: BSD-3-Clause # Copyright (C) 2022 Intel Corporation. # All rights reserved. def vfu_tgt_set_base_path(client, path): """Set socket base path. Args: path: base path """ params = { 'path': path } return client.call('vfu_tgt_set_base_path', params) def vfu_virtio_delete_endpoint(client, name): """Delete specified endpoint name. Args: name: endpoint name """ params = { 'name': name } return client.call('vfu_virtio_delete_endpoint', params) def vfu_virtio_create_blk_endpoint(client, name, bdev_name, cpumask, num_queues, qsize, packed_ring): """Create virtio-blk endpoint. Args: name: endpoint name bdev_name: name of block device cpumask: CPU core mask num_queues: number of vrings qsize: number of element of each vring packed_ring: enable packed ring """ params = { 'name': name, 'bdev_name': bdev_name } if cpumask: params['cpumask'] = cpumask if num_queues: params['num_queues'] = num_queues if qsize: params['qsize'] = qsize if packed_ring: params['packed_ring'] = packed_ring return client.call('vfu_virtio_create_blk_endpoint', params) def vfu_virtio_scsi_add_target(client, name, scsi_target_num, bdev_name): """Attach a block device to the specified SCSI target. Args: name: endpoint name scsi_target_num: SCSI target number bdev_name: name of block device """ params = { 'name': name, 'scsi_target_num': scsi_target_num, 'bdev_name': bdev_name } return client.call('vfu_virtio_scsi_add_target', params) def vfu_virtio_scsi_remove_target(client, name, scsi_target_num): """Remove specified SCSI target of socket endpoint. Args: name: endpoint name scsi_target_num: SCSI target number """ params = { 'name': name, 'scsi_target_num': scsi_target_num } return client.call('vfu_virtio_scsi_remove_target', params) def vfu_virtio_create_scsi_endpoint(client, name, cpumask, num_io_queues, qsize, packed_ring): """Create virtio-scsi endpoint. Args: name: endpoint name cpumask: CPU core mask num_io_queues: number of IO vrings qsize: number of element of each vring packed_ring: enable packed ring """ params = { 'name': name, } if cpumask: params['cpumask'] = cpumask if num_io_queues: params['num_io_queues'] = num_io_queues if qsize: params['qsize'] = qsize if packed_ring: params['packed_ring'] = packed_ring return client.call('vfu_virtio_create_scsi_endpoint', params)