Hey Sasha, See below:
On Mon, 27 Apr 2009 14:50:26 -0700 Ira Weiny <[email protected]> wrote: > On Sat, 25 Apr 2009 18:54:41 +0300 > Sasha Khapyorsky <[email protected]> wrote: > > > On 13:31 Thu 23 Apr , Ira Weiny wrote: [snip] > > > + } > > > + > > > + report_suppressed(); > > > + > > > + if (switch_guid) { > > > + ibnd_node_t *node = ibnd_find_node_guid(fabric, switch_guid); > > > + print_node(node, NULL); > > > + } else if (dr_path) { > > > + ibnd_node_t *node = ibnd_find_node_dr(fabric, dr_path); > > > + print_node(node, NULL); > > > > When GUID or DR Path are specified we don't need to discover whole > > fabric, but can try to resolve LID using SA or querying PortInfo. > > > > Although when in GUID is specified and SA is not responsive there is > > probably no other choice than discover. > > > > :-( good point. Discovering only part of the fabric was a huge speed > improvement but if the resolve does not succeed I should do a full discover. > > I will work up a separate patch. Right now you are correct if the SA is > unresponsive the "-S" option will fail. iblinkinfo does the full scan every > time. But that slows down the query for a single switch to the same O(n) > query that a full system scan requires. I would rather have that query be > O(1). So I implemented ibqueryerrors in this manner with the intent of going > back and "fixing" iblinkinfo. I think having a fall back on a full system > scan is a good idea. Patch for both tools will follow... :-D > Following up on what I said I would do above. This turned out to be a 3 patch series. Summary of patches (to pq/ibn4) are below. 1/3) I had to fix libibmad DRSLID/DRDLID fields. (See my 1 man thread from a couple of days ago... ;-) 2/3) ibnetdiscover (and therefore libibnetdisc) was not designed to use combined DR routing for discovery. Add combined routing support to libibnetdisc. 3/3) Make iblinkinfo resolve a portid from GUID. Then change iblinkinfo and ibqueryerrors to attempt a single hop discovery around that portid. If either resolving the GUID or discover fails they both attempt a full discover. Then they print the single switch asked for on the command line. Patches follow, Ira _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
