[ofiwg] async fi_av_insert

Reese Faucette (rfaucett) rfaucett at cisco.com
Mon Oct 20 16:58:09 PDT 2014

Fi_av_insert() and friends are defined to proceed asynchronously when an EQ is bound to the AV, but it's not clear how the caller should map the completions back to the original insert request.   I suppose the fi_addr structure pointer passed in could be returned in the "context" field, but that constrains the use a little.  Shall we go with that for now?  If this proves unworkable in a real-world use case then we could add "fi_av_insert_context" when an array of context values are passed in, to be returned in the associated EQ with each insert completion?

Another thing - address resolution can complete "unsuccessfully" but non-fatally.  For example, if you try to find a route to a particular IP/port, that may fail with something like "host unreachable" but that is not an error in the underlying address resolution system.  Hence, av_insert requests need to have a "status" field in their completion struct.  I can see other completion types having this requirement, should we add "int status" to fi_eq_entry ?  Or let av_insert have its own completion struct with a status field?

If we extend fi_eq_entry, event will be "FI_COMPLETE", status will be insert completion/failure, fid will be the AV on which the insert was done, and context will be the fi_addr speficied in av_insert call.

Otherwise we add fi_eq_av_insert_entry, event becomes FI_AV_INSERT_COMPLETE, rest is same.

Sound right?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofiwg/attachments/20141020/c679cccd/attachment.html>

More information about the ofiwg mailing list