Hi, my company is developing some sort of API for iSCSI managing, and at this time we are trying to figure out how to create and delete targets using ctladm and not usingb the configuration file. And the relationship between LUNs and ports are unclear to us if we don't use the configuration file. As abount the creation of LUN everyting is clear: ctladm create -b block -o file=/dev/zvol/dataflash/kvm/emz -o ctld_name=iqn.2016-04.net.playkey.iscsi:emz666,lun,0 -o scsiname=iqn.2016-04.net.playkey.iscsi:emz666,lun,0 -d EMZ666 -S EMZ666 But what next ? How do I create the port ? Because without port there's no way the iSCSI initiator would see the target. And there's no port, create created only the LUN: [root at san:~]# ctladm portlist Port Online Frontend Name pp vp 0 YES tpc tpc 0 0 1 YES camsim camsim 0 0 naa.500000079e708702 2 YES ioctl ioctl 0 0 3 YES iscsi iscsi 257 1 iqn.2016-04.net.playkey.iscsi:games,t,0x0101 4 YES iscsi iscsi 257 2 iqn.2016-04.net.playkey.iscsi:games-worker01,t,0x0101 5 YES iscsi iscsi 257 3 iqn.2016-04.net.playkey.iscsi:games-worker02,t,0x0101 6 YES iscsi iscsi 257 4 iqn.2016-04.net.playkey.iscsi:games-worker03,t,0x0101 7 YES iscsi iscsi 257 5 iqn.2016-04.net.playkey.iscsi:games-worker04,t,0x0101 8 YES iscsi iscsi 257 6 iqn.2016-04.net.playkey.iscsi:games-worker05,t,0x0101 9 YES iscsi iscsi 257 7 iqn.2016-04.net.playkey.iscsi:cirrascale1,t,0x0101 10 YES iscsi iscsi 257 8 iqn.2016-04.net.playkey.iscsi:userdata1,t,0x0101 11 YES iscsi iscsi 257 9 iqn.2016-04.net.playkey.iscsi:userdata2,t,0x0101 12 YES iscsi iscsi 257 10 iqn.2016-04.net.playkey.iscsi:foobar,t,0x0101 13 YES iscsi iscsi 257 11 iqn.2016-04.net.playkey.iscsi:guest1,t,0x0101 14 YES iscsi iscsi 257 12 iqn.2016-04.net.playkey.iscsi:win7,t,0x0101 15 YES iscsi iscsi 257 13 iqn.2016-04.net.playkey.iscsi:guest2,t,0x0101 16 YES iscsi iscsi 257 14 iqn.2016-04.net.playkey.iscsi:guest3,t,0x0101 17 YES iscsi iscsi 257 19 iqn.2016-04.net.playkey.iscsi:guest4,t,0x0101 19 YES iscsi iscsi 257 17 iqn.2016-04.net.playkey.iscsi:zeppelin,t,0x0101 (obviously there's no entity named 'emz') [root at san:~]# ctladm devlist LUN Backend Size (Blocks) BS Serial Number Device ID 0 block 6442450944 512 MYSERIAL 0 MYDEVID 0 1 block 6442450944 512 MYSERIAL 1 MYDEVID 1 2 block 6442450944 512 MYSERIAL 2 MYDEVID 2 3 block 6442450944 512 MYSERIAL 3 MYDEVID 3 4 block 6442450944 512 MYSERIAL 4 MYDEVID 4 5 block 6442450944 512 MYSERIAL 5 MYDEVID 5 6 block 62914560 512 MYSERIAL 6 MYDEVID 6 7 block 104857600 512 MYSERIAL 7 MYDEVID 7 8 block 104857600 512 MYSERIAL 8 MYDEVID 8 9 block 2048 512 MYSERIAL 9 MYDEVID 9 10 block 104857600 512 MYSERIAL 10 MYDEVID 10 11 block 104857600 512 MYSERIAL 11 win7 12 block 104857600 512 MYSERIAL 12 guest2 13 block 104857600 512 MYSERIAL 13 guest3 16 block 104857600 512 MYSERIAL 16 zeppelin 15 block 104857600 512 666 guest4 14 block 104857600 512 MYSERIAL7777 MYDEVID7777 17 block 204800 512 EMZ666 EMZ666 <--- this is the device I want to create the target from. Thanks. Eugene.