RE: [PATCH 26/26] rdma/ucm: allow user space to specify AF_IB when joining multicast

Sean Hefty
2010-04-01T17:46:06Z

>> } else if ((addr->sa_family == AF_INET6)) {
>> ipv6_ib_mc_map(&sin6->sin6_addr, dev_addr->broadcast, mc_map);
>> - if (id_priv->id.ps == RDMA_PS_UDP)
>> + if (id_priv->id.ps == RDMA_PS_UDP || id_priv->id.ps ==
RDMA_PS_IB)
>> mc_map[7] = 0x01; /* Use RDMA CM signature */
>> *mgid = *(union ib_gid *) (mc_map + 4);
>
>What does the combination of AF_INET/INET6 and RDMA_PS_IB mean?

This indicates that the rdma_cm_id is bound to AF_IB/RDMA_PS_IB, but that the
multicast join address was provided using AF_INET6. The 'else' code that
follows the above code:

} else {
ip_ib_mc_map(sin->sin_addr.s_addr, dev_addr->broadcast, mc_map);
- if (id_priv->id.ps == RDMA_PS_UDP)
+ if (id_priv->id.ps == RDMA_PS_UDP || id_priv->id.ps ==
RDMA_PS_IB)
mc_map[7] = 0x01; /* Use RDMA CM signature */
*mgid = *(union ib_gid *) (mc_map + 4);
}

is similar, except that the multicast join address was specified using AF_INET.

- Sean