Hi Sagi, I assume you are using SIW on both target and initiator. And I belive you have a workaround something like below, because existing iSER target won't work with SIW as both ISCSI_TCP and ISCSI_INFINIBAND transports tries to listen on same IP:PPORT. diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index 59379d6..d3347ab 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c @@ -739,14 +739,12 @@ static int __init iscsi_target_init_module(void) goto ooo_out; } - iscsit_register_transport(&iscsi_target_transport); if (iscsit_load_discovery_tpg() < 0) goto r2t_out; return ret; r2t_out: - iscsit_unregister_transport(&iscsi_target_transport); kmem_cache_destroy(lio_r2t_cache); ooo_out: kmem_cache_destroy(lio_ooo_cache); @@ -769,7 +767,6 @@ static int __init iscsi_target_init_module(void) static void __exit iscsi_target_cleanup_module(void) { iscsit_release_discovery_tpg(); - iscsit_unregister_transport(&iscsi_target_transport); kmem_cache_destroy(lio_qr_cache); kmem_cache_destroy(lio_dr_cache); kmem_cache_destroy(lio_ooo_cache); diff --git a/drivers/target/iscsi/iscsi_target_configfs.c b/drivers/target/iscsi/iscsi_target_configfs.c index 0fa1d57..32b3c64 100644 --- a/drivers/target/iscsi/iscsi_target_configfs.c +++ b/drivers/target/iscsi/iscsi_target_configfs.c @@ -234,7 +234,7 @@ static struct se_tpg_np *lio_target_call_addnptotpg( * */ tpg_np = iscsit_tpg_add_network_portal(tpg, &sockaddr, NULL, - ISCSI_TCP); + ISCSI_INFINIBAND); if (IS_ERR(tpg_np)) { iscsit_put_tpg(tpg); return ERR_CAST(tpg_np); someone may ask iwpmd should detect that ISCSI_TCP is already using that same port and should map to other available port from tcp portspace, but this hold true only for hard iWARP case, for SIW case, iwpmd does not perfrom any mapping as SIW runs on top of TCP kernel sockets. Please share if you are using some other workaround to handle this issue. Thanks, Krishna.