static void sock_set_domain_attr(void *src_addr, const struct fi_domain_attr *hint_attr, struct fi_domain_attr *attr) { struct sock_domain *domain; domain = sock_dom_list_head(); attr->domain = domain ? &domain->dom_fid : NULL; if (!hint_attr) { *attr = sock_domain_attr; goto out; } if (hint_attr->domain) { domain = container_of(hint_attr->domain, struct sock_domain, dom_fid); *attr = domain->attr; attr->domain = hint_attr->domain; goto out; }
static void sock_set_domain_attr(uint32_t api_version, void *src_addr, const struct fi_domain_attr *hint_attr, struct fi_domain_attr *attr) { struct sock_domain *domain; domain = sock_dom_list_head(); attr->domain = domain ? &domain->dom_fid : NULL; if (!hint_attr) { *attr = sock_domain_attr; if (FI_VERSION_LT(api_version, FI_VERSION(1, 5))) attr->mr_mode = FI_MR_SCALABLE; goto out; } if (hint_attr->domain) { domain = container_of(hint_attr->domain, struct sock_domain, dom_fid); *attr = domain->attr; attr->domain = hint_attr->domain; goto out; }