]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
fabrics: Allow ipv6 address resolution
authorSagi Grimberg <sagi@grimberg.me>
Tue, 16 Aug 2016 09:46:24 +0000 (12:46 +0300)
committerKeith Busch <keith.busch@intel.com>
Tue, 16 Aug 2016 15:58:40 +0000 (09:58 -0600)
While we're at it, make the adrfam condition
a proper switch-case statement.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fabrics.c

index 8a174d41b82b55a624950dcd916480db6db531eb..461e126cc56f03d09fcef4418b15bcf4c7928f26 100644 (file)
--- a/fabrics.c
+++ b/fabrics.c
@@ -438,25 +438,29 @@ 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:
-               if (e->adrfam != NVMF_ADDR_FAMILY_IP4) {
+               switch (e->adrfam) {
+               case NVMF_ADDR_FAMILY_IP4:
+               case NVMF_ADDR_FAMILY_IP6:
+                       /* FALLTHRU */
+                       len = sprintf(p, ",transport=rdma");
+                       if (len < 0)
+                               return -EINVAL;
+                       p += len;
+
+                       len = sprintf(p, ",traddr=%s", e->traddr);
+                       if (len < 0)
+                               return -EINVAL;
+                       p += len;
+
+                       len = sprintf(p, ",trsvcid=%s", e->trsvcid);
+                       if (len < 0)
+                               return -EINVAL;
+                       p += len;
+                       break;
+               default:
                        fprintf(stderr, "skipping unsupported adrfam\n");
                        return -EINVAL;
                }
-
-               len = sprintf(p, ",transport=rdma");
-               if (len < 0)
-                       return -EINVAL;
-               p += len;
-
-               len = sprintf(p, ",traddr=%s", e->traddr);
-               if (len < 0)
-                       return -EINVAL;
-               p += len;
-
-               len = sprintf(p, ",trsvcid=%s", e->trsvcid);
-               if (len < 0)
-                       return -EINVAL;
-               p += len;
                break;
        default:
                fprintf(stderr, "skipping unsupported transport %d\n",