[openib-general] Re: ipoib multicast join/leave questions

Roland Dreier rdreier at cisco.com
Thu Mar 9 10:40:51 PST 2006


    Sean> I'm struggling to understand how ipoib handles
    Sean> joining/leaving multicast groups, so that it can be
    Sean> supported by a new multicast database module.  Will the
    Sean> following work for ipoib?

    Sean> Join - call will not block, always results in a callback.
    Sean> Leave - call may block.  I can limit blocking to only if the
    Sean> join request hasn't completed.

    Sean> Ipoib calls ib_sa_mcmember_rec_set and
    Sean> ib_sa_mcmember_rec_delete with gfp_mask set to GFP_ATOMIC,
    Sean> which makes me think that it cannot handle blocking in
    Sean> either call.

Actually some of those places maybe could block.  The only place that
definitely can't block is the send-only join initiated when sending a
multicast packet to a new group.

Leaving can block.  That GFP_ATOMIC is unnecessary.  However the IPoIB
module can't really do anything if leaving fails, so it would probably
make more sense for the leave call to just drop IPoIB's reference to
the multicast group and return.  There's no sensible status that IPoIB
or another consumer can use, I don't think.

So yes, I think your design would work fine.

 - R.



More information about the general mailing list