diff options
| -rw-r--r-- | rpc/rpc-transport/rdma/src/name.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/rpc/rpc-transport/rdma/src/name.c b/rpc/rpc-transport/rdma/src/name.c index c57428ad62e..52ce5bbce55 100644 --- a/rpc/rpc-transport/rdma/src/name.c +++ b/rpc/rpc-transport/rdma/src/name.c @@ -437,7 +437,14 @@ gf_rdma_client_bind (rpc_transport_t *this, struct sockaddr *sockaddr,                                  "cannot bind rdma_cm_id to port "                                  "less than %d (%s)", GF_CLIENT_PORT_CEILING,                                  strerror (errno)); -                        ret = 0; +                        if (sockaddr->sa_family == AF_INET6) { +                                ((struct sockaddr_in6 *)sockaddr)->sin6_port +                                        = htons (0); +                        } else { +                                ((struct sockaddr_in *)sockaddr)->sin_port +                                        = htons (0); +                        } +                        ret = rdma_bind_addr (cm_id, sockaddr);                  }                  break;  | 
