[ofw] patch: [ibbus] Add A new function to IBAL that allows one to create a multicast group without attaching a QP to it.

Hefty, Sean sean.hefty at intel.com
Tue Feb 15 10:07:16 PST 2011


> 1) On ib_join_mcast( ...,  ib_mcast_handle_t *h_mcast); the h_mcast gets
> back to the user from the call back.
> I guess that there is no problem to return the h_mcast in the call itself
> but are we sure this has a good reason?

This allows the user to cancel the join operation without destroying everything by closing their al instance.  For example, after issuing a join, they can immediately respond to an SM change, reregister, or other event by freeing the join and issuing a new one.  Without this, handling those events becomes more difficult.

Hmm... on the Linux side, the multicast module reports those types of events against the join request.  The user can receive multiple (serialized) callbacks for a single join call.  How does ibal handle errors on a multicast group after a successful join?

> 2) " Personally, I'm fine requiring the caller to handle the cleanup
> (provided the kernel cleans up after user space)."
> Doesn't this has an influence on the API which would actually force us to
> have something else in the API (for example h_al) or something similar.

Not necessarily.  The user to kernel proxy code needs to associate the h_mcast with another object, such as the file, but that doesn't have to be in the kernel API.  The proxy code must free the multicast object when the file is closed.  You can look at the winverbs kernel cleanup code as an example.

- Sean



More information about the ofw mailing list