[openib-general] Re: ipoib multicast join/leave questions
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.
More information about the general