Multicast via switch between two Windows machines does not work

Hello,

I encountered an issue with IB multicast data between 2 Windows computers with ConnectX-3 Mellanox adapters via IB switch.

Multicast does not work: Mellanox counters on the sender machine measure an expected rate of outgoing messages but a receiver machine’ counters keep silence.

OpenSM was running on the third (Linux) machine.

A receiver application creates a multicast group:

using group’s MGID

member_rec.qkey = 0xb0b10000

member_rec.pkey = 0xFFFF

A sender application then sends messages to that group without joining it:

using group’s MGID

dgrm.ud.remote_qp = 0xFFFFFF00 (instead of 0xFFFFFF as specified in “InfiniBandTM Architecture Specification Volume 1 Release 1.2.1”)

dgrm.ud.remote_qkey = 0

dgrm.ud.pkey_index = 0

Multicast works as expected when the same two machines connect to each other directly (without a switch).

Also multicast traffic is successfully transferred on the only one of these machines using a loopback feature.

Unreliable datagram communication works without problems.

IPoIB multicast works without problems

May be someone knows how to make the switch to transfer IB multicast data to subscribers?

In InfiniBand UD multicast, the sender must also join the multicast group. Furthermore, when two or more applications join the same group, a Multicast Forwarding Table (MFT) is created on the switch, enabling multicast forwarding. If the servers are directly connected without a switch (back-to-back), packets are delivered straight to the receiving server. In this case, it operates normally as long as the QP (Queue Pair) is attached to the multicast group.