[ofa-general] Re: [PATCH] opensm/osm_multicast.c: bug with joining/leaving mcast group

Sasha Khapyorsky sashak at voltaire.com
Mon Nov 10 11:43:34 PST 2008


On 21:18 Mon 10 Nov     , Yevgeny Kliteynik wrote:
> Hi Sasha,
>
> Sasha Khapyorsky wrote:
>> Hi Yevgeny,
>> On 16:36 Mon 10 Nov     , Yevgeny Kliteynik wrote:
>>> I think there's a bug in the osm_mgrp_add/remove_port functions.
>>> If some mcast group member has JoinState 0x1 (full member),
>>> and then new join from the same port received with JoinState
>>> 0x2 (non member), OpenSM will reduce number of full members
>>> of this group, which eventually might cause group deletion.
>> Right, isn't this how things should work? When full member updates it
>> state to non member the number of full members are reduced, and then
>> last full member leaves the MC group is deleted (o15-0.2-1.9).
>
> I thought so too, but turns out that it's wrong:
>
> o15-0.1.11: If SA supports UD multicast, then if an endport joins a
> multicast group as specified in o15-0.1.10:, SA shall replace the
> endport?s current MCMemberRecord:JoinState component with the logical
> OR of the MCMemberRecord:JoinState component with the endport?s current
> MCMemberRecord:JoinState component if the endport had joined this
> multicast group before.
>
> So the full member doesn't update its state to non-member, but rather
> adds additional bit to the JoinState (the non-member).

Ok. I see now.

Applied. Thanks.

Sasha



More information about the general mailing list