On Wed, 2017-05-03 at 02:38 +0000, Ramaraj Pandian wrote: > I don’t think so but want to ask that Can connected target devices be treated > as local nvme for spdk to work as initiator? Is there any near term plan to > support SPDK host initiator? >   SPDK already contains an NVMe-oF initiator and it happens to be the same library as the NVMe driver. You can connect to a remote device by simply specifying a different transport id to spdk_nvme_probe. Since later in this email chain you talk about RocksDB, I'll use that as an example. The SPDK backend for RocksDB uses a configuration file that by default is at /usr/local/etc/spdk/rocksdb.conf. If you followed along with the instructions to set it up for a local device, at the end of the file you'll see a section like this: [Nvme] TransportID "trtype:PCIe traddr:0000:02:00.0" Nvme0 That's saying to use the PCI device at the given address as the backing storage. If you instead want to connect to a remote device using NVMe-oF, simply change the configuration file to this (ignore word wrap from my email client): [Nvme] TransportID "trtype:RDMA traddr: trsvcid: adrfam:IPv4 subnqn:" Nvme0 For this to work, you'll need to have compiled SPDK with RDMA support. You can do that by adding CONFIG_RDMA=y to the command line when you type make. Full disclosure: I've never tested the RocksDB code using a remote device. It should work, but I've never tried it.