/* create, connect, sockopt, and exchange QP information */
if ((cm_ptr->socket =
- socket(AF_INET, SOCK_STREAM, 0)) == DAPL_INVALID_SOCKET) {
+ socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == DAPL_INVALID_SOCKET) {
dapl_os_free(cm_ptr, sizeof(*cm_ptr));
return DAT_INSUFFICIENT_RESOURCES;
}
{
struct sockaddr_in addr;
ib_cm_srvc_handle_t cm_ptr = NULL;
- int opt = 1;
DAT_RETURN dat_status = DAT_SUCCESS;
dapl_dbg_log(DAPL_DBG_TYPE_EP,
/* bind, listen, set sockopt, accept, exchange data */
if ((cm_ptr->socket =
- socket(AF_INET, SOCK_STREAM, 0)) == DAPL_INVALID_SOCKET) {
+ socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == DAPL_INVALID_SOCKET) {
dapl_log(DAPL_DBG_TYPE_ERR, " ERR: listen socket create: %s\n",
strerror(errno));
dat_status = DAT_INSUFFICIENT_RESOURCES;
goto bail;
}
- setsockopt(cm_ptr->socket, SOL_SOCKET, SO_REUSEADDR,
- (char *)&opt, sizeof(opt));
-
addr.sin_port = htons(serviceID);
addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = INADDR_ANY;
+ addr.sin_addr = ((struct sockaddr_in *) &ia_ptr->hca_ptr->hca_address)->sin_addr;
if ((bind(cm_ptr->socket, (struct sockaddr *)&addr, sizeof(addr)) < 0)
|| (listen(cm_ptr->socket, 128) < 0)) {