Walukiewicz, Miroslaw wrote: > The mckey works on UD_QP type and mcraw works on RAW_QP type. > The data payload prepared for UD and RAW_QP are on different layers. > The mckey uses rdma_join_multicast() that triggers a state machine for IB > multicast joining. > The mcraw does not trigger such state machine because for sending the > ethernet multicast there is > no need for any multicast joining state machine. The multicast destination > address on ethernet > is determined by multicast group address.
Miroslaw, I tend not to agree with the entire set of your arguments, to start with, for example, the code issues IP_ADD_MEMBERSHIP call on a socket and also computes the actual L2 address derived from the L3 multicast address. If these ops are required for raw ethernet multicast operation, you can enhance the rdmacm to have rdma_join_multicast carry these ops similarly to what it does for PS_UDP and PS_IPOIB over IB (determine the L2 address, join through the relevant state machine, etc). Its not that you claim to be able to run raw multicast without any relation to the rdma-cm, e.g. you even want this code to be shipped by librdmacm... so lets understand the architecture, for example what port space is needed here, looking on the code, it looks like you want it to operate in the same manner as PS_IPOIB,so maybe extend this port space or declare an equivalent one for ethernet. Or. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
