[ofw] Is multicasting supported in WinOFED?

Hefty, Sean sean.hefty at intel.com
Thu Mar 8 08:28:47 PST 2012


> "in a meaginful way" is a rather sibylline statement ;-) Does this mean it
> does not work at all or does it mean it works "somehow differently" in a way
> that prevents you from implementing the same semantics as on Linux in librdma?
> There seems to be code for multicasting in the datagram end point. From your
> answer, I assume that is for future use, right?

IB multicast requires the endpoint to join the multicast group with the IB SA.  This requires sending a message to the SA, which programs the switches so that multicast traffic can flow to/from the joining node.  When the endpoint wishes to leave the multicast group, it sends another message to the SA, which programs the switches to halt multicast traffic to the node.

The IB architecture specifies that the SA manages which endpoints are joined to a multicast group on a per port basis, and that a node is either joined or not.  The SA does not maintain any reference counting on the number of join requests that it receives from a node.  I.e. If it receives 10 join requests, followed by 1 leave request, the node will NOT be part of the multicast group.

This means that the endpoint itself must maintain some sort of reference count in order to support more than 1 user attached to a multicast group at a time.  The windows stack lacks this capability.  There is some support for joining and leaving multicast groups, but it only works if there is a single user of the group.  Otherwise, a second user can join the group, leave it, and result in the endpoint being removed from the group, without other users being aware.

So... that's what I mean by "in a meaningful way"...

- Sean



More information about the ofw mailing list