Multicast via switch between two Windows machines does not work


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?