usage: spdk-rpc [options] SPDK RPC command line interface positional arguments: RPC methods accel_get_opc_assignments Get list of opcode name to module assignments. accel_get_module_info (accel_get_engine_info) Get list of valid module names and their operations. accel_assign_opc Manually assign an operation to a module. accel_crypto_key_create Create encryption key accel_crypto_key_destroy Destroy encryption key accel_crypto_keys_get Get a list of the crypto keys accel_set_driver Select accel platform driver to execute operation chains accel_set_options Set accel framework's options accel_get_stats Display accel framework's statistics rpc_get_methods Get list of supported RPC methods spdk_kill_instance Send signal to instance framework_start_init Start initialization of subsystems framework_wait_init Block until subsystems have been initialized framework_monitor_context_switch Control whether the context switch monitor is enabled framework_get_reactors Display list of all reactors framework_set_scheduler Select thread scheduler that will be activated and its period (experimental) framework_get_scheduler Display currently set scheduler and its properties. framework_get_governor Display currently set governor and the available, set CPU frequencies. scheduler_set_options Set scheduler options framework_disable_cpumask_locks Disable CPU core lock files. framework_enable_cpumask_locks Enable CPU core lock files. thread_get_stats Display current statistics of all the threads thread_set_cpumask set the cpumask of the thread whose ID matches to the specified value. The thread may be migrated to one of the specified CPUs. thread_get_pollers Display current pollers of all the threads thread_get_io_channels Display current IO channels of all the threads bdev_nvme_start_mdns_discovery Start mdns based automatic discovery bdev_nvme_stop_mdns_discovery Stop automatic mdns discovery bdev_nvme_get_mdns_discovery_info Get information about the automatic mdns discovery bdev_set_options Set options of bdev subsystem bdev_examine examine a bdev if it exists, or will examine it after it is created bdev_wait_for_examine Report when all bdevs have been examined bdev_crypto_create Add a crypto vbdev bdev_crypto_delete Delete a crypto disk bdev_ocf_create Add an OCF block device bdev_ocf_delete Delete an OCF block device bdev_ocf_get_stats Get statistics of chosen OCF block device bdev_ocf_reset_stats Reset statistics of chosen OCF block device bdev_ocf_get_bdevs Get list of OCF devices including unregistered ones bdev_ocf_set_cache_mode Set cache mode of OCF block device bdev_ocf_set_seqcutoff Set sequential cutoff parameters on all cores for the given OCF cache device bdev_ocf_flush_start Start flushing OCF cache device bdev_ocf_flush_status Get flush status of OCF cache device bdev_malloc_create Create a bdev with malloc backend bdev_malloc_delete Delete a malloc disk bdev_null_create Add a bdev with null backend bdev_null_delete Delete a null bdev bdev_null_resize Resize a null bdev bdev_aio_create Add a bdev with aio backend bdev_aio_rescan Rescan a bdev size with aio backend bdev_aio_delete Delete an aio disk bdev_uring_create Create a bdev with io_uring backend bdev_uring_rescan Rescan a bdev size with uring backend bdev_uring_delete Delete a uring bdev bdev_xnvme_create Create a bdev with xNVMe backend bdev_xnvme_delete Delete a xNVMe bdev bdev_nvme_set_options Set options for the bdev nvme type. This is startup command. bdev_nvme_set_hotplug Set hotplug options for bdev nvme type. bdev_nvme_attach_controller Add bdevs with nvme backend bdev_nvme_get_controllers Display current NVMe controllers list or required NVMe controller bdev_nvme_detach_controller Detach an NVMe controller and delete any associated bdevs bdev_nvme_reset_controller Reset an NVMe controller or all NVMe controllers in an NVMe bdev controller bdev_nvme_enable_controller Enable an NVMe controller or all NVMe controllers in an NVMe bdev controller bdev_nvme_disable_controller Disable an NVMe controller or all NVMe controllers in an NVMe bdev controller bdev_nvme_start_discovery Start automatic discovery bdev_nvme_stop_discovery Stop automatic discovery bdev_nvme_get_discovery_info Get information about the automatic discovery bdev_nvme_get_io_paths Display active I/O paths bdev_nvme_set_preferred_path Set the preferred I/O path for an NVMe bdev when in multipath mode bdev_nvme_set_multipath_policy Set multipath policy of the NVMe bdev bdev_nvme_get_path_iostat Display current I/O statistics of all the IO paths of the blockdev. It can be called when io_path_stat is true. bdev_nvme_cuse_register Register CUSE devices on NVMe controller bdev_nvme_cuse_unregister Unregister CUSE devices on NVMe controller bdev_nvme_set_keys Set DH-HMAC-CHAP keys and force (re)authentication on all connected qpairs bdev_zone_block_create Create virtual zone namespace device with block device backend bdev_zone_block_delete Delete a virtual zone namespace device bdev_rbd_register_cluster Add a Rados cluster with ceph rbd backend bdev_rbd_unregister_cluster Unregister a Rados cluster object bdev_rbd_get_clusters_info Display registered Rados Cluster names and related info bdev_rbd_create Add a bdev with ceph rbd backend bdev_rbd_delete Delete a rbd bdev bdev_rbd_resize Resize a rbd bdev bdev_delay_create Add a delay bdev on existing bdev bdev_delay_delete Delete a delay bdev bdev_delay_update_latency Update one of the latency values for a given delay bdev bdev_error_create Add bdev with error injection backend bdev_error_delete Delete an error bdev bdev_ec_create Create an erasure-coded bdev bdev_ec_delete Delete an erasure-coded bdev bdev_ec_get_bdevs Get information about EC bdevs bdev_ec_replace_base_bdev Hot-swap a failed disk in an EC bdev bdev_ec_start_rebuild Start background rebuild for all REPLACING slots bdev_ec_get_rebuild_progress Get background rebuild progress bdev_ec_resize Resize an EC bdev in-place after base bdevs grew bdev_ec_get_wib_status Get write-intent bitmap status bdev_ec_get_unmap_status Get unmap-bitmap status bdev_ec_set_rebuild_qos Set QoS parameters for an in-progress rebuild bdev_ec_stop_rebuild Stop an in-progress rebuild bdev_ec_get_scrub_progress Get startup scrub progress bdev_iscsi_set_options Set options for the bdev iscsi type. bdev_iscsi_create Add bdev with iSCSI initiator backend bdev_iscsi_delete Delete an iSCSI bdev bdev_passthru_create Add a pass through bdev on existing bdev bdev_passthru_delete Delete a pass through bdev bdev_get_bdevs Display current blockdev list or required blockdev bdev_get_iostat Display current I/O statistics of all the blockdevs or specified blockdev. bdev_reset_iostat Reset I/O statistics of all the blockdevs or specified blockdev. bdev_enable_histogram Enable or disable histogram for specified bdev bdev_get_histogram Get histogram for specified bdev bdev_set_qd_sampling_period Enable or disable tracking of a bdev's queue depth. bdev_set_qos_limit Set QoS rate limit on a blockdev bdev_error_inject_error bdev inject error bdev_nvme_apply_firmware Download and commit firmware to NVMe device bdev_nvme_get_transport_statistics Get bdev_nvme poll group transport statistics bdev_nvme_get_controller_health_info Display health log of the required NVMe bdev controller. bdev_raid_set_options Set options for bdev raid. bdev_raid_get_bdevs This is used to list all the raid bdev details based on the input category requested. Category should be one of 'all', 'online', 'configuring' or 'offline'. 'all' means all the raid bdevs whether they are online or configuring or offline. 'online' is the raid bdev which is registered with bdev layer. 'configuring' is the raid bdev which does not have full configuration discovered yet. 'offline' is the raid bdev which is not registered with bdev as of now and it has encountered any error or user has requested to offline the raid bdev bdev_raid_create Create new raid bdev bdev_raid_delete Delete existing raid bdev bdev_raid_add_base_bdev Add base bdev to existing raid bdev bdev_raid_remove_base_bdev Remove base bdev from existing raid bdev bdev_raid_grow_base_bdev Add a base bdev to a raid bdev, growing the raid's size if there isn't an empty base bdev slot bdev_split_create Add given disk name to split config. If bdev with base_name name exist the split bdevs will be created right away, if not split bdevs will be created when base bdev became available (during examination process). bdev_split_delete Delete split config with all created splits. bdev_ftl_create Add FTL bdev bdev_ftl_load Load FTL bdev bdev_ftl_unload Unload FTL bdev bdev_ftl_delete Delete FTL bdev bdev_ftl_unmap FTL unmap bdev_ftl_get_stats print ftl stats bdev_ftl_get_properties Print FTL properties bdev_ftl_set_property Set FTL property bdev_nvme_opal_init take ownership and activate bdev_nvme_opal_revert Revert to default factory settings bdev_opal_create Create opal bdev on specified NVMe controller bdev_opal_get_info get opal locking range info for this bdev bdev_opal_delete delete a virtual opal bdev bdev_opal_new_user Add a user to opal bdev who can set lock state for this bdev bdev_opal_set_lock_state set lock state for an opal bdev bdev_nvme_send_cmd NVMe passthrough cmd. bdev_nvme_add_error_injection Add a NVMe command error injection. bdev_nvme_remove_error_injection Removes a NVMe command error injection. bdev_daos_create Create a bdev with DAOS backend bdev_daos_delete Delete a DAOS disk bdev_daos_resize Resize a DAOS bdev fsdev_get_opts Get the fsdev subsystem options fsdev_set_opts Set the fsdev subsystem options fsdev_aio_create Create a aio filesystem fsdev_aio_delete Delete a aio filesystem iscsi_set_options Set options of iSCSI subsystem iscsi_set_discovery_auth Set CHAP authentication for discovery session. iscsi_create_auth_group Create authentication group for CHAP authentication. iscsi_delete_auth_group Delete an authentication group. iscsi_auth_group_add_secret Add a secret to an authentication group. iscsi_auth_group_remove_secret Remove a secret from an authentication group. iscsi_get_auth_groups Display current authentication group configuration iscsi_get_portal_groups Display current portal group configuration iscsi_get_initiator_groups Display current initiator group configuration iscsi_get_target_nodes Display target nodes iscsi_enable_histogram Enable or disable histogram for specified iscsi target iscsi_get_histogram Get histogram for specified iscsi target iscsi_create_target_node Add a target node iscsi_target_node_add_lun Add LUN to the target node iscsi_target_node_set_auth Set CHAP authentication for the target node iscsi_target_node_add_pg_ig_maps Add PG-IG maps to the target node iscsi_target_node_remove_pg_ig_maps Delete PG-IG maps from the target node iscsi_target_node_set_redirect Update redirect portal of the public portal group for the target node. Omit redirect host and port to clear previously set redirect settings. iscsi_target_node_request_logout For the target node, request connections whose portal group tag match to logout, or request all connections if portal group tag is omitted. iscsi_create_portal_group Add a portal group iscsi_start_portal_group Start listening on portals if it is not started yet. iscsi_create_initiator_group Add an initiator group iscsi_initiator_group_add_initiators Add initiators to an existing initiator group iscsi_initiator_group_remove_initiators Delete initiators from an existing initiator group iscsi_delete_target_node Delete a target node iscsi_delete_portal_group Delete a portal group iscsi_delete_initiator_group Delete an initiator group iscsi_portal_group_set_auth Set CHAP authentication for discovery sessions specific for the portal group iscsi_get_connections Display iSCSI connections iscsi_get_stats Display stat information of iSCSI connections. iscsi_get_options Display iSCSI global parameters scsi_get_devices Display SCSI devices keyring_file_add_key Add a file-based key to the keyring keyring_file_remove_key Remove a file-based key from the keyring keyring_get_keys Get a list of registered keys keyring_linux_set_options Set options of the keyring_linux module log_set_flag set log flag log_clear_flag clear log flag log_get_flags get log flags log_set_level set log level log_get_level get log level log_set_print_level set log print level log_get_print_level get log print level log_enable_timestamps Enable or disable timestamps. bdev_lvol_create_lvstore Add logical volume store on base bdev bdev_lvol_rename_lvstore Change logical volume store name bdev_lvol_grow_lvstore Grow the lvstore size to the underlying bdev size bdev_lvol_create Add a bdev with an logical volume backend bdev_lvol_snapshot Create a snapshot of an lvol bdev bdev_lvol_clone Create a clone of an lvol snapshot bdev_lvol_clone_bdev Create a clone of a non-lvol bdev bdev_lvol_set_xattr Set xattr for lvol bdev bdev_lvol_get_xattr Get xattr for lvol bdev bdev_lvol_rename Change lvol bdev name bdev_lvol_inflate Make thin provisioned lvol a thick provisioned lvol bdev_lvol_decouple_parent Decouple parent of lvol bdev_lvol_detach_parent Detach parent of lvol bdev_lvol_resize Resize existing lvol bdev bdev_lvol_set_read_only Mark lvol bdev as read only bdev_lvol_delete Destroy a logical volume bdev_lvol_start_shallow_copy Start a shallow copy of an lvol over a given bdev. The status of the operation can be obtained with bdev_lvol_check_shallow_copy bdev_lvol_check_shallow_copy Get shallow copy status bdev_lvol_start_deep_copy Start a deep copy of a lvol over a given bdev. The status of the operation can be obtained with bdev_lvol_check_deep_copy bdev_lvol_check_deep_copy Get deep copy status bdev_lvol_start_range_shallow_copy Start a range shallow copy of an lvol over a given bdev. The status of the operation can be obtained with bdev_lvol_check_shallow_copy bdev_lvol_register_snapshot_range_checksums Compute and store snapshot's whole and clusters checksums bdev_lvol_get_snapshot_range_checksums Get snapshot's clusters checksums in a specific range bdev_lvol_set_parent Set the parent snapshot of a lvol bdev_lvol_set_parent_bdev Set the parent external snapshot of a lvol bdev_lvol_get_fragmap Get a fragmap for a specific segment of a logical volume using the provided offset and size. bdev_lvol_register_snapshot_checksum Compute and store snapshot's checksum bdev_lvol_get_snapshot_checksum Get snapshot's stored checksum bdev_lvol_stop_snapshot_checksum Stop the registration of a snapshot's checksum bdev_lvol_delete_lvstore Destroy an logical volume store bdev_lvol_get_lvstores Display current logical volume store list bdev_lvol_get_lvols Display current logical volume list nbd_start_disk Export a bdev as an nbd disk nbd_stop_disk Stop an nbd disk nbd_get_disks Display full or specified nbd device list ublk_create_target Create spdk ublk target for ublk dev ublk_destroy_target Destroy spdk ublk target for ublk dev ublk_start_disk Export a bdev as a ublk device ublk_stop_disk Stop a ublk device ublk_recover_disk Recover ublk device ublk_get_disks Display full or specified ublk device list notify_get_types List available notifications that user can subscribe to. notify_get_notifications Get notifications nvmf_set_max_subsystems Set the maximum number of NVMf target subsystems nvmf_set_config Set NVMf target config nvmf_create_transport Create NVMf transport nvmf_get_transports Display nvmf transports or required transport nvmf_get_subsystems Display nvmf subsystems or required subsystem nvmf_create_subsystem Create an NVMe-oF subsystem nvmf_delete_subsystem Delete a nvmf subsystem nvmf_subsystem_add_listener Add a listener to an NVMe-oF subsystem nvmf_subsystem_remove_listener Remove a listener from an NVMe-oF subsystem nvmf_subsystem_listener_set_ana_state Set ANA state of a listener for an NVMe-oF subsystem nvmf_discovery_add_referral Add a discovery service referral to an NVMe-oF target nvmf_discovery_remove_referral Remove a discovery service referral from an NVMe-oF target nvmf_discovery_get_referrals Display discovery subsystem referrals of an NVMe-oF target nvmf_subsystem_add_ns Add a namespace to an NVMe-oF subsystem nvmf_subsystem_set_ns_ana_group Change ANA group ID of a namespace nvmf_subsystem_remove_ns Remove a namespace to an NVMe-oF subsystem nvmf_ns_add_host Make namespace visible to controllers of host nvmf_ns_remove_host Make namespace not visible to controllers of host nvmf_subsystem_add_host Add a host to an NVMe-oF subsystem nvmf_subsystem_remove_host Remove a host from an NVMe-oF subsystem nvmf_subsystem_set_keys Set keys required for a host to connect to a given subsystem nvmf_subsystem_allow_any_host Allow any host to connect to the subsystem nvmf_subsystem_get_controllers Display controllers of an NVMe-oF subsystem. nvmf_subsystem_get_qpairs Display queue pairs of an NVMe-oF subsystem. nvmf_subsystem_get_listeners Display listeners of an NVMe-oF subsystem. nvmf_get_stats Display current statistics for NVMf subsystem nvmf_set_crdt Set the 3 crdt (Command Retry Delay Time) values for NVMf subsystem. All values are in units of 100 milliseconds (same as the NVM Express specification). nvmf_publish_mdns_prr Publish pull registration request through mdns nvmf_stop_mdns_prr Stop publishing pull registration request through mdns trace_enable_tpoint_group enable trace on a specific tpoint group trace_disable_tpoint_group disable trace on a specific tpoint group trace_set_tpoint_mask enable tracepoint mask on a specific tpoint group trace_clear_tpoint_mask disable tracepoint mask on a specific tpoint group trace_get_tpoint_group_mask get trace point group mask trace_get_info get name of shared memory file and list of the available trace point groups vhost_controller_set_coalescing Set vhost controller coalescing virtio_blk_create_transport Create virtio blk transport virtio_blk_get_transports Display virtio-blk transports or requested transport vhost_create_scsi_controller Add new vhost controller vhost_start_scsi_controller Start vhost scsi controller vhost_scsi_controller_add_target Add lun to vhost controller vhost_scsi_controller_remove_target Remove target from vhost controller vhost_create_blk_controller Add a new vhost block controller vhost_get_controllers List all or specific vhost controller(s) vhost_delete_controller Delete a vhost controller bdev_virtio_attach_controller Attach virtio controller using provided transport type and device type. This will also create bdevs for any block devices connected to the controller (for example, SCSI devices for a virtio-scsi controller). Result is array of added bdevs. bdev_virtio_scsi_get_devices List all Virtio-SCSI devices. bdev_virtio_detach_controller Remove a Virtio device This will delete all bdevs exposed by this device bdev_virtio_blk_set_hotplug Set hotplug options for bdev virtio_blk type. vmd_enable (enable_vmd) Enable VMD enumeration vmd_remove_device Remove a device behind VMD vmd_rescan Force a rescan of the devices behind VMD sock_impl_get_options Get options of socket layer implementation sock_impl_set_options Set options of socket layer implementation sock_set_default_impl Set the default sock implementation sock_get_default_impl Get the default sock implementation name vfu_tgt_set_base_path Set socket base path. vfu_virtio_delete_endpoint Delete the PCI device via endpoint name. vfu_virtio_create_blk_endpoint Create virtio-blk endpoint. vfu_virtio_scsi_add_target Attach a block device to SCSI target of PCI endpoint. vfu_virtio_scsi_remove_target Remove the specified SCSI target of PCI endpoint. vfu_virtio_create_scsi_endpoint Create virtio-scsi endpoint. vfu_virtio_create_fs_endpoint Create virtio-fs endpoint. iobuf_set_options Set iobuf pool options iobuf_get_stats Display iobuf statistics spdk_get_version Get SPDK version save_config Write current (live) configuration of SPDK subsystems and targets to stdout. load_config Configure SPDK subsystems and targets using JSON RPC. save_subsystem_config Write current (live) configuration of SPDK subsystem to stdout. load_subsystem_config Configure SPDK subsystem using JSON RPC. framework_get_subsystems Print subsystems array in initialization order. Each subsystem entry contain (unsorted) array of subsystems it depends on. framework_get_config Print subsystem configuration ioat_scan_accel_module (ioat_scan_accel_engine) Enable IOAT accel module offload. compressdev_scan_accel_module Scan and enable compressdev module and set pmd option. dsa_scan_accel_module (dsa_scan_accel_engine) Set config and enable dsa accel module offload. iaa_scan_accel_module (iaa_scan_accel_engine) Set config and enable iaa accel module offload. dpdk_cryptodev_scan_accel_module Enable dpdk_cryptodev accel module offload. dpdk_cryptodev_set_driver Set the DPDK cryptodev driver. dpdk_cryptodev_get_driver Get the DPDK cryptodev driver mlx5_scan_accel_module Enable mlx5 accel module. accel_mlx5_dump_stats Dump accel mlx5 module statistics. accel_error_inject_error Inject an error to processing accel operation env_dpdk_get_mem_stats write the dpdk memory stats to a file. framework_get_pci_devices Get a list of attached PCI devices options: -h, --help show this help message and exit -s SERVER_ADDR RPC domain socket path or IP address -p PORT RPC port number (if server_addr is IP address) -t TIMEOUT Timeout as a floating point number expressed in seconds waiting for response. Default: 60.0 -r CONN_RETRIES Retry connecting to the RPC server N times with 0.2s interval. Default: 0 -v Set verbose mode to INFO --verbose {DEBUG,INFO,ERROR} Set verbose level. --dry-run Display request and exit --go-client Use Go client --server Start listening on stdin, parse each line as a regular rpc.py execution and create a separate connection for each command. Each command's output ends with either **STATUS=0 if the command succeeded or **STATUS=1 if it failed. --server is meant to be used in conjunction with bash coproc, where stdin and stdout are connected to pipes and can be used as a faster way to send RPC commands. If enabled, rpc.py must be executed without any other parameters. --plugin RPC_PLUGIN Module name of plugin with additional RPC commands