[ofiwg] fi_alias to fi_ep_alias?

Jose, Jithin jithin.jose at intel.com
Tue Apr 12 15:25:38 PDT 2016

We have fi_alias defined as the following:

int fi_alias(struct fid_ep *ep, fid_t *alias_ep, uint64_t flags);

But, this could be annoying for the applications to use the ‘alias_ep', since all the tx/rx operations use struct fid_ep*. Apps will have to either do a “container_of” and get back fid_ep*, or cast fid_ep to fid_t* in the fi_alias call (since struct fid is the first element in struct fid_ep). Both these options does not look very clean.

Instead, should we change the API as fi_ep_alias with the following signature?
int fi_ep_alias(struct fid_ep *ep, struct fid_ep **alias_ep, uint64_t flags);

This will break ABI compatibility, but not sure if there are any applications that currently use fi_alias.
Another option is to keep fi_alias and add the new API fi_ep_alias (which internally calls fi_alias).

Any thoughts/preferences?

- Jithin

More information about the ofiwg mailing list