Re: [PATCH 1/2] opensm: fail if configured torus port order references a port not available in all switches

2011-06-03 Thread Alex Netes
On 16:33 Wed 01 Jun , Jim Schutt wrote:
 
 Signed-off-by: Jim Schutt jasc...@sandia.gov
 ---

Applied, thanks.
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] opensm: fail if configured torus port order references a port not available in all switches

2011-06-01 Thread Jim Schutt

Signed-off-by: Jim Schutt jasc...@sandia.gov
---
 opensm/osm_torus.c |   24 
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/opensm/osm_torus.c b/opensm/osm_torus.c
index 29c1bb4..47654ce 100644
--- a/opensm/osm_torus.c
+++ b/opensm/osm_torus.c
@@ -856,9 +856,6 @@ bool parse_port(unsigned *pnum, const char *parse_sep)
if (!val)
return false;
*pnum = strtoul(val, nextchar, 0);
-   if (*pnum  IB_NODE_NUM_PORTS_MAX) {
-   *pnum = 0;
-   }
return true;
 }
 
@@ -7018,7 +7015,8 @@ static
 bool verify_setup(struct torus *t, struct fabric *f)
 {
struct coord_dirs *o;
-   unsigned n = 0;
+   struct f_switch *sw;
+   unsigned p, s, n = 0;
bool success = false;
bool all_sw_present, need_seed = true;
 
@@ -7044,6 +7042,24 @@ bool verify_setup(struct torus *t, struct fabric *f)
with two QoS levels (have %d need 8)\n,
(int)t-osm-subn.min_data_vls);
/*
+* Be sure all the switches in the torus support the port
+* ordering that might have been configured.
+*/
+   for (s = 0; s  f-switch_cnt; s++) {
+   sw = f-sw[s];
+   for (p = 0; p  sw-port_cnt; p++) {
+   if (t-port_order[p] = sw-port_cnt) {
+   OSM_LOG(t-osm-log, OSM_LOG_ERROR,
+   Error: port_order configured using 
+   port %u, but only %u ports in 
+   switch w/ GUID 0x%04PRIx64\n,
+   t-port_order[p],  sw-port_cnt - 1,
+   cl_ntoh64(sw-n_id));
+   goto out;
+   }
+   }
+   }
+   /*
 * Unfortunately, there is a problem with non-unique topology for any
 * torus dimension which has radix four.  This problem requires extra
 * input, in the form of specifying both the positive and negative
-- 
1.6.2.2


--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html