From f72e3b3f31096898ee86dbe511b33e4f31d1d4c4 Mon Sep 17 00:00:00 2001 From: Arlin Davis Date: Thu, 30 Jul 2015 08:15:22 -0700 Subject: [PATCH] mcm: intra-node proxy missing LID setup on rejects Signed-off-by: Arlin Davis --- dapl/svc/mcm.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dapl/svc/mcm.c b/dapl/svc/mcm.c index c67b16f..8cc3473 100644 --- a/dapl/svc/mcm.c +++ b/dapl/svc/mcm.c @@ -904,9 +904,17 @@ int mcm_cm_rej_out(mcm_ib_dev_t *md, dat_mcm_msg_t *msg, DAT_MCM_OP type, int sw memcpy(&smsg.saddr2, &msg->saddr2, sizeof(dat_mcm_addr_t)); } + /* intra-node; addr1 == mic lid, addr2 == cm lid */ + if (md->m_lid) { + smsg.saddr1.lid = md->m_lid; + memcpy(&smsg.saddr1.gid[0], &md->m_gid, 16); + } + smsg.saddr2.lid = md->addr.lid; + memcpy(&smsg.saddr2.gid[0], &md->addr.gid, 16); + mlog(2," sLID %x, sQPN %x sPORT %x -> dLID %x, dQPN %x dPORT %x\n", - ntohs(smsg.saddr1.lid), ntohl(smsg.sqpn), ntohs(smsg.sport), - ntohs(smsg.daddr1.lid), ntohl(smsg.dqpn), ntohs(smsg.dport)); + ntohs(smsg.saddr2.lid), ntohl(smsg.sqpn), ntohs(smsg.sport), + ntohs(smsg.daddr2.lid), ntohl(smsg.dqpn), ntohs(smsg.dport)); if (type == MCM_REJ_USER) MCNTR(md, MCM_CM_REJ_USER_OUT); -- 2.46.0