Additional info:
Init data for ib_join_mcast
(joinInit - data from config - they are correct because messages were received):
ib_mcast_req_t mcast_req;
memset(&mcast_req, 0, sizeof(mcast_req));
mcast_req.create = 1;
mcast_req.mcast_context = this;
mcast_req.pfn_mcast_cb = &ib_pfn_mcast_cb;
mcast_req.timeout_ms = (uint32_t)-1;
mcast_req.retry_cnt = 3;
mcast_req.flags = IB_FLAGS_SYNC;
mcast_req.port_guid = joinInit.recvPort_.guid_;
mcast_req.pkey_index = 0;
mcast_req.member_rec.mgid = joinInit.mcastGroupGid_;
mcast_req.member_rec.pkey = joinInit.pkey_.net_;
mcast_req.member_rec.qkey = joinInit.qkey_;
mcast_req.member_rec.rate = joinInit.rate_;
mcast_req.member_rec.port_gid = joinInit.recvPort_.gid_;
mcast_req.member_rec.mtu = joinInit.mtu_;
mcast_req.member_rec.tclass = joinInit.serviceLevel_;
mcast_req.member_rec.pkt_life = 0x81;
mcast_req.member_rec.sl_flow_hop = 0;
mcast_req.member_rec.scope_state = 0x01;
mcast_req.member_rec.proxy_join = 0;