@@ -96,6 +96,7 @@ static const char *arg_str(const char * const *strings,
static const char * const trtypes[] = {
[NVMF_TRTYPE_RDMA] = "rdma",
[NVMF_TRTYPE_FC] = "fibre-channel",
+ [NVMF_TRTYPE_TCP] = "tcp",
[NVMF_TRTYPE_LOOP] = "loop",
};
@@ -699,11 +700,13 @@ static int connect_ctrl(struct nvmf_disc_rsp_page_entry *e)
/* we can safely ignore the rest of the entries */
break;
case NVMF_TRTYPE_RDMA:
+ case NVMF_TRTYPE_TCP:
switch (e->adrfam) {
case NVMF_ADDR_FAMILY_IP4:
case NVMF_ADDR_FAMILY_IP6:
/* FALLTHRU */
- len = sprintf(p, ",transport=rdma");
+ len = sprintf(p, ",transport=%s",
+ e->trtype == NVMF_TRTYPE_RDMA ? "rdma" : "tcp");
if (len < 0)
return -EINVAL;
p += len;
@@ -52,6 +52,7 @@ enum {
enum {
NVMF_TRTYPE_RDMA = 1, /* RDMA */
NVMF_TRTYPE_FC = 2, /* Fibre Channel */
+ NVMF_TRTYPE_TCP = 3, /* TCP */
NVMF_TRTYPE_LOOP = 254, /* Reserved for host usage */
NVMF_TRTYPE_MAX,
};
Signed-off-by: Sagi Grimberg <sagi@lightbitslabs.com> --- fabrics.c | 5 ++++- linux/nvme.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-)