[libfabric-users] Shared Rx and Connected

Doug Oucharek dougso at me.com
Mon Sep 9 13:00:16 PDT 2019

For the immediate future, I think I can work around not having readfrom by exchanging some local 64-bit context information as the parameters for connect and accept.  Then, change fi_send calls to fi_senddata and provide the remote’s context as the data.  This will provide an easy way to map an incoming message to a local context.  

Longer term, it seems we could really use another fi_cq_readfrom() specific to connected endpoints.  Rather than return an fi_addr_t, it should return a fid_ep pointer.  It would be great to extend fi_cq_readfrom() with an extra parameter, but that would break existing code so perhaps creating a new call would be best.  Something like:

ssize_t fi_cq_readfromconn(struct fid_cq *cq, void *buf, size_t count,
    struct fid_eq **src_ep);
The local context could be retrieved from the context of the src_ep’s.  

Did you want me to create an issue on this to track it?


> On Sep 9, 2019, at 11:00 AM, Hefty, Sean <sean.hefty at intel.com> wrote:
>> It seems to me that using a Shared Rx context and 1 CQ with connected endpoints is very
>> much like running connectionless: when a message is received, I cannot see an obvious
>> way to determine the source of the message.  The CQ entry does not have the endpoint in
>> it and I cannot get AVs to work with the TCP or verbs provider (thus I cannot use
>> fi_cq_readfrom).
> I agree - this is an issue.
>> Is there an easy way to determine the source address/endpoint of a received message in
>> this scenario?  Would it make sense to include the ep fid in the CQ entry to help?
> Some sort of extension is needed here.  I'm not sure what the best answer is.  IMO, the ideal solution would make use of fi_cq_readfrom(), so that the source data is reported the same way regardless of EP type.  I just don't see a clean way to do this off the top of my head.
> - Sean

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/libfabric-users/attachments/20190909/1b3e985d/attachment.html>

More information about the Libfabric-users mailing list