* [PATCH 14/13] opensm/osm_sa_guidinfo_record.c: In set_guidinfo, better SM reassigned guid handing
@ 2011-11-22 20:24 Hal Rosenstock
0 siblings, 0 replies; only message in thread
From: Hal Rosenstock @ 2011-11-22 20:24 UTC (permalink / raw)
To: Alex Netes
Cc: linux-rdma (linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org)
When an SM assigned guid is rerequested and one has already been assigned
at that index for that port, allow this and return the guid in the proper
index in the SA response rather than indicating ERR 5108 due to duplicate.
Signed-off-by: Hal Rosenstock <hal-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
diff --git a/opensm/osm_sa_guidinfo_record.c b/opensm/osm_sa_guidinfo_record.c
index a1bb166..e363e81 100644
--- a/opensm/osm_sa_guidinfo_record.c
+++ b/opensm/osm_sa_guidinfo_record.c
@@ -537,7 +537,28 @@ static void set_guidinfo(IN osm_sa_t *sa, IN osm_madw_t *p_madw,
set_alias_guid = p_assigned_guids->assigned_guid[i];
if (set_alias_guid) {
p_rcvd_rec->guid_info.guid[i % 8] = set_alias_guid;
- goto add_alias_guid;
+ p_item = cl_qmap_get(&sa->sm->p_subn->alias_port_guid_tbl,
+ set_alias_guid);
+ if (p_item == cl_qmap_end(&sa->sm->p_subn->alias_port_guid_tbl))
+ goto add_alias_guid;
+ else {
+ p_alias_guid = (osm_alias_guid_t *) p_item;
+ if (p_alias_guid->p_base_port != p_port) {
+ OSM_LOG(sa->p_log,
+ OSM_LOG_ERROR,
+ "ERR 5110: "
+ " Assigned alias port GUID 0x%" PRIx64
+ " index %d base port GUID 0x%" PRIx64
+ " now attempted on port GUID 0x%" PRIx64
+ "\n",
+ cl_ntoh64(p_alias_guid->alias_guid), i,
+ cl_ntoh64(p_alias_guid->p_base_port->guid),
+ cl_ntoh64(p_port->guid));
+ /* clear response guid at index to indicate duplicate */
+ p_rcvd_rec->guid_info.guid[i % 8] = 0;
+ }
+ continue;
+ }
}
}
}
--
1.7.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-11-22 20:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-22 20:24 [PATCH 14/13] opensm/osm_sa_guidinfo_record.c: In set_guidinfo, better SM reassigned guid handing Hal Rosenstock
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox