From b51877a56282edcb8a7f816a49168e7605b85355 Mon Sep 17 00:00:00 2001 From: Arlin Davis Date: Tue, 25 Mar 2014 13:49:31 -0700 Subject: [PATCH] mpxyd: disable inside box support via scif only, use IB Signed-off-by: Arlin Davis --- dapl/svc/mcm.c | 11 +++++++++-- dapl/svc/mix.c | 15 +++++++++++++-- dapl/svc/mpxy_out.c | 4 ++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/dapl/svc/mcm.c b/dapl/svc/mcm.c index 584b6b0..a3d66bb 100644 --- a/dapl/svc/mcm.c +++ b/dapl/svc/mcm.c @@ -502,7 +502,11 @@ mcm_cm_t *m_cm_create(mcm_scif_dev_t *smd, mcm_qp_t *m_qp, dat_mcm_addr_t *r_add cm->md = smd->md; cm->msg.ver = htons(DAT_MCM_VER); cm->msg.sqpn = smd->md->addr.qpn; /* ucm, in network order */ - cm->msg.sys_guid = system_guid; /* in network order */ +#ifdef MPXYD_LOCAL_SUPPORT + cm->msg.sys_guid = system_guid; /* network order */ +#else + cm->msg.sys_guid = rand(); /* send local guid */ +#endif /* ACTIVE: init source address QP info from MPXYD and MIC client */ if (m_qp) { @@ -1404,8 +1408,11 @@ int mcm_cm_rtu_out(mcm_cm_t *m_cm) m_cm->state = MCM_CONNECTED; m_cm->msg.op = htons(MCM_RTU); m_cm->timer = mcm_time_us(); /* reset reply timer */ +#ifdef MPXYD_LOCAL_SUPPORT m_cm->msg.sys_guid = system_guid; /* send local guid */ - +#else + m_cm->msg.sys_guid = rand(); /* send local guid */ +#endif if (mcm_send(m_cm->md, &m_cm->msg, NULL, 0)) { m_cm->msg.sys_guid = r_guid; goto bail; diff --git a/dapl/svc/mix.c b/dapl/svc/mix.c index 850b452..4a5a890 100644 --- a/dapl/svc/mix.c +++ b/dapl/svc/mix.c @@ -268,7 +268,11 @@ static int mix_listen(mcm_scif_dev_t *smd, dat_mix_listen_t *pmsg) cm->msg.saddr1.lid = smd->md->lid; cm->msg.saddr1.port = smd->md->port; cm->msg.saddr1.ep_map = smd->md->addr.ep_map; - cm->msg.sys_guid = system_guid; +#ifdef MPXYD_LOCAL_SUPPORT + cm->msg.sys_guid = system_guid; /* network order */ +#else + cm->msg.sys_guid = rand(); +#endif memcpy(&cm->msg.saddr1.gid[0], &smd->md->addr.gid, 16); mcm_qlisten(smd, cm); @@ -1637,7 +1641,11 @@ static int mix_cm_rep_out(mcm_scif_dev_t *smd, dat_mix_cm_t *pmsg, scif_epd_t sc mcm_pr_addrs(2, &m_cm->msg, m_cm->state, 0); /* return sys_guid */ +#ifdef MPXYD_LOCAL_SUPPORT m_cm->msg.sys_guid = system_guid; +#else + m_cm->msg.sys_guid = rand(); +#endif if (qp) { if (mcm_modify_qp(qp, IBV_QPS_RTR, dqpn, dlid, dgid)) @@ -1706,8 +1714,11 @@ static int mix_cm_rej_out(mcm_scif_dev_t *smd, dat_mix_cm_t *pmsg, scif_epd_t sc /* update CM message from MIX client, send back guid */ memcpy(&m_cm->msg, &pmsg->msg, sizeof(dat_mcm_msg_t)); +#ifdef MPXYD_LOCAL_SUPPORT m_cm->msg.sys_guid = system_guid; - +#else + m_cm->msg.sys_guid = rand(); +#endif /* send rej on wire */ mcm_cm_rej_out(smd->md, &m_cm->msg, MCM_REJ_USER); return 0; diff --git a/dapl/svc/mpxy_out.c b/dapl/svc/mpxy_out.c index 87d5c40..056f445 100644 --- a/dapl/svc/mpxy_out.c +++ b/dapl/svc/mpxy_out.c @@ -595,7 +595,7 @@ retry_mr: mcm_map_str(m_qp->cm->msg.daddr1.ep_map)); mcm_pr_addrs(1, &m_qp->cm->msg, m_qp->cm->state, 0); } - if (retries == 500) { + if (retries == 1000) { ret = ENOMEM; wc_err = IBV_WC_RETRY_EXC_ERR; goto bail; @@ -722,7 +722,7 @@ retry_mr: mcm_map_str(m_qp->cm->msg.daddr1.ep_map)); mcm_pr_addrs(1, &m_qp->cm->msg, m_qp->cm->state, 0); } - if (retries == 500) { + if (retries == 1000) { ret = ENOMEM; wc_err = IBV_WC_RETRY_EXC_ERR; goto bail; -- 2.41.0