diff options
Diffstat (limited to 'rpc/rpc-transport/rdma')
-rw-r--r-- | rpc/rpc-transport/rdma/src/name.c | 18 | ||||
-rw-r--r-- | rpc/rpc-transport/rdma/src/rdma.c | 10 |
2 files changed, 14 insertions, 14 deletions
diff --git a/rpc/rpc-transport/rdma/src/name.c b/rpc/rpc-transport/rdma/src/name.c index ea960cba4eb..e7d56fcc1a8 100644 --- a/rpc/rpc-transport/rdma/src/name.c +++ b/rpc/rpc-transport/rdma/src/name.c @@ -365,7 +365,7 @@ af_inet_server_get_local_sockaddr(rpc_transport_t *this, struct sockaddr *addr, { struct addrinfo hints, *res = 0; data_t *listen_port_data = NULL, *listen_host_data = NULL; - uint16_t listen_port = -1; + uint16_t listen_port = 0; char service[NI_MAXSERV], *listen_host = NULL; dict_t *options = NULL; int32_t ret = 0; @@ -373,13 +373,14 @@ af_inet_server_get_local_sockaddr(rpc_transport_t *this, struct sockaddr *addr, options = this->options; listen_port_data = dict_get(options, "transport.rdma.listen-port"); - listen_host_data = dict_get(options, "transport.rdma.bind-address"); - if (listen_port_data) { listen_port = data_to_uint16(listen_port_data); - } else { - listen_port = GF_DEFAULT_RDMA_LISTEN_PORT; + } + listen_host_data = dict_get(options, "transport.rdma.bind-address"); + if (listen_host_data) { + listen_host = data_to_str(listen_host_data); + } else { if (addr->sa_family == AF_INET6) { struct sockaddr_in6 *in = (struct sockaddr_in6 *)addr; in->sin6_addr = in6addr_any; @@ -395,13 +396,6 @@ af_inet_server_get_local_sockaddr(rpc_transport_t *this, struct sockaddr *addr, } } - if (listen_port == (uint16_t)-1) - listen_port = GF_DEFAULT_RDMA_LISTEN_PORT; - - if (listen_host_data) { - listen_host = data_to_str(listen_host_data); - } - sprintf(service, "%d", listen_port); memset(&hints, 0, sizeof(hints)); diff --git a/rpc/rpc-transport/rdma/src/rdma.c b/rpc/rpc-transport/rdma/src/rdma.c index 92c9ce95929..d5d93d13481 100644 --- a/rpc/rpc-transport/rdma/src/rdma.c +++ b/rpc/rpc-transport/rdma/src/rdma.c @@ -4670,6 +4670,7 @@ gf_rdma_listen(rpc_transport_t *this) gf_rdma_peer_t *peer = NULL; int ret = 0; gf_rdma_ctx_t *rdma_ctx = NULL; + cmd_args_t *cmd_args = NULL; char service[NI_MAXSERV], host[NI_MAXHOST]; int optval = 2; @@ -4725,15 +4726,20 @@ gf_rdma_listen(rpc_transport_t *this) RDMA_MSG_RDMA_BIND_ADDR_FAILED, "rdma_bind_addr failed"); goto err; } - ret = rdma_listen(peer->cm_id, priv->backlog); - if (ret != 0) { gf_msg(this->name, GF_LOG_WARNING, errno, RDMA_MSG_LISTEN_FAILED, "rdma_listen failed"); goto err; } + cmd_args = &(this->ctx->cmd_args); + if (!cmd_args->brick_port2) { + cmd_args->brick_port2 = rdma_get_src_port(peer->cm_id); + gf_log(this->name, GF_LOG_INFO, + "process started listening on port (%d)", cmd_args->brick_port2); + } + rpc_transport_ref(this); ret = 0; |