static void dapli_addr_resolve(struct dapl_cm_id *conn)
{
- int ret;
+ int ret, tos;
#ifdef DAPL_DBG
struct rdma_addr *ipaddr = &conn->cm_id->route.addr;
#endif
ntohl(((struct sockaddr_in *)
&ipaddr->dst_addr)->sin_addr.s_addr));
+ tos = dapl_os_get_env_val("DAPL_CM_TOS", 0);
+ if (tos) {
+ ret = rdma_set_option(conn->cm_id,RDMA_OPTION_ID,RDMA_OPTION_ID_TOS,&tos,sizeof(uint8_t));
+ if (ret) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapl_cma_connect: failed to set TOS ERR 0x%x %s\n",
+ ret, strerror(errno));
+ }
+ }
+
ret = rdma_resolve_route(conn->cm_id, conn->route_timeout);
if (ret) {
dapl_log(DAPL_DBG_TYPE_ERR,