[openib-general] multicast code/merge status

Sean Hefty mshefty at ichips.intel.com
Tue Jan 9 10:06:51 PST 2007


> My thought re this was that since the rest of the original patch 
> sequence specifically the rdma_cm UDP and ucma code are merged in 
> 2.6.20-rcX which is the code OFED 1.2 is based on, the easy path for you 
> would be to stage the multicast code for upstream push to 2.6.21 and 
> then push the code as to OFED 1.2, what do you think?

I think shooting for 2.6.21 is fine, but...

> Other then that, as we discussed in SC06 there are some changes that 
> need to be integrated in the code to allow for interoperability between 
> a multicast rdma cm based app to IPoIB, specifically removing the RDMA 
> CM signature from the mgid which generated from the ip addr and pkey, 
> but not only.

...I have not completed these changes yet.  Specifically, I have not added a 
send only join parameter or changed the qkey.

I have also not full examined an issue where the SM log fills up with bad 
multicast join requests.

> The second change is related to the qkey, looking in the current code
> of cma_join_ib_multicast() (at the multicast-sa_cache branch of the 
> rdma-dev git) i see that the qkey is the mc ip address, which is not 
> consistent with what librdmacm is assuming (0x1234567 etc).

This is a bug in the kernel code.  It should be using the standard qkey of 
0x12345678 - for now anyway.

> Anyway, what we need here is to plug into the scheme of ipoib which uses 
>   the qkey associated with the ipv4 broadcast multicast group. It turns 
> out that there is some twilight zone here which i am working to 
> understand better. You can see that for the ipv4 brd group ipoib lets 
> the SM to allocate the group and qkey (ie the create param of 
> ipoib_mcast_join is zero), i will give it some thought and let you know 
> how i think the rdma cm can plug into this scheme, will be happy to get 
>   other ideas as well.

The rdma_cm knows the qkey that ipoib uses before it joins a multicast group. 
See cma_join_ib_multicast() - call to ib_sa_get_mcmember_rec().

- Sean




More information about the general mailing list