Discussion:
unknown
1970-01-01 00:00:00 UTC
Permalink
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 end=
point 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 joine=
d to a multicast group on a per port basis, and that a node is either joine=
d 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 r=
equests, followed by 1 leave request, the node will NOT be part of the mult=
icast group.

This means that the endpoint itself must maintain some sort of reference co=
unt 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 sing=
le user of the group. Otherwise, a second user can join the group, leave i=
t, and result in the endpoint being removed from the group, without other u=
sers being aware.

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

- Sean

Loading...