On 11:30 Wed 18 Aug , Doron Shoham wrote: > add '-f' flag to show full information (ports' speed and witdh). > mainly to work with ibsim (using links real speed and width).
Seems almost fine. However see the comments below. > > Signed-off-by: Doron Shoham <[email protected]> > --- > infiniband-diags/src/ibnetdiscover.c | 10 +++++++++- > 1 files changed, 9 insertions(+), 1 deletions(-) > > diff --git a/infiniband-diags/src/ibnetdiscover.c > b/infiniband-diags/src/ibnetdiscover.c > index f20058c..0a020a2 100644 > --- a/infiniband-diags/src/ibnetdiscover.c > +++ b/infiniband-diags/src/ibnetdiscover.c > @@ -77,6 +77,7 @@ static char *diff_cache_file = NULL; > static unsigned diffcheck_flags = DIFF_FLAG_DEFAULT; > > static int report_max_hops = 0; > +static int full_info = 0; > > /** > * Define our own conversion functions to maintain compatibility with the old > @@ -357,6 +358,8 @@ void out_switch_port(ibnd_port_t * port, int group, char > *out_prefix) > ext_port_str ? ext_port_str : ""); > if (port->remoteport->node->type != IB_NODE_SWITCH) > fprintf(f, "(%" PRIx64 ") ", port->remoteport->guid); > + if (full_info) > + fprintf(f, " s=%d w=%d", ispeed, iwidth); I think that in order to not potentially break any ibnetdiscover output parsers it would be better to put such "f" output after a comment line. Would it work with ibsim in a same way? > fprintf(f, "\t\t# \"%s\" lid %d %s%s", > rem_nodename, > port->remoteport->node->type == IB_NODE_SWITCH ? > @@ -396,7 +399,8 @@ void out_ca_port(ibnd_port_t * port, int group, char > *out_prefix) > rem_nodename = remap_node_name(node_name_map, > port->remoteport->node->guid, > port->remoteport->node->nodedesc); > - > + if (full_info) > + fprintf(f, " s=%d w=%d", ispeed, iwidth); Ditto. Sasha > fprintf(f, "\t\t# lid %d lmc %d \"%s\" lid %d %s%s\n", > port->base_lid, port->lmc, rem_nodename, > port->remoteport->node->type == IB_NODE_SWITCH ? > @@ -926,6 +930,9 @@ static int process_opt(void *context, int ch, char > *optarg) > case 's': > cfg->show_progress = 1; > break; > + case 'f': > + full_info = 1; > + break; > case 'l': > list = LIST_CA_NODE | LIST_SWITCH_NODE | LIST_ROUTER_NODE; > break; > @@ -964,6 +971,7 @@ int main(int argc, char **argv) > ibnd_fabric_t *diff_fabric = NULL; > > const struct ibdiag_opt opts[] = { > + {"full", 'f', 0, NULL, "show full information (ports' speed and > witdh)"}, > {"show", 's', 0, NULL, "show more information"}, > {"list", 'l', 0, NULL, "list of connected nodes"}, > {"grouping", 'g', 0, NULL, "show grouping"}, > -- > 1.5.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
