| /spdk/lib/iscsi/ |
| H A D | tgt_node.c | 205 static struct spdk_iscsi_pg_map *iscsi_tgt_node_find_pg_map(struct spdk_iscsi_tgt_node *target, 210 struct spdk_iscsi_tgt_node *target, const char *iqn, const char *addr) in iscsi_tgt_node_access() argument 218 if (conn == NULL || target == NULL || iqn == NULL || addr == NULL) { in iscsi_tgt_node_access() 225 pg_map = iscsi_tgt_node_find_pg_map(target, pg); in iscsi_tgt_node_access() 246 iqn, addr, target->name, conn->portal_host, in iscsi_tgt_node_access() 252 iscsi_tgt_node_allow_iscsi_name(struct spdk_iscsi_tgt_node *target, const char *iqn) in iscsi_tgt_node_allow_iscsi_name() argument 259 if (target == NULL || iqn == NULL) { in iscsi_tgt_node_allow_iscsi_name() 263 TAILQ_FOREACH(pg_map, &target->pg_map_head, tailq) { in iscsi_tgt_node_allow_iscsi_name() 301 struct spdk_iscsi_tgt_node *target, in iscsi_send_tgt_portals() argument 313 TAILQ_FOREACH(pg_map, &target->pg_map_head, tailq) { in iscsi_send_tgt_portals() [all …]
|
| H A D | tgt_node.h | 78 bool iscsi_tgt_node_is_destructed(struct spdk_iscsi_tgt_node *target); 98 int iscsi_target_node_add_pg_ig_maps(struct spdk_iscsi_tgt_node *target, 101 int iscsi_target_node_remove_pg_ig_maps(struct spdk_iscsi_tgt_node *target, 104 int iscsi_tgt_node_redirect(struct spdk_iscsi_tgt_node *target, int pg_tag, 107 struct spdk_iscsi_tgt_node *target, 111 struct spdk_iscsi_tgt_node *target, const char *iqn, 115 struct spdk_iscsi_tgt_node *target); 118 int iscsi_tgt_node_add_lun(struct spdk_iscsi_tgt_node *target, 120 int iscsi_tgt_node_set_chap_params(struct spdk_iscsi_tgt_node *target, 126 int iscsi_tgt_node_enable_histogram(struct spdk_iscsi_tgt_node *target, bool enable);
|
| H A D | iscsi_rpc.c | 403 struct spdk_iscsi_tgt_node *target; in rpc_iscsi_create_target_node() local 431 target = iscsi_tgt_node_construct(-1, req.name, req.alias_name, in rpc_iscsi_create_target_node() 446 if (target == NULL) { in rpc_iscsi_create_target_node() 476 struct spdk_iscsi_tgt_node *target; in rpc_iscsi_target_node_add_pg_ig_maps() local 488 target = iscsi_find_tgt_node(req.name); in rpc_iscsi_target_node_add_pg_ig_maps() 489 if (target == NULL) { in rpc_iscsi_target_node_add_pg_ig_maps() 499 rc = iscsi_target_node_add_pg_ig_maps(target, pg_tags, ig_tags, in rpc_iscsi_target_node_add_pg_ig_maps() 524 struct spdk_iscsi_tgt_node *target; in rpc_iscsi_target_node_remove_pg_ig_maps() local 536 target = iscsi_find_tgt_node(req.name); in rpc_iscsi_target_node_remove_pg_ig_maps() 537 if (target == NULL) { in rpc_iscsi_target_node_remove_pg_ig_maps() [all …]
|
| H A D | conn.c | 332 struct spdk_iscsi_tgt_node *target; in iscsi_conn_cleanup_backend() local 338 * a> a target is connected by a single initiator, cleanup backend cancels inflight in iscsi_conn_cleanup_backend() 340 * b> a target is connected by multiple initiators, one of these initiators in iscsi_conn_cleanup_backend() 345 target = conn->sess->target; in iscsi_conn_cleanup_backend() 346 if (target != NULL && iscsi_get_active_conns(target) == 1) { in iscsi_conn_cleanup_backend() 347 rc = iscsi_tgt_node_cleanup_luns(conn, target); in iscsi_conn_cleanup_backend() 349 SPDK_ERRLOG("target abort failed\n"); in iscsi_conn_cleanup_backend() 574 struct spdk_iscsi_tgt_node *target; in iscsi_conn_stop() local 706 iscsi_get_active_conns(struct spdk_iscsi_tgt_node * target) iscsi_get_active_conns() argument 818 iscsi_conns_request_logout(struct spdk_iscsi_tgt_node * target,int pg_tag) iscsi_conns_request_logout() argument 1529 struct spdk_iscsi_tgt_node *target; iscsi_conn_schedule() local [all...] |
| H A D | conn.h | 120 struct spdk_iscsi_tgt_node *target; member 153 * This is the maximum data segment length that iscsi target can send 155 * maximum data segment length that initiators can send to iscsi target, which 162 uint32_t ttt; /* target transfer tag */ 181 void iscsi_conns_request_logout(struct spdk_iscsi_tgt_node *target, int pg_tag); 182 int iscsi_get_active_conns(struct spdk_iscsi_tgt_node *target);
|
| H A D | iscsi.c | 506 sess->target = NULL; in iscsi_free_sess() 516 struct spdk_iscsi_tgt_node *target, in create_iscsi_sess() argument 562 sess->target = target; in create_iscsi_sess() 700 (conn->target != sess->target)) { in append_iscsi_sess() 1037 SPDK_ERRLOG("FirstBurstLength(%d) > iSCSI target restriction(%d)\n", in iscsi_check_values() 1397 * This function is used to check the target info 1406 struct spdk_iscsi_tgt_node **target) in iscsi_op_login_check_target() argument 1412 *target in iscsi_op_login_check_target() 1570 iscsi_op_login_negotiate_chap_param(struct spdk_iscsi_conn * conn,struct spdk_iscsi_tgt_node * target) iscsi_op_login_negotiate_chap_param() argument 1582 iscsi_op_login_negotiate_digest_param(struct spdk_iscsi_conn * conn,struct spdk_iscsi_tgt_node * target) iscsi_op_login_negotiate_digest_param() argument 1626 struct spdk_iscsi_tgt_node *target = NULL; iscsi_op_login_session_normal() local 1711 struct spdk_iscsi_tgt_node *target; iscsi_op_login_set_conn_info() local 1784 struct spdk_iscsi_tgt_node *target = conn->target; iscsi_op_login_set_target_info() local [all...] |
| /spdk/test/nvmf/ |
| H A D | nvmf.sh | 18 # Interrupt mode for now is supported only on the target, with the TCP transport and posix or ssl socket implementations. 21 run_test "nvmf_interrupt" $rootdir/test/nvmf/target/interrupt.sh --transport=$SPDK_TEST_NVMF_TRANSPORT --interrupt-mode
|
| /spdk/test/bdev/bdevio/ |
| H A D | bdevio.c | 52 struct io_target *target; member 88 struct io_target *target = arg; in __get_io_channel() local 90 target->ch = spdk_bdev_get_io_channel(target->bdev_desc); in __get_io_channel() 91 assert(target->ch); in __get_io_channel() 104 struct io_target *target; in bdevio_construct_target_by_name() local 110 target = malloc(sizeof(struct io_target)); in bdevio_construct_target_by_name() 111 if (target == NULL) { in bdevio_construct_target_by_name() 116 &target->bdev_desc); in bdevio_construct_target_by_name() 118 free(target); in bdevio_construct_target_by_name() 123 bdev = spdk_bdev_desc_get_bdev(target->bdev_desc); in bdevio_construct_target_by_name() [all …]
|
| /spdk/test/json_config/ |
| H A D | json_config_with_delay.sh | 12 declare -A app_pid=([target]="") 13 declare -A app_socket=([target]='/var/tmp/spdk_tgt.sock') 14 declare -A configs_path=([target]="$rootdir/test/json_config/tgt_config.json") 18 killprocess ${app_pid[target]} 26 json_config_test_start_app target --wait-for-rpc 28 waitforlisten ${app_pid[target]} ${app_socket[target]} 40 waitforlisten ${app_pid[target]} ${app_socket[target]} 46 tgt_rpc save_config > ${configs_path[target]} 48 json_config_test_shutdown_app target 50 json_config_test_start_app target --wait-for-rpc --json ${configs_path[target]} [all …]
|
| H A D | json_config_extra_key.sh | 17 declare -A app_pid=([target]="") 18 declare -A app_socket=([target]='/var/tmp/spdk_tgt.sock') 19 declare -A app_params=([target]='-m 0x1 -s 1024') 20 declare -A configs_path=([target]="$rootdir/test/json_config/extra_key.json") 25 json_config_test_start_app target --json ${configs_path[target]} 28 json_config_test_shutdown_app target
|
| H A D | json_config.sh | 17 echo "WARNING: Virtio initiator JSON_config test requires vhost target." 31 declare -A app_pid=([target]="" [initiator]="") 32 declare -A app_socket=([target]='/var/tmp/spdk_tgt.sock' [initiator]='/var/tmp/spdk_initiator.sock') 33 declare -A app_params=([target]='-m 0x1 -s 1024' [initiator]='-m 0x2 -g -u -s 1024') 34 declare -A configs_path=([target]="$rootdir/spdk_tgt_config.json" [initiator]="$rootdir/spdk_initiator_config.json") 272 json_config_test_start_app target --wait-for-rpc 324 if [[ -n "${app_pid[target]}" ]]; then 330 killprocess ${app_pid[target]} 366 tgt_rpc save_config > ${configs_path[target]} 375 json_config_clear target [all...] |
| /spdk/doc/ |
| H A D | iscsi.md | 5 The Storage Performance Development Kit iSCSI target application is named `iscsi_tgt`. 31 To ensure the SPDK iSCSI target has the best performance, place the NICs and the NVMe devices on the 32 same NUMA node and configure the target to run on CPU cores associated with that node. The following 33 command line option is used to configure the SPDK iSCSI target: 39 This is a hexadecimal bit mask of the CPU cores where the iSCSI target will start polling threads. 44 The iSCSI target is configured via JSON-RPC calls. See @ref jsonrpc for details. 50 …de_add_pg_ig_maps -- Add initiator group to portal group mappings to an existing iSCSI target node. 51 …e_pg_ig_maps -- Delete initiator group to portal group mappings from an existing iSCSI target node. 71 - iscsi_create_target_node -- Add an iSCSI target node. 72 - iscsi_delete_target_node -- Delete an iSCSI target node. [all …]
|
| H A D | nvmf_tgt_pg.md | 6 use the SPDK NVMe-oF target library (`lib/nvmf`). It is intended to provide 8 guide will not cover how to use the SPDK NVMe-oF target application. For a 13 The SPDK NVMe-oF target library is located in `lib/nvmf`. The library 14 implements all logic required to create an NVMe-oF target application. It is 15 used in the implementation of the example NVMe-oF target application in 27 `struct spdk_nvmf_tgt`: An NVMe-oF target. This concept, surprisingly, does 31 throughout this guide as a **target**. 61 `struct spdk_nvmf_listener`: A network address at which the target will accept 69 A user of the NVMe-oF target library begins by creating a target using 85 Once a subsystem exists and the target is listening on an address, new [all …]
|
| H A D | nvmf_multipath_howto.md | 7 ## Build SPDK on both the initiator and target servers 29 ## On target: start and configure SPDK 31 Start the target in the background and configure it: 77 …ommand will return, leaving the test to run for 90 seconds in the background. On the target server, 87 This can be done on the target server by setting the first path's ANA to `non_optimized`: 96 First, ensure the ANA for both paths is configured as `optimized` on the target. Then, change the
|
| H A D | vhost.md | 16 A vhost target provides a local storage service as a process running on a local machine. 26 SPDK provides an accelerated vhost target by applying the same user space and polling 34 getting_started. The SPDK vhost target is built with the default configure options. 38 Additional command line flags are available for Vhost target. 49 installed separately. The SPDK vhost target has been tested with recent versions of Ubuntu, 54 Userspace vhost-scsi target support was added to upstream QEMU in v2.10.0. Run 61 Userspace vhost-blk target support was added to upstream QEMU in v2.12.0. Run 68 ## Starting SPDK vhost target {#vhost_start} 70 First, run the SPDK setup.sh script to setup some hugepages for the SPDK vhost target 72 vhost target and the virtual machine. [all …]
|
| /spdk/lib/event/ |
| H A D | reactor.c | 380 struct spdk_reactor *target = arg1; in _reactor_set_interrupt_mode() 384 spdk_cpuset_set_cpu(&reactor->notify_cpuset, target->lcore, target->new_in_interrupt); in _reactor_set_interrupt_mode() 400 struct spdk_reactor *target = arg1; in _reactor_set_interrupt_mode() 402 if (target->new_in_interrupt == false) { in _reactor_set_interrupt_mode() 403 target->set_interrupt_mode_in_progress = false; in _reactor_set_interrupt_mode() 404 _event_call(spdk_scheduler_get_scheduling_lcore(), target->set_interrupt_mode_cb_fn, in _reactor_set_interrupt_mode() 405 target->set_interrupt_mode_cb_arg, NULL); in _reactor_set_interrupt_mode() 407 _event_call(target->lcore, _reactor_set_interrupt_mode, target, NUL in _reactor_set_interrupt_mode() 331 struct spdk_reactor *target = arg1; _reactor_set_notify_cpuset() local 351 struct spdk_reactor *target = arg1; _reactor_set_notify_cpuset_cpl() local 373 struct spdk_reactor *target = arg1; _reactor_set_interrupt_mode() local 431 struct spdk_reactor *target; spdk_reactor_set_interrupt_mode() local [all...] |
| /spdk/test/nvmf/target/ |
| H A D | abort_qd_sizes.sh | 24 local target r 29 target=${target:+$target }$r:${!r} 38 -r "$target"
|
| H A D | invalid.sh | 11 multi_target_rpc=$rootdir/test/nvmf/target/multitarget_rpc.py 14 target=foobar 40 out=$("$rpc" nvmf_create_subsystem -t "$target" "$nqn$RANDOM" 2>&1) && false 87 out=$("$multi_target_rpc" nvmf_delete_target --name "$target" 2>&1) && false
|
| /spdk/examples/nvmf/nvmf/ |
| H A D | README.md | 1 # NVMe-oF target without SPDK event framework 11 to setup the nvmf target. 17 Then, you need to use the RPC cmd to config the nvmf target. You can use the -h to get how many 22 Next, You should use the RPC cmd to setup nvmf target. 29 Last, start the initiator to connect the nvmf example target and test the IOs
|
| /spdk/docker/ |
| H A D | README.md | 5 target sharing devices to another SPDK NVMe-oF application. Which serves 6 as both initiator and target. Finally a traffic generator based on FIO 39 - storage-target 50 - storage-target: Contains SPDK NVMe-oF target exposing single subsystem to `proxy-container` based… 51 - proxy-container: Connecting to `storage-target` and then exposing the same devices to `traffic-ge… 67 The `storage-target` and `proxy-container` can be started as services. 88 docker-compose exec storage-target rpc.py bdev_get_bdevs 98 - storage-target: Contains SPDK NVMe-oF target exposing single subsystem based on malloc bdev.
|
| /spdk/python/spdk/spdkcli/ |
| H A D | ui_node_iscsi.py | 167 def __init__(self, device, target, parent): argument 170 self.target = target 219 UIISCSILuns(self.target['luns'], self) 220 UIISCSIPgIgMaps(self.target['pg_ig_maps'], self) 221 auths = {"disable_chap": self.target["disable_chap"], 222 "require_chap": self.target["require_chap"], 223 "mutual_chap": self.target["mutual_chap"], 224 "chap_group": self.target["chap_group"], 225 "data_digest": self.target["data_digest"]} 230 self.target['queue_depth']), None
|
| H A D | ui_node.py | 105 Creates logical volume store on target bdev. 462 iSCSI target. 466 url - iscsi url pointing to LUN on remote iSCSI target. 468 initiator_iqn - IQN to use for initiating connection with the target. 732 Remove target node from SCSI controller. 735 target_num - Integer identifier of target node to delete. 745 Add LUN to SCSI target node. 746 Currently only one LUN (which is LUN ID 0) per target is supported. 747 Adding LUN to not existing target node will create that node. 750 target_num - Integer identifier of target nod 778 __init__(self, target, parent) global() argument [all...] |
| /spdk/test/common/config/pkgdep/patches/qat/ |
| H A D | 0001-no-vmlinux.patch | |
| /spdk/module/bdev/virtio/ |
| H A D | bdev_virtio_scsi.c | 52 /** Context for the SCSI target scan. */ 97 uint8_t target; member 130 /** Scan results for the current target. */ 376 if (disk->info.target == target_id) { in virtio_scsi_dev_get_disk_by_id() 387 static void _virtio_scsi_dev_scan_tgt(struct virtio_scsi_scan_base *base, uint8_t target); 390 static int virtio_scsi_dev_scan_tgt(struct virtio_scsi_dev *svdev, uint8_t target); 457 req->lun[1] = disk->info.target; in bdev_virtio_init_io_vreq() 480 tmf_req->lun[1] = disk->info.target; in bdev_virtio_init_tmf_vreq() 1063 req->lun[1] = base->info.target; in send_scan_io() 1266 base->info.target, (in in process_scan_inquiry_vpd_block_thin_provision() 1592 _virtio_scsi_dev_scan_tgt(struct virtio_scsi_scan_base * base,uint8_t target) _virtio_scsi_dev_scan_tgt() argument 1647 virtio_scsi_dev_scan_tgt(struct virtio_scsi_dev * svdev,uint8_t target) virtio_scsi_dev_scan_tgt() argument [all...] |
| /spdk/test/vfio_user/virtio/ |
| H A D | initiator_bdevperf.sh | 33 $rpc_py vfu_virtio_scsi_add_target vfu.scsi --scsi-target-num=0 --bdev-name malloc1 34 $rpc_py vfu_virtio_scsi_add_target vfu.scsi --scsi-target-num=1 --bdev-name malloc2
|