Spdk/python/spdk/rpc/vfio_user.py
Michal Berger 588dfe314b Add SPDX header to various files
They were missed by the initial set of patches which introduced this
header as a mandatory one across different types of files.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: I3f9b37d41298c843e1648e72fe8593768ccd37e0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15423
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-11-29 08:27:51 +00:00

113 lines
2.8 KiB
Python

# 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)